实验5 - 账户管理、口令管理与权限管理
学习目标
- 使用
useradd
/usermod
/userdel
、groupadd
/groupmod
/groupdel
命令 添加/修改/删除 用户 和组- 使用
id
/group
命令显示 用户/组 信息- 使用
su
/sg
或newgrp
/groups
命令切换 用户/组 查看所在组- 使用
passwd
gpasswd
命令管理用户口令、组口令和组成员使用
chage
命令设置已存在用户的口令时效策略使用
chmod
命令修改文件权限- 使用
chown
命令修改文件所有者- 使用
chgrp
命令修改文件组setfacl
/getfacl
命令设置/查看文件ACL权限- 使用
lsattr
/chattr
命令查看/修改文件系统特殊权限*提交时间
- 网络工程221-4班,2024年5月17日(第11周 周五)23:00
*补交时间(补交满分80计算)
- 2024年5月19日(第11周 周日)23:00
*提交方法
- 电子版:在CG平台上提交
- 打印版:2024年5月20-21日(第12周 周一、周二)(网络221-224)
任务1:显示用户和组管理的相关信息
显示当前用户的用户和组信息
查看添加用户时读取的默认(范围)值 ( 结果截图 )
查看使用 useradd 命令添加用户时的默认值
- 列表显示默认系统账户数据库文件/etc/shadow及其权限 ( 结果截图 )
进入root,查看stu用户 shadows 手册,并列出每一列的含义 ( 结果截图 )
getent shadow 用户名
任务2:创建用户并为其设置登录口令
请切换到 root 用户环境(su root)
查看 useradd 的命令帮助 ( 结果截图 )
- 添加名为 学生姓名1 的用户并为其设置口令
- 查看 /home/ 学生姓名1 目录自身的权限 ( 结果截图 )
- 显示 /home/ 学生姓名1 目录下的所有文件(包括隐含文件) ( 结果截图 )
- 显示指定用户 学生姓名1 的用户和组信息 ( 结果截图 )
- 显示4个账户文件最后一行的内容,熟悉各个字段的含义 ( 结果截图 ) /etc/passwd;/etc/shadow; /etc/group; /etc/gshadow
任务3:修改用户名和组名、组成员管理
- 将 学生姓名1 用户的名字改为 学生姓名2,同时将其主目录移动到 /home/ 学生姓名2
- 将 学生姓名1 组的名字改为 学生姓名2
- 检验更改结果( 结果截图 )
- 添加名为 寝室门牌号 的组
- 添加用户 emily(同时会创建同名主组),并指定其附加组为 寝室门牌号
- 添加用户 jacob,并指定其主组为 寝室门牌号
- 将用户 学生姓名2 的附加组设置为 寝室门牌号
- 查看 寝室门牌号 组中的成员 ( 结果截图 )
- 添加名为 designer 的组
- 将 学生姓名2 用户加入 designer 组,并确保其还是 寝室门牌号 的组成员 ( 结果截图 )
- 创建 assistant 组
- 创建 5 个用户( 结果截图 )
- 设置 5 个均为 assistant 组的成员
- 查看 assistant 组中的成员( 结果截图 )
- 为 assistant 组添加1个新成员
- 从 assistant 组剔除1个成员
- 删除所有你新创建的用户和组(除了 学生姓名1)
用户名设置要求:从下列用户名中选择你喜欢的用户名+本人姓名缩写
- austin victor charles richard alexander jacob michael matthew
- nicholas christopher joshua jason tyler joseph
- alexis amanda tina stella christina hannah alina gloria bella emily
- brianna samantha hailey ashley kaitlyn madison brandon sarah
任务4:基本权限管理
- 新建 学生姓名 -a.txt文件
- 查看 学生姓名 -a.txt文件权限 (ls -l命令)( 结果截图 )
对 学生姓名 -a.txt文件赋予权限(部分操作需要root权限):
- 为所有用户增加执行权限,并检查是否成功 ( 结果截图 )
- 为所有用户去掉执行权限,并检查是否成功( 结果截图 )
- 为所有用户增加执行与写入权限,并检查是否成功( 结果截图 )
- 为所有用户去掉执行与写入权限,并检查是否成功( 结果截图 )
- 为本用户增加写入,同组用户增加执行,其他用户去掉读取权限,并检查是否成功( 结果截图 )
- 为本用户设置写入读取,同组用户设置读取执行,其他用户设置读取权限,并检查是否成功 ( 结果截图 )
使用命令恢复a.txt 最初权限
- 安装ACL工具
sudo yum install acl
备份当前目录下所有文件权限
- 使用命令getfacl与重定向将所有文件的信息写入名为permissions.txt的文件中
查看permissions信息 ( 结果截图 )
恢复原有权限
- cd到创建permissions.txt文件时所在目录
- 使用setfacl从permissions.txt文件重恢复所有文件权限
- 安装ACL工具
任务5:文件属主管理
- 新建 学生姓名 -b.txt、 学生姓名 -c.txt、 学生姓名 -d.txt文件,按要求操作(部分操作可能需要root权限,不存在的用户,按需求创建)
- 改变 学生姓名 -b.txt用户属主为root,并检验是否成功。( 结果截图 )
改变 学生姓名 -c.txt用户属主为root,组属主为root(一条命令),并检验是否成功。( 结果截图 )
更改 学生姓名 -d.txt组属主为root,并检验是否成功。( 结果截图 )
任务6:acl权限
目录 /admin/formation 的属主和属组均为 root, 用户 root 拥有所有权限, root 组只能读和执行,其他人无任何权限,但是用户 学生姓名 1 对此目录具有一切权限, 而用户 学生姓名 2 可以读取该目录下的文件
查看 /admin/formation 目录的ACL权限 ( 结果截图 )
- 使用 学生姓名 1用户和 学生姓名 2用户分别测试权限是否配置成功 ( 结果截图 )
任务7:文件系统权限
- 新建 学生姓名 1.txt、 学生姓名 2.txt,完成以下操作
- 为 学生姓名 1.txt设置只可追加权限
- 为 学生姓名 2.txt设置不可修改权限
- 检验权限设置是否成功。( 结果截图 )
任务8*: 口令管理与口令时效
- 以 学生姓名 用户登录并重新设置其口令
- 使用非交互模式将 学生姓名 用户的口令设置为 2024Kylin (使用 su )( 结果截图 )
echo "2024Kylin" | passwd --stdin 用户名
- 锁定用户 学生姓名 ,显示其口令状态,并尝试以 学生姓名 用户身份登录 ( 结果截图 )
- 解除对 学生姓名 用户的锁定,并尝试以 学生姓名 用户身份登录
- 设置新建用户的口令策略,至少每隔90天修改一次自己的口令
- 设置对 学生姓名 用户的口令策略,至少每隔60天修改一次自己的口令
- 设置 学生姓名 用户 180 天后到期,并提前7天预警
- 强制用户 学生姓名 在首次登录时修改其口令 ( 结果截图 )
任务9*:root密码忘记重设
习题:
- 写出下列命令含义 ``` newgrp stu1
usermod -l hello world
useradd -g group1 -G staff tom -e 12/31/2011 user1 ```
根据要求写出命令
为用户abc设置主组为stu,附加组为hello和world
把用户def添加到组stu中,并保持该用户原有组不变
为用户hij设置口令
根据以下命令运行结果,分别描述stu、test1、test2用户对aa与cc的权限
表1 权限表格
用户 | aa | cc |
---|---|---|
stu | ||
test1 | ||
test2 |
</div> 如需要将aa的拥者变为test2组的test2,需要输入什么命令?