1.1、linux 系统下用户角色
在 linux 系统下用户的角色不同,权限和所能完成的任务也不同,用户角色是通过 UID 来识别的, 注意:在 linux 下要注意 root 用户的 UID 的唯一性。
①、Root
系统管理员超级用户,系统唯一,可以登陆系统,可以操作任何文件和命令,拥有最高权限,UID 值 为 0。
②、虚拟用户
与真实的用户分开来,这类用户不能登陆系统,但是在使用某些服务的时候使用,这类用户是系统默 认添加的。
③、普通真实用户
这类用户可以登陆系统,但是只能操作自己家目录的内容,受限账户,这类用户都是管理员自行添加 的。
1.1.1、用户相关文件介绍
在 windows 当中可以使用计算机管理工具中的用户和组的管理工具来对用户进行管理,在 linux 下是 通过对用户配置文件(区别与 windows 中的用户配置文件)的管理来实现对用户和组的管理。
①、/etc/passwd 用户账号文件,记录所有用户记录
每行表示一个用户信息,7 个字段都有各自的含义
root : x : 0 : 0 : root : /root : /bin/bash
用户名 密码 UserID GroupID 用户相关说明 用户家目录路径 用户的登陆 shell
②、/etc/shadow 用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户 信息,这个文件只有 root 可以读取和操作。
每行包含 8 个字段,各项说明如下:
第 1 个字段 用户名。
第 2 个字段 加密口令。
第 3 个字段 上次口令改变时间,从 1970 年 1 月 1 日算起的天数。
第 4 个字段 多少天内不能改变口令。
第 5 个字段 多少天内必须改变口令。
第 6 个字段 口令到期前多少天会出现警告。
第 7 个字段 如果口令到期后几天不使用账号,则无法登陆。
第 8 个字段 如果到这个日期不用账号则无法登陆,可以以 YYYY-MM-DD 格式,也可以用 1970 年 1 月 1 日起的天数。
③、/etc/login.defs
打开这个文件对文件内容进行解释,如果修改,修改哪些位置有哪些作用。
MAIL_DIR 邮件存放目录
PASS_MAX_DAYS 密码有效期最长时间
PASS_MIN_DAYS 密码有效期最短时间
PASS_MIN_LEN 密码最小长度
PASS_WARN_AGE 密码到期提示时间
UID_MIN UID 最小值
UID_MAX UID 最大值
GID_MIN GID 最小值
GID_MAX GID 最大值
CREATE_HOME 是否创建家目录
UMASK UMASK 值
USERGROUPS_ENAB 当删除用户后,同名组中不在存在用户的时候,是否删除该组
④、/etc/skel
存放用户启动文件的目录,类似与 windows 的用户配置文件目录,为用户提供用户环境,该目录下的文件 全部为隐藏文件。在添加用户时会从该目录下复制文件到用户的家目录下,相当与统一的登陆模板。
开启和关闭投影密码命令
开启用户的投影密码,使得密码得到更好的保护,不容易被别的用户得到。
该选项是一个安全选项,执行命令可以把用户名和密码分别存放在两个文件当中,影子文件就是密码 文件。
pwconv 开启投影密码命令
pwunconv 关闭投影密码命令
1.1.2、用户管理
①、useradd 创建用户命令
useradd jake 创建名为 jake 的用户
-d 指定用户的家目录
-g 指定用户组
-G 指定用户的附加组
-u 指定用户的 UID 值
-p 创建密码
useradd -d /rose -g group -G root -u 505 rose 创建 rose 用户,指定家目录在/rose 下,加入到
group 组,同时附加到 root 组,并设置 UID 号为 505
users 查看所有登陆的用户(who)
②、tail 命令查看指定文件的末行
tail -n 3 /etc/passwd 查看 passwd 文件的最后三行
tail -1 /etc/passwd 查看 passwd 文件的最后一行
③、passwd 设置密码命令
注意:没有设置密码的用户不能使用
passwd rose 给用户 rose 设置密码
-d 删除密码
-f 强制执行下次登陆时更改密码
-l 停止账号使用
-u 启用已经停止的账号
-S 显示密码信息
④、userdel 删除账号命令
userdel rose 删除 rose 账号
userdel -r rose 删除用户登陆目录及目录下的文件(类似于 windows 的删除用户选择是否删除用户的文档)
⑤、usermod 修改账号命令
usermod -l newname oldname
-d -g -G -u 等参数与 useradd 命令参数使用方法一样
usermod -d /home/rose -g group0 -G group1 -u 600 rose
将 rose 用户的家目录,主组和附加组以及 UID 值更改
用户的锁定与解锁
usermod -L rose 锁定 rose 用户
usermod -U rose 解除 rose 用户的锁定
⑥、gpasswd 用户添加到其他组的命令
注意:只有 root 和组管理员能够改变组成员
gpasswd -a u1 g1 将 u1 加入到 g1 组
gpasswd -d u1 g1 将 u1 退出 g1 组
gpasswd -A u1 g1 将 g1 组的管理员指派给 u1
⑦、id 查看 ID 信息命令
id rose 查看 rose 用户的 ID 信息
1.1.3、root 单用户
如果希望计算机除了 root 账号外其他账号不能登陆,在/etc 目录中执行 touch nologin,创建 1 个 名称为 nologin 的文件。如果系统只有一个人使用,可以考虑修改/etc/inittab 文件,将默认启动值改为 2。