用户管理

细节

root 用户为根用户,也就是系统管理员,拥有全部权限

一个用户只能拥有一个 群组编号 ,但是还可以归属于其它附加群组

用户管理的重要配置文件:

/etc/passwd 用户名 密码位 用户编号 归属群组编号 姓名 $HOME目录 登录Shell
/etc/shadow 用户名 已加密密码 密码改动信息 密码策略
/etc/group 群组名 密码位 群组编号 组内用户
/etc/gshadow 群组密码相关文件
/etc/sudoers 用户名 权限定义 权限
  • 请使用“visudo”命令修改/etc/sudoers,而不要直接编辑
  • 可以使用 pwconv 命令创建影子密码,将 /etc/passwd 文件中的密码转换到 /etc/shadow 文件

su [用户名]

切换到其它用户,默认切换到 root用户。提示密码为目标用户密码

-f 快速切换,忽略配置文件
- | -l 重新登录
-m |-p 不更改环境变量
-c 命令 切换后执行命令,并退出切换

sudo 命令

以其它用户的身份执行命令,默认以 root 的身份执行。提示密码为当前用户密码

-s 切换为 root shell
-i 切换为 root shell,并初始化
-u 用户名|用户编号 执行命令的身份
-l 显示自己的权限

passwd [用户名]

设定用户密码

-d 清除密码
-l 锁定账户
-e 使密码过期,在下次登录时更改密码
-S 显示密码认证信息
-x 天数 密码过期,最大使用时间
-n 天数 冻结密码,最小使用时间
-s 更改 登录Shell
-f 更改用户信息

示例:

$passwd
Changing password for user
(current) UNIX password:      #原密码
Enter new UNIX password:      #新密码
Retype new UNIX password:     #确认新密码    

gpasswd 群组名

更改群组

-a 用户名 将用户加入群组
-d 用户名 将用户从群组中删除
-r 删除密码
-A 用户名 将用户设置为群组管理员(群组管理员或 root 才可以使用 gpasswd 命令)
-M 用户1,用户2…… 设置群组成员

chsh -s Shell [用户名]

更改登录 Shell

usermod 用户名

修改用户账号

-d 目录 设定 $HOME 目录
-m 设定 $HOME 目录时自动建立该目录
-s Shell 修改用户 登录Shell
-l 新登录名 修改为新登录名
-u 用户编号 修改用户编号
g 群组名 修改用户归属群组
-G 群组名 修改用户归属辅组
-L 锁定帐户
-U 解除锁定
-e 过期时间 设定用户账号过期时间
-f 缓冲天数 设定密码过期后多长时间关闭账号
-c 字符串 修改用户备注

useradd 用户名

新建用户

-d 目录 设定 $HOME 目录
-m 自动建立 $HOME 目录
-M 不自动建立 $HOME 目录
-s Shell 设定用户 登录Shell
-u 用户编号 设定用户编号
-g 群组名 设定用户归属群组
-G 群组名 设定用户归属附加群组
-n 不建立以用户名为名称的群组
-e 过期时间 设定用户账号过期时间
-f 缓冲天数 设定密码过期后多长时间关闭账号
-c 字符串 设定用户备注
-D [表达式] 更改预设值 (预设值保存于 /etc/default/useradd 文件中)
  • 新建用户规则保存于 /etc/login.defs 文件中
  • 新建用户默认文件保存于 /etc/skel/ 目录中。新建用户时,系统自动拷贝此目录下的文件至新建用户的 $HOME 目录

userdel 用户名

删除用户

-r 删除用户相关文件和目录

id [用户名]

显示用户 用户编号 群组编号 归属附加群组