Linux操作系统实验报告4(用户与组管理)
1.用户管理之useradd命令的用法
(1)useradd a001
(2)passwd a001
(3)Linux系统底层的四个连锁反映
创建该用户的家目录/home/a001
vim /etc/passwd(多了一行该用户的记录)
vim /etc/shadow(影子文件中多一行密码记录)
vim /etc/group(组信息文件中多一行记录,即自动创建同名组并且把该组设置为第一所属组)


2.账户信息文件/etc/passwd中七个字段的含义

a001❌504:505::/home/a001:/bin/bash
用户名:密码:用户ID:组ID:注释信息:家目录:shell
隐式 不相同 第一所属组的组ID
家目录可以自己指定
Shell种类1./bin/bash 基础shell,缺省值默认值 2./sbin/nologin远端登录
3.影子文件/etc/shadow两个字段的含义
a001:$69./UcZIY9./UcZIY9./UcZIYGWuGRx6h7O4MEd3GHMyUylHCZRVkbwPoqg.98A/ogjXoNlylqzhjncXjO…vK7OTLaNLPKL8a8NII0C1i4ZIK0:16000:0:99999:7:::
用户名:加密后的密码MD5加密算法策略

4.组信息文件/etc/group中四个字段的含义
a001❌505:
test❌502:harry,sam
组名:组密码:组ID:该组中包含的其他用户名.
相关测试:
(1)shell测试
useradd -s /sbin/nologin a002 设置该用户的shell种类
passwd a002
切虚拟控制台登录测试
如何开启登录权限:直接修改/etc/passwd中的shell字段
注意:/sbin/nologin这种shell的典型应用场合是给FTP客户端用户来设置的。
Tail /etc/passwd 查看末尾十行
Head -6 /etc/passwd查看头6行

问:如何确定用户第一所属组的组名?由第一所属组ID反推第一所属组名 tail -5 /ect/group

问:作为root如何让c003可以本地登录?

方法一:以root身份改passwd文件 a003shell种类


方法二:usermod -s /sbin/nologin a001

其他参数测试
useradd -c “ordinary user” -m -d /var/a003 -u 333 a003
-d新指定该用户家目录
-m 先创建再指定
-m -d结合使用。
-c 注释信息
-u 指定uid,不能重复
-g 修改第一所属组(一个)
-G 修改附属组(多个)
passwd a003
tail -1 /etc/passwd
a003❌333:507:ordinary user:/var/a003:/bin/bash


5.用户管理之userdel命令的用法
(1)不彻底的删除方法:家目录不会被删除
userdel a001
tail -3 /etc/passwd


(2)彻底的删除方法
userdel -rf a003
对应的四个连锁反映

6.用户管理之usermod命令的用法
usermod -u 600 a002 UID 改为600
usermod -s /sbin/nologin a002 改shell种类
tail -3 /etc/passwd

7.组管理之groupadd命令的用法:添加组
groupadd g001
tail -3 /etc/group

8.组管理之groupdel命令的用法:删除组
groupdel g001
tail -3 /etc/group
groupdel a002 // cannot remove the primary group of user ‘a002’

注意:删除一个组时,无法删除第一所属组

问:如何删除第一所属组?
1.删除用户
2.去掉该组的第一所属组的属性usermod -g f002 b001

然后发现可以删除组

9.组和用户的关系

(1)gpasswd -a 用户名 组名
-a添加,追加
问:查看用户与组的关系?
查看group的信息1.从group角度 2.从用户角度
gpasswd -a b001 group1
gpasswd -a b002 group1
gpasswd -a b003 group1
tail -3 /etc/group
group1❌604:b001,b002,b003

(2)gpasswd -d b003 group1
-d 删除
tail -3 /etc/group


局限性:无法改变第一所属组,添加以及删除
(3)从用户角度groups b001
b001 : b001 group1
gpasswd -a b001 group2
groups b001
b001 : b001 group1 group2

重点!(4)修改primary group的测试
gpasswd -a a002 group1
groups a002
//a002 : a002 group1
usermod -g group2 a002
groups a002
//a002 : group2 group1

(5)修改附属组的测试
groups b001
//b001 : b001 group1 group2
usermod -G a002 b001
groups b001
//b001 : b001 a002
附属组的全部替换

10.chown命令的使用方法
(1)chown b001:group1 qqq1.txt
新所有者:新所属组
(2)chown :root qqq1.txt
(3)chown b003: qqq1.txt(自动以该用户私有组替换)自动填充

所属组的归属权问题:所属组是由所有者的第一所属组自动填充

1.用户与组管理之综合测试问题
(1)创建三个用户q1,q2,q3

(2)通过三个不同的标签页,以这三个用户的身份登录.用户在自己的家目录中进行读写操作都可以。如果q2要进入q1的家目录进行读写操作?(No)

(3)如何一位一位的开启相关权限
以q1用户进入q1用户的家目录/home/q2为例进行其他用户x,r,w权限的测试
chmod o+x /home/q2

Ll无法读,找root请求权限

chmod o+r /home/q2
chmod o+w /home/q2




以q1用户进入q3用户的家目录/home/q3为例进行组内用户x,r,w权限的测试
gpasswd -a q1 q3
groups q1
chmod g+x /home/q3
chmod g+r /home/q3
chmod g+w /home/q3
组内赋予新权限后应重新登录才能生效



本文详细介绍了Linux用户管理中的useradd命令创建用户、设置密码及权限,包括/etc/passwd、/etc/shadow和/etc/group文件的操作。此外,涵盖用户组管理、chown命令的应用,以及权限测试和组关系管理。重点讲解了用户第一所属组的确定方法和权限更改技巧。
2425

被折叠的 条评论
为什么被折叠?



