第5章 用户身份与文件权限
5.1 用户身份与能力
UID User IDentification 唯一性 ,管理员root为0;系统用户为1~999;普通用户为1000+
用户组通常和以下两个文件有关
/etc/group
/etc/gshadow
和用户组有关的命令
groupadd //添加用户组
groupmod //修改用户组
groupdel //删除用户组
groupadd //添加用户组
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于999;
groupmod //修改用户组
-g :修改既有的 GID 数字;
-n :修改既有的组名
5.1.1 ID命令
一个ID一个基本用户组,多个扩展用户组
ID 基本GID 扩展GID(groups)
[root@Linuxprobe ~]# id haha
uid=8889(haha) gid=8890(haha) groups=8890(haha)
5.1.2 useradd命令
useradd 【参数】 用户名
创建新的用户账户,ID,GID都在此设置
参数:
参数 | 作用 |
---|---|
-d | 指定家目录,否则默认为/home/下的用户名 |
-e | 账户到期时间,临时账户时能用到 |
[root@Linuxprobe ~]# useradd -e 2022-1-25 haha1
[root@Linuxprobe ~]# chage -l haha1
Last password change : Jan 24, 2022
Password expires : never
Password inactive : never
Account expires : Jan 25, 2022
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@Linuxprobe ~]#vim /etc/shadow #查看及编辑用户信息
参数 | 作用 |
---|---|
-u | 指定用户UID |
-g | 指定初始用户基本组 |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定用户的默认Shell解释器 |
Shell默认解释器为/bin/bash,其他解释器如 /sbin/nologin (代表用户无法登陆系统)
[root@Linuxprobe ~]# useradd -d /home/linux -u 9527 -s /sbin/nologin linuxdown1
[root@Linuxprobe ~]# id linuxdown1
uid=9527(linuxdown1) gid=9527(linuxdown1) groups=9527(linuxdown1)
5.1.3 groupadd命令
groups在此设置
[root@Linuxprobe ~]# groupadd ronny1
[root@Linuxprobe ~]# cat /etc/group
root:x:0:linuxprobe
bin:x:1:
···省略
ronny1:x:9529:
[root@Linuxprobe ~]# groupdel ronny1 #正常删除
[root@Linuxprobe ~]# groupdel haha1 #组下有用户,无法删除
groupdel: cannot remove the primary group of user 'haha1'
5.1.4 usermod命令
useradd groupadd设置完成需要修改就用usermod
参数 | 作用 |
---|---|
-c | 填写用户账户备注信息 |
-d-m | 连用,重新指定用户家目录并转移数据 |
-g | 变更gid |
-G | 变更groups,具备新增的功能 |
[root@Linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)
[root@Linuxprobe ~]# usermod -G root linuxprobe
[root@Linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)
[root@Linuxprobe ~]# vim /etc/group #删除root:x: 后的linuxprobe
[root@Linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)
参数 | 作用 |
---|---|
-L | 锁定,不让登录 |
-s | 变更默认终端 |
-u | 修改uid |
[root@Linuxprobe ~]# usermod -u 8838 linuxprobe
[root@Linuxprobe ~]# id linuxprobe
uid=8838(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)
[root@Linuxprobe ~]# usermod -s /sbin/nologin linuxprobe
[root@Linuxprobe ~]# su - linuxprobe
This account is currently not available.
5.1.5 passwd命令
直接使用即为修改当前登录用户之密码
参数 | 作用 |
---|---|
-l | l锁定用户,禁止登录 =大概= usermod -L 用户名 |
-u | 解除锁定,允许登录 =大概= usermod -U 用户名 |
- -stdin | eg:#echo “NewPassWord” | passwd - -stdin Username |
-d | 允许用户空密码登录 |
-e | 强制在下次登录时修改密码 |
-S | 查看用户是否被锁定,以及密码加密算法名称 |