背景

permission  denied 即权限拒绝  没有权限,是我们常见的故障之一。 接下来我们以3个例子说明一下。

题目

[oldboy@show ~]$ whoami 
oldboy
[oldboy@show ~]$ ls /root/
ls: cannot open directory /root/: Permission denied

[oldboy@show ~]$ rm -f /etc/passwd
rm: cannot remove `/etc/passwd': Permission denied

[oldboy@show ~]$ ls -l /tmp/oldboy.txt 
-rw-r--r-- 1 root root 6 Jun 26 22:32 /tmp/oldboy.txt
[oldboy@show ~]$ echo hello oldboy >>/tmp/oldboy.txt 
-bash: /tmp/oldboy.txt: Permission denied

为何会报错呢?

显示目录里面的内容 ls

[oldboy@show ~]$ whoami 
oldboy
[oldboy@show ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[oldboy@show ~]$ ls -ld /root/
dr-xr-x---. 14 root root 262144 Jun 26 22:15 /root/

说明:

显示目录里面的内容 需要oldboy用户对这个目录要有r和x的权限。
目前oldboy用户对/root目录是属于其他人,/root目录其他人是没有任何权限的

删除一个文件的权限

[oldboy@show ~]$ ls -ld /etc
drwxr-xr-x. 88 root root 12288 Jun 26 21:34 /etc
[oldboy@show ~]$ rm -f /etc/passwd
rm: cannot remove `/etc/passwd': Permission denied

说明:

删除一个文件需要oldboy用户对这个文件的上一级目录 拥有w和x权限。
因为文件名实际存放在目录的block中。所以oldboy用户要删除/etc/passwd 实际上是删除/etc/目录block的信息。

向文件中写入数据

[oldboy@show ~]$ ls -l /tmp/oldboy.txt 
-rw-r--r-- 1 root root 6 Jun 26 22:32 /tmp/oldboy.txt
[oldboy@show ~]$ echo hello oldboy >>/tmp/oldboy.txt 
-bash: /tmp/oldboy.txt: Permission denied

说明

对于修改文件的内容,要看oldboy用户对这个文件是否有r和w的权限。
目前oldboy用户对oldboy.txt 没有w权限 所以报错 permission denied.

备注

今天是每日一题陪伴大家的第93天期待你的进步

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引

http://lidao.blog.51cto.com/3388056/1914205