我有一个安装在 RHEL VM 上的 NFS 卷。我通过 LDAP 服务器访问文件。当一个 LDAPusera
访问时,同一文件不能被另一个 LDAP 用户somefile
修改(例如编辑) 。 LDAP 服务器作为 NFS 服务器上的客户端添加。我不想使用 root 。touch
userb
chmod 777
somefile
如何为卷中的所有 LDAP 用户授予完全权限?
示例:这里我创建了一个名为71.pdf
user 的文件cs71
。但当用户cs70
尝试访问它时,他的权限被拒绝。
[root@nfs]# su [email protected]
[cs71@nfs]$ touch 71.pdf
[cs70@nfs]$ ls -la
-rw------- 1 cs71 http 2 May 10 09:37 71.pdf
[cs71@nfs]$ echo "a" > 71.pdf
[cs71@nfs]$ exit
[root@nfs]# su [email protected]
[cs70@nfs]$ touch 71.pdf
touch: cannot touch ‘71.pdf’: Permission denied
答案1
您的问题可能与 LDAP 无关。
在Linux中,一个文件有一个用户所有者(拥有该文件的用户;通常是创建该文件的用户)和群组所有者。权限规定了两者可以执行的操作。你的文件71.pdf
是:
-rw------- 1 cs71 http 2 May 10 09:37 71.pdf
拥有该文件的用户是cs71
。拥有该文件的组是http
。根据权限-rw-------
,只有用户所有者cs71
才能读/写该文件。其他任何人(包括属于组 的用户http
)都无法执行任何操作。
使文件可由多个用户读取/写入的能力由其group
所有者提供。如果group
所有者对该文件具有某些权限,则属于该组的所有用户对该文件具有相同的权限。
情况1
如果cs70
和cs71
属于 group http
,您可以简单地执行以下操作:
[root@nfs]# su [email protected]
[cs71@nfs]$ chmod g+rw 71.pdf
或者
[root@nfs]# su [email protected]
[cs71@nfs]$ chmod 660 71.pdf
案例2
如果cs70
和cs71
不同时属于 group http
,但它们都属于另一个 group somegroup
,您可以:
[root@nfs]# su [email protected]
[cs71@nfs]$ chgrp somegroup 71.pdf
[cs71@nfs]$ chmod g+rw 71.pdf
案例3
如果cs70
没有cs71
共同的组,您可以要求 LDAP 管理员创建它,并将其添加到一个组中。中学cs70
和 的组cs71
(警告:它是基本的该团体是中学并且它添加cs70
到cs71
已经属于的组,没有替换它们)。