我从chmod开始。 我已经build立了一个组,并授予他们权限(777),组内的每个用户都可以在/ www /目录中做任何他们想做的事情。
但是,我需要将权限更改为其他任何人。 所以我写下了:
$ chmod -R o-rwx /www/ && chmod -R o+rw /www/some_interesting_dir
因为我只想让他访问该目录。 但他无法执行“cd / www / some_interesting_dir”,控制台说权限被拒绝。
我究竟做错了什么?
非常感谢你!
您应该使用o+rwX
来代替o+rw
,它将执行权限位应用于结构中的所有目录,允许用户实际访问它们。 (执行位需要cd
或从目录或任何子目录读取文件。)
通过目录,可执行位允许您查看目录的内容。 你需要为目录添加'o + x':
find -type d -exec chmod o+x "{}" \;
给其他用户+rw
许可似乎打败了目的; 你正在给每个人写目录中所有内容的权限。
用户必须具有对他所经过的目录的执行访问权限,结果是,虽然他可以看到/ www /里面的内容,但他仍然不能对其中的任何文件做任何事情(因为他们有自己的权限)
只需chmod o+x www