为什么特定用户可以访问某个文件夹而另一个用户却不能?

为什么特定用户可以访问某个文件夹而另一个用户却不能?

我有两台服务器:

服务器一:

deploy@server:/home/vftp$ ls -la
total 24
drwxr-xr-x 6 ftp  ftp  4096 May  7  2013 .
drwxr-xr-x 7 root root 4096 Jul 19  2013 ..
dr-xr-xr-- 3 ftp  ftp  4096 Feb 18  2013 ald

deploy@server:/home/vftp$ cd ald
deploy@server:/home/vftp/ald$ 

服务器二:

deploy@server:/home/vftp$ ls -la
total 24
drwxr-xr-x 6 ftp  ftp  4096 Mar 17 11:01 .
drwxr-xr-x 6 root root 4096 Mar 17 12:44 ..
dr-xr-xr-- 3 ftp  ftp  4096 Mar 17 11:01 ald

deploy@server:/home/vftp$ cd ald
bash: cd: ald: Permission denied

我无法理解这种行为。我需要“服务器二”中的部署用户才能访问该ald文件夹。

有什么想法吗?

答案1

对目录的访问由执行属性 (x) 控制。

您的 ald 目录仅对用户/组具有执行权限,因此服务器 1 上的用户 deploy 可能是组 ftp 的成员,而在服务器 2 上他不是。

更改 server2 上部署的组成员身份

useradd -G ftp deploy

或者添加其他对 ald 目录的执行权限

chmod o+x ald

相关内容