在使用类unix系统时,有时会碰到
permission denied
的情况。
这时上网查询,往往得到的解决方案都是
chmod 777 filename
然而,稍稍留意就会意识到777的二进制是 111 111 111
这意味着这个命令可能是把所有操作的权限都设置为允许。
因此这往往是个非常不好的操作习惯。
如果使用ls -l
查看文件(夹)权限,
则有类似如下的输出
# Output
-rw-r--r--
drw-r--r--
每个文件有四组十个字符(1-3-3-3)
d -> directory(文件夹)
r -> read
w -> write
x -> execute
- -> no permission
第一组指出文件类型
第二组对应user的权限
第三组对应user所在group的权限
第四组对应其他用户的权限
# 此时可知 chmod 777 对应于打开全部权限
chmod 777
ls -l
# -rwxrwxrwx