1 useradd # 添加用户 2 userdel # 删除用户 3 usermod # 修改用户信息 ? # 创建用户 [root@localhost ~]# useradd user1 # 查看用户 [root@localhost ~]# id user1 uid=1002(user1) gid=1003(user1) 组=1003(user1) [root@localhost ~]# who # 查看所有登录的?户信息 [root@localhost ~]# whoami # 查看当前登录的?户名 ‘注意‘: 当创建?个?户时,如果没有指定?户的主组,将会创建?个同名的组作为?户的主组 # 删除用户 ? [root@localhost ~]# userdel user1 # 删除?户user1,但不删除?户家?录和mail ? [root@localhost ~]# userdel -r user1 # 要想删彻底,加-r选项
1.1 useradd命令
# 怎样在Linux系统中添加?个新的?户账户 ? 1) 掌握useradd命令的功能:新增?个?户。 2) 了解useradd命令的常?选项: 3) –u:指定?户的UID 4) –g:指定?户所属的主群 –G:指定?户所属的附加群 5) –d:指定?户的家?录 6) –c:指定?户的备注信息 7) –s:指定?户所?的shell 8) -e:修改过期时间 9) -M: 不创建家?录 10) -r: 创建系统账户,uid处于系统?户范围内,默认就没有家?录 ? #灵活应?useradd命令的举例: ? a) 例如:在系统中新增?个fox(狐狸)?户的命令:useradd fox b) 例如:在系统中新增?个?户user01,属组为police以及uid为600的命令: useradd –u 600 –g police user01 ? ==================================================================== ? # 其他练习 [root@root ~]# useradd user01 [root@root ~]# useradd user02 -u 503 # 创建?户usr02,指定uid [root@root ~]# useradd user03 -d /aaa # 创建?户user03 指定家?录 [root@root ~]# useradd user04 -M # 创建?户user04,不创建家?录 [root@root ~]# useradd user05 -s /sbin/nologin # 创建?户并指定shell [root@root ~]# useradd user06 -g hr # 创建?户,指定主组 [root@root ~]# useradd user07 -G sale # 创建?户,指定附加组 [root@root ~]# useradd user08 -e 2014-04-01 # 指定过期时间 [root@root ~]# useradd user10 -u 4000 -s /sbin/nologin [root@aliyum ~]# useradd xxx -M -s /sbin/nologin # 创建普通?户,但是没有家?录,不能登录系统 [root@aliyum ~]# useradd -r yyy -s /sbin/nologin # yyy属于系统?户,uid处于系统?户uid范围内
1.2 usermod命令
# 同useradd参数基?致,只不过useradd是添加,usermod是修改 ? -u # 指定要修改?户的UID -g # 指定要修改?户基本组 -a # 将?户添加到补充组。仅与-G选项?起使? -G # 指定要修改?户附加组,使?逗号隔开多个附加组, 覆盖原有的附加组 -d # 指定要修改?户家?录 -c # 指定要修改?户注释信息 -s # 指定要修改?户的bash shell [root@root ~]# usermod -e 2013-02-11 user1000 # 修改过期时间 [root@root ~]# usermod -g group1 jj # 修改主组 [root@root ~]# usermod -a -G group2 jj # 修改附加组,-a添加,不加-a代表覆盖 其他选项 -m # 将?户主?录的内容移动到新位置。如果当前主?录不存在,则不会创建新的主?录 -l # 指定要修改?户的登陆名 -L # 指定要锁定的?户 -U # 指定要解锁的?户
1.3 设定与修改密码
passwd # 默认给当前?户设定密码 passwd ?户名 # root?户可以给??以及所有其他?户设定密码,普通?户只能设定??的密码 echo "密码" | passwd --stdin ?户名 # ?交互式 # 补充:可以利?系统内置变量?成随机字符串来充当密码 [root@aliyum ~] # echo $RANDOM|md5sum|cut -c 1-10 70ba11a74b
2 组管理
1 创建组:groupadd 2 修改组:groupmod 3 删除组:groupdel
2.1 groupadd命令
[root@aliyum ~] # groupadd gg1 #创建基本组, 不指定gid [root@aliyum ~] # tail -1 /etc/group gg1:x:2005: [root@aliyum ~] # groupadd -g 5555 gg2 #创建基本组, 指定gid为5555 [root@aliyum ~] # tail -1 /etc/group gg2:x:5555: [root@aliyum ~] # groupadd -r gg3 # 创建系统组,gid从201-999 [root@aliyum ~] # tail -1 /etc/group gg3:x:991:
2.2 groupmod命令
[root@aliyum ~] # groupmod -g 1111 gg3 [root@aliyum ~] # tail -1 /etc/group gg3:x:1111: [root@aliyum ~] # groupmod -n new_gg3 gg3 # -n 修改组名称 [root@aliyum ~] # tail -1 /etc/group new_gg3:x:1111:
?
2.3 groupdel命令
# 如果?个组是?个?户的主组,那么该组不能被删除,删掉?户会默认?起删掉他的主组 [root@aliyum ~] # useradd egon1 [root@aliyum ~] # groupadd devops [root@aliyum ~] # usermod -G devops egon1 [root@aliyum ~] # id egon1 uid=2004(egon1) gid=2004(egon1) groups=2004(egon1),5556(devops) [root@aliyum ~] # groupdel devops # 附加组可以删除 [root@aliyum ~] # id egon1 # 查看?户,发现他的附加组没有了 uid=2004(egon1) gid=2004(egon1) groups=2004(egon1) [root@aliyum ~] # groupdel egon1 # ?法删除组egon1,因为组egon1属于egon1?户的主组 groupdel: cannot remove the primary group of user ‘egon1‘
?
总结
# 权限管理与用户组管理 RBAC 权限管理 可读权限组 可写权限组 可执行权限组 # id 获取当前用户的信息 # whoami 获取当前用户 ps:用户uid小于1000的是系统用户 用户uid大于等于1000的是普通用户 创建用户:useradd 删除用户:userdel 修改用户:usermod 修改密码:passwd 创建组:groupadd 修改组:groupmod 删除组:groupdel /etc/passwd 用户配置文件 /etc/shadow 用户的密码文件 /etc/group 用户组 /etc/gshadow 用户组密码文件 # 手动创建用户 1、创建用户组:/etc/group 2、创建用户组密码文件:/etc/gshadow 3、创建用户:/etc/passwd 4、创建用户密码:/etc/shadow 5、创建家目录 6、修改权限,复制隐藏文件 # 权限 自己 自己组 其他 rwx rwx rwx 421 421 421 # 用户组可以关联多个用户 文件默认初始:666 # 偶数位直接相减,奇数位相减后加1 目录默认初始:777 # 直接相减即可 root :umask 022 文件:644 目录:755 user1:umask 002 文件:422 目录:422