Linux用户与组管理
Linux是一个多用户多任务的操作系统
分类
用户账户文件/etc/passwd
用户组账号文件 /etc/group
组账号文件 /etc/gshadow (加强组口令的安全性)
- 用户组名
- 加密组口令
- 组成员列表
查看个人账户文件
leafpad /etc/passwd
> tao:x:1000:1000:,,,:/home/tao:/bin/bash
登录名:tao
加密口令:x
UID: 1000
PID: 1000
Home目录:/home/tao
登录后执行的Shell:/bin/bash
每一个用户都有一个地方保存自己的配置文件,/home开始安排用户登录的子目录
命令
添加用户
useradd
- -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
- -d<登入目录>:指定用户登入时的启始目录;
- -D:变更预设值;
- -e<有效期限>:指定帐号的有效期限;
- -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
- -g<群组>:指定用户所属的群组;
- -G<群组>:指定用户所属的附加群组;
- -m:自动建立用户的登入目录;
- -M:不要自动建立用户的登入目录;
- -n:取消建立以用户名称为名的群组;
- -r:建立系统帐号;
- -s
:指定用户登入后所使用的shell; - -u
:指定用户id。
#建立一个新用户账户,并设置ID
useradd Tony -u 998
#密码管理
passwd Tony
修改用户信息
usermod
usermod 命令不允许你改变正在线上的使用者帐号名称。当 usermod 命令用来改变user id,必须确认这名user没在电脑上执行任何程序。
- -c<备注>:修改用户帐号的备注文字;
- -d<登入目录>:修改用户登入时的目录,只是修改/etc/passwd中用户的家目录配置信息,不会自动创建新的家目录,通常和-m一起使用;
- -m<移动用户家目录>:移动用户家目录到新的位置,不能单独使用,一般与-d一起使用。
- -e<有效期限>:修改帐号的有效期限;
- -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
- -g<群组>:修改用户所属的群组;
- -G<群组>;修改用户所属的附加群组;
- -l<帐号名称>:修改用户帐号名称;
- -L:锁定用户密码,使密码无效;
- -s
:修改用户登入后所使用的shell; - -u
:修改用户ID; - -U:解除密码锁定。
#将Tony 添加到组 Group3
usermod -G Tony Group3
#修改Tony的用户名为Amy
usermod -l Tony Amy
#锁定Tony的账号
usermod -L Tony
#解除锁定
usermod -U Tony
#修改用户家目录
usermod -md /data/new_home Tony
删除用户
userdel
删除给定的用户,以及与用户相关的文件
- -f:强制删除用户,即使用户当前已登录;
- -r:删除用户的同时,删除与用户相关的所有文件
userdel Tony
创建用户组
groupadd
- -g:指定新建工作组的id;
- -r:创建系统工作组,系统工作组的组ID小于500;
- -K:覆盖配置文件“/ect/login.defs”;
- -o:允许添加组ID号不唯一的工作组。
groupadd -g 556 Group1
修改用户组
groupmod
删除用户组
groupdel