10个命令27个实例手把手带你彻底整明白Linux用户和组管理
介绍
我认为把知识给别人讲会,讲明白,自己才彻底明白。
努力把文章写好,写明白每一篇文章,分享给更多人。
一个赞、一个评论、一个关注,真的好开心,努力没有白费,得到了这么多人的认可。
可以看一下这篇,是否喜欢我写文章的风格:vi/vim虐我千百遍,我待vi/vim如初恋
我会结合大量的图片以及gif动态图片的形式来展现一些很难理解的内容,可以让你更直观的看细节,更容易理解。
更多内容在下面地址等你哦:
专栏地址:点我直达专栏首页
专栏内容:专栏覆盖内容,点我可了解,不断更新中
本篇包括:
- 了解
passwd
、shadow
、group
、gshadow
等文件内容。- 通过27个实例熟练操作:
useradd
、userdel
、passwd
、usermod
、groupadd
、groupdel
、groupmod
、groups
、id
、who
等10余个
命令。- 以及穿插一些Linux的技巧。
文章目录
- 介绍
- Linux用户和组管理
- 一、概念
- 二、/etc/passwd配置文件详解
- 三、/etc/shadow配置文件详解
- 四、/etc/group配置文件详解
- 五、/etc/gshadow配置文件详解
- 六、管理用户和组常用命令
- (一)useradd命令(创建账号)
- 例1:创建用户user1
- 例2:创建用户user2,并备注:"This is for Mr.Zheng",并指定家目录为:/home/zu
- 例3:创建用户user3;并指定UID为104;并指定所属root组,使之成为root组的一员
- 例4:创建用户user5,并禁止该账户登入系统
- (二)userdel命令(删除账号)
- (三)passwd命令(设置账号密码)
- (四)usermod命令(设置账号属性)
- 例1:修改user6的备注(全称)
- 例2:修改user6的加目录为/home/lisi
- 例3:修改user6的所属组为root
- 例4:将用户user6的用户名修改为lisi
- 例5:锁定用户lisi
- 例6:解除lisi用户的锁定
- (五)groupadd命令(创建用户组)
- (六)groupdel命令(删除用户组)
- (七)groupmod命令(设置用户组属性)
- (八)groups命令(查看用户组信息)
- (九)id命令(显示用户UID、用户组GID和用户所属组列表)
- (十)who命令(显示登录到系统的所有用户)
- 七、练习题
Linux用户和组管理
一、概念
1、Linux是一个多用户多任务系统
Linux系统属于多用户多任务的操作系统,而多用户多任务系统是指多个用户使用同一个操作系统,但并不是所有用户都做同一件事,例如在一个网站的服务器上有
FTP用户
、系统管理员
和普通用户
等。
2、用户角色的概念
在Linux操作系统中,用户是分角色的,橘色不同,用户权限和所完成的任务也不相同。
用户角色通过UID(用户ID)来标识的,每个用户都有唯一的一个UID。
可以分为:
- (1)root用户;
- (2)虚拟用户;
- (3)普通用户。
二、/etc/passwd配置文件详解
/etc/passwd
文件是系统中标识用户的一个文件,它存放着所有用户账号的登录信息,包括用户名和密码。
cat /etc/passwd
内容如下:
[aaa@qq.com ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......................................
zhenghui:x:1000:1000:zhenghui:/home/zhenghui:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]#
拿zhenghui:x:1000:1000:zhenghui:/home/zhenghui:/bin/bash
来说,可以看出是分为7段的
包含7段如:
1:2:3:4:5:6:7
其含义:用户名:用户密码:用户识别码(UID):用户组识别码(GID):用户名全称:宿主目录:用户使用shell
/etc/passwd文件中各个字段的含义如下:
-
(1) 用户名
。它唯一地标识了一个用户账号,用户在登录时使用的就是该用户名。 -
(2) 用户密码
。passwd文件中存放的密码是经过加密处理的(所以会显示一个x)。 -
(3) 用户识别码(UID)
。Linux系统内部使用UID标识用户,而不是用户名。 -
(4) 用户组识别码(GID)
。不同的用户可以属于同一个用户组,享有该用户组共有的权限。 -
(5) 用户名全称
。它一般是用户真实姓名、电话号码、住址等,当然也可以不设置。 -
(6) 宿主目录
。这个目录属于该用户账号,当用户登录后,它就会被置于此目录中。 -
(7) 用户使用shell
。表示用户使用shell类型(在Centos7中默认使用的shell类型为bash)。
三、/etc/shadow配置文件详解
该文件是控制用户的一些基本信息。例如:用户密码,密码过期时间、保留时间等。
可以先显示出来该文件的
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/shadow |grep zhenghui
zhenghui:$6$CZq645yQDcdlE0tr$sVmhbLT67UzVDd38c2PRNPp94Vu9hurmE3ZF/VLFNK7hm8m66Kvd0IZUerAPIeAJ5uppkl2bAmnt7khe2fEv9.:18333:0:99999:7:::
[aaa@qq.com ~]#
可以看到内容一共有9个字段,每个字段也是使用“:”
进行分隔。
含义如下:
`用户名`:`用户密码`:`上次修改口令的时间`:`两次修改密码间隔最少的天数`:`两次修改密码间隔最多的天数`:`提前多少天警告用户密码过期`:`密码过期多少天后禁用此用户`:`用户过期日期`:`标志`
四、/etc/group配置文件详解
该文件是存放用户组信息的
[aaa@qq.com ~]# cat /etc/group
root:x:0:
....................
zhenghui:x:1000:
/etc/group
中的每条记录分为4个字段:
用户组名:用户组密码:用户组标识码(GID):用户列表
五、/etc/gshadow配置文件详解
/etc/gshadow
文件是/etc/group
文件的加密信息文件,用户组(group)管理密码就存放在该文件中。/etc/gshadow
和/etc/group
是两个互补的文件。
内容如下:
[aaa@qq.com ~]# cat /etc/gshadow
root:::
...........
zhenghui:!::
/etc/gshadow
文件中每一行表示一个用户账户信息,每行由4个字段组成,每个字段用冒号“:”
隔开.
用户组名:用户组密码:用户组管理者:用户组成员
(1) 第一字段:用户组名。
(2) 第二字段:用户组的密码。
(3) 第三字段:用户组管理者。
(4) 第四字段:用户组所拥有组成员。
六、管理用户和组常用命令
命 令 | 命 令 含 义 |
---|---|
useradd | 创建一个锁定的用户账号 |
userdel | 删除用户账号及相关文件 |
passwd | 设置用户密码 |
usermod | 设置用户账号属性 |
groupadd | 添加新用户组群 |
groupdel | 删除用户组 |
groupmod | 设置用户组属性 |
groups | 查看用户组信息 |
id | 显示用户UID、用户组GID和用户所属组列表 |
who | 显示登录到系统的所有用户 |
(一)useradd命令(创建账号)
创建一个新的用户账号
用法:
- useradd [选项] 登录
- useradd -D
- useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
常用选项:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
-D:变更预设值。
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
例1:创建用户user1
[aaa@qq.com ~]#
[aaa@qq.com ~]# useradd user1
[aaa@qq.com ~]#
为了让大家看清默认创建用户的属性配置,我就把四种配置文件都给查询了出来。这样一会在做其他实例的时候,就可以很方便的做对比了。
默认的/etc/passwd配置
[aaa@qq.com ~]# cat /etc/passwd |grep user1
user1:x:1001:1001::/home/user1:/bin/bash
[aaa@qq.com ~]#
分析:
- 可以看到UID和GID都是随机的,从1000往上加的,因为我系统里已经有了一个了,所以之前存在的用户的UID和GID是1000。
- 家目录是:
/home/usere1
- 登录shell是:
/bin/bash
如果不熟悉tail
这个命令,或者没有任何印象的话,请看:https://blog.csdn.net/qq_17623363/article/details/105319294
[aaa@qq.com ~]#
[aaa@qq.com ~]# tail -n 2 /etc/passwd
zhenghui:x:1000:1000:zhenghui:/home/zhenghui:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
[aaa@qq.com ~]#
其他配置文件:
[aaa@qq.com ~]# cat /etc/group |grep user1
user1:x:1001:
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/shadow |grep user1
user1:!!:18359:0:99999:7:::
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/gshadow |grep user1
user1:!::
[aaa@qq.com ~]#
例2:创建用户user2,并备注:“This is for Mr.Zheng”,并指定家目录为:/home/zu
[aaa@qq.com ~]# useradd -c "This is for Mr.zheng" -d /home/zu user2
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user2
user2:x:1002:1002:This is for Mr.zheng:/home/zu:/bin/bash
[aaa@qq.com ~]#
分析:
可以看到备注字段已经变成了:This is for Mr.Zheng
家目录变成了:/home/zu
例3:创建用户user3;并指定UID为104;并指定所属root组,使之成为root组的一员
[aaa@qq.com ~]# useradd -u 1004 -g root user3
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep root
root:x:0:0:root:/root:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user3
user3:x:1004:0::/home/user3:/bin/bash
[aaa@qq.com ~]#
分析:
可以看到root默认的UID和GID都是0,而刚创建user3的时候,使用
-g root
指定了所属的组为root。UID已改1004,按道理说这个默认应该是1003;
所属组(第4个字段)也成了0,为0的GID就是root组的ID。
从上面的信息可以看出,创建用户user7成功,用户可以使用id命令查看用户属于哪个组群。命令及结果显示如下:
[aaa@qq.com ~]# id user3
uid=1004(user3) gid=0(root) 组=0(root)
[aaa@qq.com ~]#
例4:创建用户user5,并禁止该账户登入系统
-s
为新添加的用户指定默认的shell。(系统中有一个nologin的shell可以禁止某账户登入)
[aaa@qq.com ~]# useradd -s /sbin/nologin user4
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user4
user4:x:1005:1005::/home/user4:/sbin/nologin
[aaa@qq.com ~]#
(二)userdel命令(删除账号)
用法:
用法:userdel [选项] 用户名
选项:
-f, --force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
-h, --help 显示此帮助信息并推出
-r, --remove 用户目录下的文件全部删除,将找出其他位置上的文件或目录并删除。
-R, --root CHROOT_DIR chroot 到的目录
-Z, --selinux-user 为用户删除所有的 SELinux 用户映射
例1:删除user1用户
[aaa@qq.com ~]# userdel user1
[aaa@qq.com ~]#
[aaa@qq.com ~]# ls /home/
user1 user3 user4 zhenghui zu
[aaa@qq.com ~]#
分析:
可以看出,使用
userdel user1
删除之后,并没有直接删除/home目录下的user1家目录。
例2:删除user3,并删除和user3相关的家目录等
[aaa@qq.com ~]# userdel -r user3
[aaa@qq.com ~]#
[aaa@qq.com ~]# ls /home/
user1 user4 zhenghui zu
[aaa@qq.com ~]#
分析:
可以看到加上
-r
参数后,就会删除家目录。
(三)passwd命令(设置账号密码)
用法:
passwd [选项…] <帐号名称>
选项:
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)
常用选项:
-d:删除密码,只有系统管理员才能使用该参数。
-f:强制执行,当解锁已锁定的用户账号时,若该账号原本没有密码,则passwd命令会拒绝删除字首符号“!”。加上该参数后,passwd会随机产生一组密码,强行解锁已锁定住的账号。该参数配合“-u”参数使用。
-l:锁定账号,使用该参数后,passwd命令在已加密的密码字符串加上符号“!”,使得该账号密码失效,无法登录系统。该参数只有系统管理员才能使用。
-S:列出密码相关信息,该参数仅系统管理员才能使用。
-u:解锁已锁定的账号。使用该参数后,passwd命令删除加上的“!”号,恢复该账号的密码,使得指定的用户可以登录系统,该参数只有系统管理员才能使用。
例1:修改超级用户root的密码
方式1:
[aaa@qq.com ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#
方式2:
[aaa@qq.com ~]# passwd root
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#
例2:修改用户user4的密码
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd user4
更改用户 user4 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#
例3:删除用户user4的密码
[aaa@qq.com ~]# passwd -d user4
清除用户的密码 user4。
passwd: 操作成功
[aaa@qq.com ~]#
例4:列出用户的密码
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd -S user4
user4 NP 2020-04-08 0 99999 7 -1 (密码为空。)
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd -S root
root PS 2020-04-08 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[aaa@qq.com ~]#
[aaa@qq.com ~]#
(四)usermod命令(设置账号属性)
usermode命令在创建好用户之后如果想修改用户信息就可以用到。
用法:**
usermod [选项] 用户名
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户
-h, --help 显示此帮助信息并推出
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
常用选项:
-c comment:修改用户账号的全称或注释为“comment”。
-d home dir:修改用户登录时所使用的宿主目录为“home_dir”。
--g initial group:修改用户默认的用户组群名称或组群号码,该组群在指定前必须存在。
-G group,[...]:修改用户所属的附加组,各组之间用逗号“,”隔开,不能包含空白内容。
-l login_name:修改用户账号名称为“ login_name”。
-L:锁定用户密码,使用户密码无效。
-u uid:修改用户ID为“uid”。
例1:修改user6的备注(全称)
创建一个user6用户,并备注zhangsan
[aaa@qq.com ~]# useradd -c zhangsan user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user6
user6:x:1007:1007:zhangsan:/home/user6:/bin/bash
[aaa@qq.com ~]#
将备注修改为lisi:
[aaa@qq.com ~]#
[aaa@qq.com ~]# usermod -c lisi user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user6
user6:x:1007:1007:lisi:/home/user6:/bin/bash
[aaa@qq.com ~]#
例2:修改user6的加目录为/home/lisi
[aaa@qq.com ~]# cat /etc/passwd |grep user6
user6:x:1007:1007:lisi:/home/user6:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# usermod -d /home/lisi user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user6
user6:x:1007:1007:lisi:/home/lisi:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]#
例3:修改user6的所属组为root
[aaa@qq.com ~]#
[aaa@qq.com ~]# usermod -g root user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# id user6
uid=1007(user6) gid=0(root) 组=0(root)
[aaa@qq.com ~]#
例4:将用户user6的用户名修改为lisi
[aaa@qq.com ~]# cat /etc/passwd |grep user6
user6:x:1007:0:lisi:/home/lisi:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]# usermod -l lisi user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep user6
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/passwd |grep lisi
lisi:x:1007:0:lisi:/home/lisi:/bin/bash
[aaa@qq.com ~]#
[aaa@qq.com ~]#
例5:锁定用户lisi
锁定用户user6,使其密码无效。
如果你测试的账号没有密码,请先设置一个密码:
[aaa@qq.com ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#
查看原来的密码是否有效
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd -S lisi
lisi PS 2020-04-08 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[aaa@qq.com ~]#
锁定密码
[aaa@qq.com ~]# usermod -L lisi
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd -S lisi
lisi LK 2020-04-08 0 99999 7 -1 (密码已被锁定。)
[aaa@qq.com ~]#
[aaa@qq.com ~]#
例6:解除lisi用户的锁定
[aaa@qq.com ~]# usermod -U lisi
[aaa@qq.com ~]#
[aaa@qq.com ~]# passwd -S lisi
lisi PS 2020-04-08 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[aaa@qq.com ~]#
(五)groupadd命令(创建用户组)
groupadd的作用主要是新增一个用户组
用法:
groupadd [选项] 组
选项:
-f, --force 如果组已经存在则成功退出
并且如果 GID 已经存在则取消 -g
-g, --gid GID 为新组使用 GID
-h, --help 显示此帮助信息并推出
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-o, --non-unique 允许创建有重复 GID 的组
-p, --password PASSWORD 为新组使用此加密过的密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
例1:创建一个组名为”newgroup“的用户组
[aaa@qq.com ~]# groupadd newgroup
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep newgroup
newgroup:x:1008:
[aaa@qq.com ~]#
例2:创建一个组名为”mygroup“的用户组,并设置该用户组的ID号为1010
[aaa@qq.com ~]# groupadd -g 1010 mygroup
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep mygroup
mygroup:x:1010:
[aaa@qq.com ~]#
(六)groupdel命令(删除用户组)
groupdel命令主要用于删除用户组。
用法:
groupdel [选项] 组名
选项:
-h, --help 显示此帮助信息并推出
-R, --root CHROOT_DIR chroot 到的目录
例1:删除用户组newgroup
[aaa@qq.com ~]# cat /etc/group |grep newgroup
newgroup:x:1008:
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# groupdel newgroup
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep newgroup
[aaa@qq.com ~]#
[aaa@qq.com ~]#
(七)groupmod命令(设置用户组属性)
groupmod
命令主要用于更改用户组属性
用法:
用法:groupmod [选项] 组名
选项:
-g, --gid GID 将组 ID 改为 GID
-h, --help 显示此帮助信息并推出
-n, --new-name NEW_GROUP 改名为 NEW_GROUP
-o, --non-unique 允许使用重复的 GID
-p, --password PASSWORD 将密码更改为(加密过的) PASSWORD
-R, --root CHROOT_DIR chroot 到的目录
例1:更改组名为"mygroup"的用户组的组名为"my_group"
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep mygroup
mygroup:x:1010:
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# groupmod -n my_group mygroup
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep mygroup
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep my_group
my_group:x:1010:
[aaa@qq.com ~]#
例2:修改组名为"my_group"的用户组的id为"1011"
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep my_group
my_group:x:1010:
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# groupmod -g 1011 my_group
[aaa@qq.com ~]#
[aaa@qq.com ~]# cat /etc/group |grep my_group
my_group:x:1011:
[aaa@qq.com ~]#
(八)groups命令(查看用户组信息)
查看用户的组的名字
用法:
groups [用户名]
例1:查看root用户的组
[aaa@qq.com ~]# groups root
root : root
[aaa@qq.com ~]#
例2:查看user2用户的组
[aaa@qq.com ~]# groups user2
user2 : user2
[aaa@qq.com ~]#
(九)id命令(显示用户UID、用户组GID和用户所属组列表)
id
命令可以查看用户所在组的组名和uid和gid
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1)
[aaa@qq.com ~]#
[aaa@qq.com ~]#
[aaa@qq.com ~]# id user4
uid=1005(user4) gid=1005(user4) 组=1005(user4)
[aaa@qq.com ~]#
[aaa@qq.com ~]# id user3
uid=1004(user3) gid=0(root) 组=0(root)
[aaa@qq.com ~]#
[aaa@qq.com ~]#
(十)who命令(显示登录到系统的所有用户)
例1:显示登录用户及使用终端设备已经登录到系统的时间
[aaa@qq.com ~]# who
root :0 2020-04-04 19:57 (:0)
root pts/0 2020-04-05 17:10 (:0)
[aaa@qq.com ~]#
例2:显示所有用户的信息,并且显示列标题
[aaa@qq.com ~]# who -aH
名称 线路 时间 空闲 进程号 备注 退出
系统引导 2020-04-04 19:56
运行级别 5 2020-04-04 19:56
root ? :0 2020-04-04 19:57 ? 2089 (:0)
root + pts/0 2020-04-05 17:10 . 8175 (:0)
pts/1 2020-04-05 14:44 0 id=/1 终端=0 退出=0
pts/1 2020-04-05 22:04 11479 id=ts/1 终端=0 退出=0
pts/2 2020-04-06 00:02 12076 id=ts/2 终端=0 退出=0
[aaa@qq.com ~]#
例3:查看系统当前的运行级别
[aaa@qq.com ~]# who -r
运行级别 5 2020-04-04 19:56
[aaa@qq.com ~]#
七、练习题
某公司company有三个部门x、y、z。
x部门有用户a、b
y部门有用户c、d
z部门有用户e、f
现要求为各部门、员工建立相应的工作文件夹,要求如下:
(1)所有目录、文件保存在统一的一个文件夹下
(2)每个部门拥有一个独立的文件夹
(3)不同部门之间不可访问各自文件夹
(4)每个员工在所在部门文件夹下拥有一个所属的文件夹
(5)同部门不同员工之间可以查看各自文件夹内容,但不能修改,用户仅能修改自己的内容。
做完可以留言讨论哦