问题 1)新建/nsddir1/目录,在该目录下新建文件readme.txt 2)使用户zhangsan能够在/nsddir1/目录下创建/删除子目录 3)使用户zhangsan不能够在/nsddir1/目录下创建/删除子目录 4)使用户zhangsan能够修改/nsddir1/readme.txt文件,调整/nsddir1/目录的权限,使任何用户都不能进入该目录,测试用户zhangsan是否还能修/nsddir1/readme.txt文件的内容 5)将/nsddir1/目录及其下所有内容的权限都设置为 rwxr-x— 方案 设置基本权限的命令主要是chmod,本实验要分清三个基本权限rwx的意义。用户在访问一个目录或文件时,由设置的访问权限+归属关系共同决定最终权限访问权限。 r 读取:允许查看内容-read w 写入:允许修改内容-write x 可执行:允许运行和切换-excute 若对目录有r权限,表示可列出该目录内容。 若对目录有w权限,表示可在该目录下新建/删除/移动文件或子目录。 若对目录有x权限,表示允许cd到该目录下。 步骤 实现此案例需要按照如下步骤进行。 步骤一:新建/nsddir1/目录,在该目录下新建文件readme.txt 命令操作如下所示:
[root@localhost ~]# mkdir /nsddir1 [root@localhost ~]# ls -ld /nsddir1/ //查看是否创建成功 drwxr-xr-x. 2 root root 4096 2月 26 09:55 /nsddir1/ [root@localhost ~]# touch /nsddir1/readme.txt [root@localhost ~]# ls -l /nsddir1/readme.txt //查看是否创建成功 -rw-r--r--. 1 root root 0 2月 26 09:56 /nsddir1/readme.txt [root@localhost ~]#步骤二:使用户zhangsan能够在/nsddir1/目录下创建/删除子目录(此题考查对目录w权限的理解) 命令操作如下所示:
[root@localhost ~]# id zhangsan //查看zhangsan用户是否存在 id: zhangsan:无此用户 [root@localhost ~]# useradd zhangsan //创建zhangsan用户 [root@localhost ~]# ls -ld /nsddir1/ //查看nsddir1目录的权限 drwxr-xr-x. 2 root root 4096 2月 26 09:56 /nsddir1/分析: 首先看zhangsan对于此目录具备有什么权限,zhangsan很明显属于其他人,权限对应为rx,要想让其能够创建、删除子目录,必须让其具备w权限
[root@localhost ~]# su – zhangsan //切换zhangsan用户测试 [zhangsan@localhost ~]$ mkdir /nsddir1/zhangdir //测试是否有权限创建 mkdir: 无法创建目录"/nsddir1/zhangdir": 权限不够 [zhangsan@localhost ~]$exit [root@localhost ~]# chmod o+w /nsddir1/ //为其他人添加W权限 [root@localhost ~]# ls -ld /nsddir1/ //查看是否添加成功 drwxr-xrwx. 2 root root 4096 2月 26 09:56 /nsddir1/ [root@localhost ~]# su – zhangsan //再次切换到zhangsan用户测试 [zhangsan@localhost ~]$ mkdir /nsddir1/zhangdir //测试是否有权限创建 [zhangsan@localhost ~]$ ls /nsddir1/ //查看是否创建成功 readme.txt zhangdir [zhangsan@localhost ~]$步骤三:使用户zhangsan不能够在/nsddir1/目录下创建/删除子目录(此题考查对目录w权限的理解)
[root@localhost ~]# chmod o-w /nsddir1/ //为其他人去掉W权限 [root@localhost ~]# ls -ld /nsddir1/ //查看是否成功 drwxr-xr-x. 2 root root 4096 2月 26 09:56 /nsddir1/ [root@localhost ~]# su – zhangsan //切换zhangsan用户测试 [zhangsan@localhost ~]$ mkdir /nsddir1/zhangdir //测试是否有权限创建 mkdir: 无法创建目录"/nsddir1/zhangdir": 权限不够步骤四:使用户zhangsan能够修改/nsddir1/readme.txt文件,调整/nsddir1/目录的权限,使任何用户都不能进入该目录,测试用户zhangsan是否还能修/nsddir1/readme.txt文件的内容。 分析: 首先要解决zhangsan用户能够修改readme.txt内容 命令操作如下所示:
[root@localhost ~]# ls -ld /nsddir1/readme.txt //查看readme.txt文件的权限 -rw-r--r--. 1 root root 0 2月 26 09:56 /nsddir1/readme.txt分析: 首先看zhangsan对于此目录具备有什么权限,zhangsan很明显是其他人的权限是r权限,在想如何实现让zhangsan修改其内容,需加w权限
[root@localhost ~]# su – zhangsan //切换zhangsan用户测试 [zhangsan@localhost ~]$ echo 123 > /nsddir1/readme.txt //测试是否有权限写入 -bash: /nsddir1/readme.txt: 权限不够 [zhangsan@localhost ~]$ exit logout [root@localhost ~]# chmod o+w /nsddir1/readme.txt //添加w权限 [root@localhost ~]# ls -l /nsddir1/readme.txt //查看是否添加成功 -rw-r--rw-. 1 root root 0 2月 26 09:56 /nsddir1/readme.txt [root@localhost ~]# su – zhangsan //切换zhangsan用户测试 [zhangsan@localhost ~]$ echo 123 > /nsddir1/readme.txt //测试是否有权限写入 [zhangsan@localhost ~]$ cat /nsddir1/readme.txt //查看写入成功 123分析: zhangsan能够修改readme.txt内容了。现在设置/nsddir1权限是任何人都不能进入该目录,只需将所有人的x执行权限去掉即可。 命令操作如下所示:
[root@localhost ~]# ls -ld /nsddir1/ drwxr-xr-x. 2 root root 4096 3月 31 11:38 /nsddir1/ [root@localhost ~]# chmod a-x /nsddir1/ [root@localhost ~]# ls -ld /nsddir1/ drw-r--r--. 2 root root 4096 3月 31 11:38 /nsddir1/ [root@localhost ~]# su - zhangsan [zhangsan@localhost ~]$ cd /nsddir1/ -bash: cd: /nsddir1/: 权限不够 [zhangsan@localhost ~]$ echo 123 > /nsddir1/readme.txt //zhangsan用户无权限修改 -bash: /nsddir1/readme.txt: 权限不够步骤五:将/nsddir1/目录及其下所有内容的权限都设置为 rwxr-x—(本题主要考察选项-R,依然是利用chmod来完成) 命令操作如下所示:
[root@localhost ~]# chmod -R 750 /nsddir1/ //-R为递归修改 [root@localhost ~]# ls -ld /nsddir1/ //查看目录本身权限是否修改 drwxr-x---. 3 root root 4096 2月 26 16:00 /nsddir1/ [root@localhost ~]# ls -l /nsddir1/ //查看子目录子文件权限是否修改 总用量 8 -rwxr-x---. 1 root root 4 2月 26 16:14 readme.txt drwxr-x---. 2 zhangsan zhangsan 4096 2月 26 16:00 zhangdir