我的目标是阻止除所有者之外的其他用户的修改/读取权限。关于评论的On ubuntu forum两种方法都给出了。
示例:
sudo useradd -d /home/newuser -m newuser;
sudo chmod 700 /home/newuser # or # chmod go-rwx /home/newuser
=> chmod go-rwx
和chmod 700
之间是否有任何区别,或者两者都完成同样的事情?如果建议使用哪一个有区别?
答案 0 :(得分:11)
go-rwx
从 g 中删除 r ead, w rite,e x ecute权限roup和 o 其他用户。它将不更改拥有该文件的 u 服务器的权限。
因此,例如在命令之后,具有644(rw-r--r--
)权限的文件将具有600(rw------
)。
chmod 700
将始终将权限更改为700(rwx------
),无论之前的权限如何。
所以这取决于你想要完成的事情。
注意:
-R
更改整个目录时,这会使go-rwx
更有用,因为e x 可执行标记通常只在文件夹上设置(因此它们可以是输入)和程序文件。
使用700
会将 x 可执行标记添加到尚未拥有的所有文件中,这通常不是您所拥有的想做。chmod 700
在其他表示法中实际看起来的一般效果是chmod u+rwx,go-rwx
或chmod u=rwx,go=
(授予对 u ser拥有文件的所有权限,删除 g roup和 o 的所有权限ugo±rwx
语法方案。答案 1 :(得分:3)
可能会有所不同: chmod 700允许所有者读取,写入和执行,并且不为Group和Other提供权限。
chmod go-rwx从组和其他人中删除了读/写/执行权限,但保留了所有者拥有的任何权限。
因此,例如,如果所有者对文件没有执行权限,并且只有读写,则结果可能不同。使用chmod 700,所有者也将获得执行权限,而他不会使用chmod go-rwx