用户身份与文件权限---用户身份与能力
在RHEL 7系统中,用户身份有下面这些
- 管理员UID为 0:系统的管理员用户(通常都是root)
- 系统用户UID为 1~999:Linux为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围
- 普通用户UID从 1000 开始:是由管理员创建的用于日常工作的用户
注意:
- UID不能重复,而且普通用户的UID默认从1000开始
- 通过用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务
- 在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。
- 一个用户只有一i个基本用户组,但可以有多个扩展用户组
1 useradd
命令
useradd
命令用于创建新的用户,格式为 useradd [选项] 用户名
使用该命令创建用户时,默认用户家目录被存放在 /home
目录中
默认的SShell解释器为 /bin/bash
默认会创建一个与该用户同名的基本用户组
参数
-
-d
:指定用户的家目录(默认为 /home/userename) -
-e
:账户的到期时间,格式为 YYYY-MM-DD -
-u
:指定该用户的默认 UID -
-g
:指定一个初始的用户基本组(必须已存在) -
-G
:指定一个或多个扩展用户组 -
-N
:不创建与用户同名的基本用户组 -
-s
:指定该用户的默认Shell解释器
示例:创建一个普通用户并指定家目录的路径、用户的UID以及Shell解释器
[root@study ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin chenchen
[root@study ~]# id chenchen
uid=8888(chenchen) gid=8888(chenchen) groups=8888(chenchen)
2 groupadd
命令
groupadd 命令用于创建用户组,格式为 groupadd [选项 群组名
3 usermod
命令
usermod
命令用于修改用户的属性,格式为 usermod [选项] 用户名
Linux系统中的一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd
文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用usermod
命令修改已经创建的用户信息,诸如用户的UID、基本/扩展用户组、默认终端等。
参数:
-
-c
:填写用户账户的备注信息 -
-d -m
:参数-m
与-d
连用,可重新指定用户的家目录并自动把旧的数据转移过去 -
-e
:账户的到期时间,格式为 YYYY_MM_DD -
-g
:变更所属用户组 -
-G
:变更扩展用户组 -
-L
:锁定用户禁止其登陆系统 -
-U
:解锁用户,容许其登陆i系统 -
-s
:变更默认终端 -
-u
:修改用户的UID
示例:
将用户chenchen加入root用户组
[root@study ~]# id chenchen
uid=8888(chenchen) gid=8888(chenchen) groups=8888(chenchen)
[root@study ~]# usermod -G root chenchen
[root@study ~]# id chenchen
uid=8888(chenchen) gid=8888(chenchen) groups=8888(chenchen),0(root)
修改chenchen的UID号码值
[root@study ~]# usermod -u 6666 chenchen
[root@study ~]# id chenchen
uid=6666(chenchen) gid=8888(chenchen) groups=8888(chenchen),0(root)
4 passwd
命令
password
命令用于修改用户密码、过期时间、认证信息等。格式为 passwd
[选项] [用户名
注意:
-
普通用户只能使用
passwd
命令修改自身系统密码 - root管理员有权修改所有人的密码,且不需要验证旧密码
参数:
-
-l
:锁定用户,禁止其登陆 -
-u
:解除锁定,容许其登陆 -
--stdin
:允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-
-d
:使该用户可用空密码登陆系统 -
-e
:强制用户在下次登陆时修改密码 -
-S
:显示用户的面膜是否被锁定,以及密码所采用的加密算法名称
示例:
root管理员修改自身和其他用户密码
[root@centos7-01 ~]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@centos7-01 ~]# passwd chenchen
更改用户 chenchen 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
锁定、解除用户
[root@centos7-01 ~]# passwd -l chenchen
锁定用户 chenchen 的密码 。
passwd: 操作成功
[root@centos7-01 ~]# passwd -S chenchen
chenchen LK 2018-12-18 0 99999 7 -1 (密码已被锁定。)
[root@centos7-01 ~]# passwd -u chenchen
解锁用户 chenchen 的密码。
passwd: 操作成功
[root@centos7-01 ~]# passwd -S chenchen
chenchen PS 2018-12-18 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
5 userdel
命令
userdel
命令删除用户,格式为 userdel [选项] 用户名
注意:在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用 -r
参数将其删除
参数:
-
-f
:强制删除用户 -
-r
:同时删除用户及用户家目录
网友评论