一、用户管理介绍
二、用户账号密码配置文件
- 查看用户账号:#cat /etc/passwd(每个字段以":"分割)
- 查看用户账号密码:#cat /etc/shadow(密码都是加密的)
- 解释passwd字段:root:x:0:0:root:/rppt:/bin/bash 用户名:密码占位符:UID:GID:用户描述:用户主目录:登陆后使用的shell
- 解释shadow字段:
- 如果查询shadow,发现用户后面跟的是"!!",说明还没给用户设置密码。
- 系统中的伪用户(虚拟用户),这些用户是不能登陆系统的,可以没有宿主目录。源码安装nginx,运行nginx web服务器默认nobody用户。
三、添加新用户操作
用useradd命令可添加用户,在添加用户时,会自动在passwd和shadow上添加该用户信息(需要用root用户操作):
- #useradd username
选项:
- -d:创建用户时指定该用户的宿主目录
- -m:不创建用户宿主目录(创建伪用户时使用)
- -g:用户组,指定用户所属的用户组
- -G:指定用户所属的附属组
- -s:指定用户登陆Shell
- -u:指定用户的用户号(UID)
例子:#useradd -d /opt/sam -s /bin/sh sam (添加用户 宿主目录sam 指定shell 用户名sam)
我们可以用tail命令查看passwd和shadow是否添加该用户信息,tail命令是从最后一行开始查看文件内容,后面接数字指定只看后面几行。如:#tail -1 /etc/passwd
可以查看opt目录下是否添加该用户宿主目录:#ls /opt/
扩展:我们查看sam用户宿主目录,会发现一些隐藏文件,这些文件是添加用户,系统自动添加的环境变量等文件。
四、删除用户
- 删除用户账号就是要在/etc/passwd等系统文件中删除该用户记录,必要时要需要删除用户的宿主目录。
- 删除用户:#userdel 用户名
- 删除用户时,将宿主目录一并删除:#userdel -r 用户名
五、修改用户信息
- 可用usermod命令修改用户相关属性,如用户名、主目录、用户组、登陆shell等
- 公式:#usermod -选项 修改后新属性 用户名
选项:
- -u:修改UID
- -g:修改组
- -G:修改附加组
- -m:修改宿主目录
- -s:修改shell登陆
例子:修改sam用户的登陆shell为/sbin/nologoin,uid为2020
- #usermod -s /sbin/nologoin -u 2020 sam
六、用户账号密码的管理
- 用户刚创建时是没有口令,但会被系统锁定,无法使用,必须为其指定口令后才能使用,即使是指定空口令。
- passwd命令可修改和指定用户口令,超级用户管理员可修改自己和其他用户口令,而普通用户只能修改自己的口令。
- 公式:#passwd
选项:
- -l:锁定口令,即禁用用户
- -u:解锁口令
- -d:账户无口令
- -f:强迫用户下次登陆时,修改口令
例子:给sam用户设置密码
- 交互式配置用户密码:#passwd sam >>>输入密码 >>>再次输入密码
- 无交互模式配置用户密码(在脚本中可用):#echo 密码 | passwd --stdin 用户名