为什么给定的用户可以访问一个文件夹,另一个不能?

我有两台服务器:

服务器一:

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 

我无法理解这种行为。 我需要“server two”中的部署用户访问ald文件夹。

有什么想法吗?

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

你的ald目录有权限只执行给用户/组,因此在server1上的用户部署可能是组ftp的成员,而在服务器2上则不是。

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

 useradd -G ftp deploy 

或者将其他执行权限添加到ald目录

 chmod o+x ald