全站搜索 公开课 学习资料 未分类

RHCE培训课堂实验-21 开放研究实验-控制对文件的访问

系统技术 136

红帽系统管理1-学员练习册-07控制对文件的访问.pdf —P217

在本实验中,您将配置文件权限并设置一个目录,使得特定组中的用户可以使用该目录方便地共享本地文件系统上的文件。

目标:

创建一个目录, 让用户能够在该目录中协作处理文件。

创建自动分配组所有权的文件。

创建在组外无法访问的文件。

实验准备工作:

student用户身份并使用student作为密码登录workstation

workstation上,运行lab perms-review start脚本来开始本练习。该脚本还会创建techdocs组,以及名为tech1 、tech2和database1的三个用户。


[student@workstation ~]$ lab perms-review start
 

1 使用ssh命令,以student用户身份登录serverb。将redhat用作密码,在serverb上切换到root


[student@workstation ~]$ ssh student@serverb
[student@serverb ~]$ su -
 

2 创建名为/home/techdocs的目录。

2.1 使用mkdir命令,创建一个名为/home/techdocs的目录。


[root@serverb ~]# mkdir /home/techdocs
 

3 /home/techdocs目录的组所有权更改为techdocs组。

3.1 使用chown命令,将/home/techdocs目录的组所有权更改给techdocs组。


[root@serverb ~]# chown :techdocs /home/techdocs
 

4 验证techdocs组中的用户是否能够在/home/techdocs 目录中创建和编辑文件。

4.1 使用su命令,切换为tech1用户。


[root@serverb ~]# su - tech1
 

4.2 使用touch, 在/home/techdocs目录中创建一个名为techdoc1.txt 的文件。


[tech1@serverb ~]$ touch /home/techdocs/techdoc1.txt
 

注意

请注意,即使/home/techdocs目录归techdocs所有,并且tech1techdocs组的成员,也无法在该目录中创建新文件。这是因为techdocs组没有写入权限。使用ls -ld命令显示其权限。

[tech1@serverb ~]$ ls -ld /home/techdocs/

5 设置/home/techdoc目录的权限。对/home/techdoc目录配置setg id(2)所有者/用户和组具有读取/写入/执行权限(7)其他用户则没有权限(0)

5.1 从tech1用户shell退出。


[tech1@serverb ~]$ exit
  

5.2 使用chmod命令设置/home/techdocs目录的组权限。对/home/techdocs目录配置setgid(2)所有者/用户和组具有读取/写入/执行权限(7)其他用户则没有权限(0)


[root@serverb ~]# chmod 2770 /home/techdocs
 

6 验证是否已正确设置权限。


[root@serverb ~]# ls -ld /home/techdocs
 

注意

techdocs组现在具有写入权限。

7 确认techdocs组中的用户能够在/home/techdocs目录中创建和编辑文件。不属于techdocs组的用户无法在/home/techdocs目录中创建和编辑文件。用户tech1tech2techdocs组中。用户database1不在该组中。

7.1 切换到tech1用户。使用touch, 在/home/techdocs目录中创建一个名为techdocl.txt的文件。从tech1用户shell退出。


[root@serverb ~]# su - tech1
[tech1@serverb ~]$ touch /home/techdocs/techdoc1.txt
[tech1@serverb ~]$ ls -l /home/techdocs/techdoc1.txt
[tech1@serverb ~]$ exit
 

7.2 切换到tech2用户。使用echo命令,在/home/techdocs/techdoc1.txt 文件中添加一些内容。从tech2用户shell退出。


[root@serverb ~]# su - tech2
[tech2@serverb ~]$ cd /home/techdocs
[tech2@serverb techdocs]$ echo "This is the first tech doc." > techdoc1.txt
[tech2@serverb ~]$ exit
 

7.3 切换到database1用户。使用echo命令,在/home/techdocs/techdoc1.txt文件中附加一些内容。请注意,您会收到Permission Denied消息。使用ls -l命令,确认databasel 没有该文件的访问权限。从database1用户shell退出。


[root@serverb ~]# su - database1
[database1@serverb ~]$ echo "This is the first tech doc." >> /home/techdocs/techdoc1.txt
[database1@serverb ~]$ ls -l /home/techdocs/techdoc1.txt
[database1@serverb ~]$ exit
 

8 修改全局登录脚本。普通用户应具有一个umask设置,该设置将阻止其他入查看或修改新的文件和目录。

8.1 确定student用户的umask。使用su – student命令切换到student的登录shell。完成后,退出shell


[root@serverb ~]# su - student
[student@serverb ~]$ umask
[student@serverb ~]$ exit
 

8.2 对千UID大于199且用户名和主要组名相匹配的用户,使用以下内容创建/etc/profile.d/local-umask.sh文件,从而将umask 设为007,其他人的则设为022


[root@serverb ~]# vim /etc/profile.d/local-umask.sh

#将下列内容添加到 /etc/profile.d/local-umask.sh 中
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
	umask 007
else
	umask 022
fi
 

8.3 从shell注销并以student身份重新登录,验证全局umask是否更改为007


[root@serverb ~]# exit
[student@serverb ~]$ exit
[student@workstation ~]$ ssh student@serverb

[student@serverb ~]$ umask
 

9 serverb注销。


[student@serverb ~]$ exit
 

评估

workstation上,运行lab perms-review grade脚本来确认是否成功完成本练习。


[student@workstation ~]$ lab perms-review grade
 

完成

workstation上,运行lab perms-review finish脚本来完成实验。


[student@workstation ~]$ lab perms-review finish
 

本实验到此结束。

扫码添加教务-杨老师微信号,备注“红帽”,可免费领取实验环境和完整的PDF技术资料。

上一篇:

相关推荐

展开更多
1
点击联系客服咨询!咨询电话:0756-2180090