什么是可执行目录?
如果
o+w
设置目录颜色更改为背景绿色,这意味着什么?为什么它不为 执行此操作ug+w
,而只为 执行此操作o+w
?阅读评论后的附加问题:使目录可执行是否存在安全风险?如果是这样,为什么?
答案1
颜色
DIR_COLORS*
颜色由位于“/etc.”下的文件控制。例如,在 Fedora 19 上我有以下 3 个文件:
$ ls -l /etc/DIR_COLORS*
-rw-r--r--. 1 root root 5004 Jan 20 2014 /etc/DIR_COLORS
-rw-r--r--. 1 root root 5682 Jan 20 2014 /etc/DIR_COLORS.256color
-rw-r--r--. 1 root root 4646 Jan 20 2014 /etc/DIR_COLORS.lightbgcolor
颜色完全是装饰性的,并且会关闭ls
正在生成的输出。您可以像这样禁用它:
$ ls --color=never <other options>
这些DIR_COLORS*
文件可以查看,它们只是文本,并且有很好的注释,解释了它们的功能。这行就是它显示为绿色的原因:
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
可执行目录
目录必须是可执行的,以便用户可以cd
进入其中并运行命令。如果没有该位,则无法访问目录。
$ mkdir adir
$ chmod 644 adir
$ cd adir
bash: cd: adir: Permission denied
其背后的原因已在 U&L 的其他问答中进行了广泛讨论,标题为:执行与读取位。 Linux 中的目录权限如何工作?。