
linux学习之旅之linux用户与组管理一、用户基础1、普通用户普通用户是Linux系统中除了root用户之外的所有用户。它们的权限受到限制只能访问和操作自己被 授权的文件和目录。普通用户的UID通常大于0且每个用户都有一个唯一的UID和用户名。 Centos6的普通用户是从 500的id开始而Centos7|ubuntu之后的普通用户id是从1000开始的。2、管理员用户rootRoot用户是Linux系统中的超级用户拥有对系统的完全控制权。它可以执行系统中的任何命令访问 任何文件以及更改系统配置。在Linux系统中root用户的用户IDUID是0。3、系统用户配置文件/etc/passwd/etc/passwd:存放系统用户信息 格式 用户名占位符【X】用户id【UID】所属组id【gid】用户描述:家目录:默认Shell xyx :x :1000 :1000 :xyx,,, :/home/xyx :/bin/bash4、系统组配置文件/etc/group/etc/group:存放系统组信息 格式 组名占位符【X】组id[gid]组内成员列表 xyx:x :1000 :5、系统用户密码配置文件/etc/shadow/etc/shadow存放系统用户密码信息 格式 用户名:加密的密码::::::: xyx:$y$j9T$sxIaubscairy.OCsbjdasdhuhbJ.1w1zyPRSIkamksfnasfgnaskfbscbaUnn2f9:20636:0:99999:7:::二、组管理命令1、groupadd 创建组-r创建系统组 -g指定GID --help查看详细选项#创建组[rootrockyser ~]# groupadd devops[rootrockyser ~]# groupadd op#创建时指定GID[rootrockyser ~]# groupadd -g 3000 dba#验证是否创建[rootrockyser ~]# tail -3 /etc/groupdevops:x:1001: op:x:1002: dba:x:3000:2、groupmod 修改组#修改组名 -n 后面必须跟新组名[rootrockyser ~]# groupmod -n ops op#修改GID[rootrockyser ~]# groupmod -g 4000 devops[rootrockyser ~]# tail -3 /etc/groupdevops:x:4000: dba:x:3000: ops:x:1002:3、groupdel 删除组#删除组时组内不能有用户以该组为主组[rootrockyser ~]# groupdel ops[rootrockyser ~]# tail -3 /etc/groupnginx:x:991: devops:x:4000: dba:x:3000:4、groups - 查看用户所属组# 查看用户所属组[rootrockyser ~]# groups xyxxyx:xyx wheel[rootrockyser ~]# id xyxuid1000(xyx)gid1000(xyx)组1000(xyx),10(wheel)5、getent - 查看组中的成员# 查看组信息 [rootrockyser ~]# getent group wheel wheel:x:10:xyx三、用户管理命令主组用户的主要组每个用户必须有且只有一个附加组用户额外加入的组可以有0个或多个1、useradd 创建用户#Ubuntu创建用户时必须加-m和-s #创建xyx520用户并创建家目录-m指定shell为/bin/bash -s [rootrockyser ~]# useradd xyx520 -m -s /bin/bash #查看创建情况 [rootrockyser ~]# grep xyx520 /etc/passwd /etc/shadow /etc/group /etc/passwd:xyx520:x:1001:1001::/home/xyx520:/bin/bash /etc/shadow:xyx520:!:20662:0:99999:7::: /etc/group:xyx520:x:1001: #指定UID2000和主组devops不推荐 [rootrockyser ~]# useradd -u 2000 -g devops -m -s /bin/bash xyy [rootrockyser ~]# id xyy uid2000(xyy) gid4000(devops) 组4000(devops) #指定附属组dba,devops [rootrockyser ~]# useradd -m -s /bin/bash -G dba,devops myy [rootrockyser ~]# id myy uid2001(myy) gid2001(myy) 组2001(myy),4000(devops),3000(dba) #创建系统用户无法登陆 [rootrockyser ~]# useradd -r -s /sbin/nologin nginx #指定家目录/opt/nyy [rootrockyser ~]# useradd -m -s /bin/bash -d /opt/nyy nyy [rootrockyser ~]# ls -d /opt/nyy/ /opt/nyy/ [rootrockyser ~]# grep nyy /etc/passwd nyy:x:2002:2002::/opt/nyy:/bin/bash常见选项参数全称作用-r–system创建系统用户UID 1-999无家目录、禁止登录-u–uid指定自定义 UID例-u 1500-g–gid指定主组组必须提前存在-G–groups指定附加组多组逗号分隔-d–home-dir手动指定家目录路径-m–create-home自动创建家目录普通用户默认开启系统用户 - r 默认不创建-s–shell指定登录 shell/bin/bash可登录/sbin/nologin禁止登录2、usermod 修改用户#修改shell [rootrockyser ~]# usermod -s /bin/false xyx520 [rootrockyser ~]# grep xyx520 /etc/passwd xyx520:x:1001:1001::/home/xyx520:/bin/false #添加附加组-a必须加否则会覆盖 [rootrockyser ~]# usermod -aG dba xyx520 [rootrockyser ~]# id xyx520 uid1001(xyx520) gid1001(xyx520) 组1001(xyx520),3000(dba) #修改家目录 [rootrockyser ~]# usermod -d /opt/xyx520 -m xyx520 [rootrockyser ~]# grep xyx520 /etc/passwd xyx520:x:1001:1001::/opt/xyx520:/bin/false #修改密码 [rootrockyser ~]# passwd xyx520 新的密码 无效的密码 密码少于 8 个字符 重新输入新的密码 passwd已成功更新密码 #锁定用户可以观察shadow文件多了一个 [rootrockyser ~]# usermod -L xyx520 [rootrockyser ~]# grep xyx520 /etc/shadow xyx520:!$y$j9T$5YYmAuWoMkvtPxzoNU1W.1$TVJ/HTUKIXrebI6XtPaCUQr2ygD/ITw6piSoN7qlTu4:20662:0:99999:7::: #解开用户 [rootrockyser ~]# usermod -U xyx520 [rootrockyser ~]# grep xyx520 /etc/shadow xyx520:$y$j9T$5YYmAuWoMkvtPxzoNU1W.1$TVJ/HTUKIXrebI6XtPaCUQr2ygD/ITw6piSoN7qlTu4:20662:0:99999:7::: #修改用户名 [rootrockyser ~]# usermod -l xyx530 xyx520 [rootrockyser ~]# id xyx530 uid1001(xyx530) gid1001(xyx520) 组1001(xyx520),3000(dba) #修改UUID [rootrockyser ~]# usermod -u 3000 xyx530 [rootrockyser ~]# id xyx530 uid3000(xyx530) gid1001(xyx520) 组1001(xyx520),3000(dba) [rootrockyser ~]#3、userdel 删除用户[rootrockyser ~]# useradd user1 [rootrockyser ~]# useradd user2 [rootrockyser ~]# tail -2 /etc/passwd user1:x:3001:3001::/home/user1:/bin/bash user2:x:3002:3002::/home/user2:/bin/bash #删除用户user1会保留家目录 [rootrockyser ~]# userdel user1 [rootrockyser ~]# ls /home/ myy user1 user2 xyx xyy [rootrockyser ~]# rm -rf /home/user1 #删除用户user2不好保留家目录推荐-r [rootrockyser ~]# userdel -r user2 [rootrockyser ~]# ls /var/spool/mail/user2 ls: 无法访问 /var/spool/mail/user2: 没有那个文件或目录 [rootrockyser ~]# ls /home/user2 ls: 无法访问 /home/user2: 没有那个文件或目录 [rootrockyser ~]#4、修改密码#交互式 [rootrockyser ~]# passwd xyx530 新的密码 无效的密码 密码少于 8 个字符 重新输入新的密码 passwd已成功更新密码 #非交互式 [rootrockyser ~]# echo xyx530:123 | chpasswd5、rocky与ubuntu目录差异#创建用户 rockyuseradd xyx ubuntuseradd -m -s /bin/bash xyx #加入管理员组 rockyusermod -aG wheel xyx ubuntusermod -aG sudo xyx四、组成员管理gpasswd 组成员管理[rootrockyser ~]# id lyy uid991(lyy) gid990(lyy) 组990(lyy) #添加组dba [rootrockyser ~]# gpasswd -a lyy dba 正在将用户“lyy”加入到“dba”组中 [rootrockyser ~]# id lyy uid991(lyy) gid990(lyy) 组990(lyy),3000(dba) #删除组dba [rootrockyser ~]# gpasswd -d lyy dba 正在将用户“lyy”从“dba”组中删除 [rootrockyser ~]# id lyy uid991(lyy) gid990(lyy) 组990(lyy)五、su与sudo权限委派1、su切换用户#切换用户不切换环境 [rootrockyser ~]# su xyx530 #切换用户和环境推荐 [rootrockyser ~]# su - xyx530 # 切换并执行一条命令 [rootrockyser ~]# su - xyx -c ls -la # 切换为root [rootrockyser ~]# su -2、sudo权限委派普通用户临时获取管理员root权限执行命令不用切换 root 账号更安全。可修改赋予哪些权限更多sudo可查看链接08-linux学习之旅之进阶sudo-CSDN博客