用户管理

优质
小牛编辑
139浏览
2023-12-01

细节

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 [用户名]

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