我需要为使用AD用户登录到Centos机器的用户装载Synology cifs共享。语法位于域中,并且已将共享分配给组。Linux位于域中,用户首次登录时会自动创建主目录。由于多年以来一切都已就绪,因此我不能从Samba更改为NFS或其他类型的文件系统。
举例说明。用户John Doe属于John Group,具有共享SynJohn
来自另一个组的Mary有另一个文件夹。John进入并需要访问SynJohn,因为这是他第一次根据skel目录填充他的主页,但我事先不知道他是否有域帐户,并且我不能(也不想)在/etc/fstab中手动创建条目。
在Synology上,根文件夹不是共享的,所以我不能挂载/volumex/,并允许人们访问/volumex/SynJohn /volumex/SynMary等。
我尝试在挂载-t cifs上授予sudo权限,但由于挂载点发生了变化,这似乎是不可能的。不允许在/etc/fstab中使用变量。
我的想法是创建一个凭证文件,让用户填充它,并使用它手动挂载共享,或者更好地通过bashrc自动挂载。
我希望我已经或多或少地解释了.
非常感谢
发布于 2021-09-21 11:03:57
·我建议您,每个用户应该只对他们被特别授予访问权限的共享拥有写访问权限。因此,出于此目的,当AD用户登录到linux系统上远程装载的共享时,您可以使用以下命令并使用一个凭据文件,该文件包含正在访问文件共享的相关用户的用户名、密码和域。有关详细信息,请参阅下面的命令:-
‘ sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain>
//WIN_SHARE_IP/<share_name> /mnt/win_share ‘ - when the user is in windows
AD domain
Credentials format - username=user
password=password
domain=domain·要对凭据文件设置正确的权限和所有权,请运行以下命令-
‘ $sudo chown root: /etc/win-credentials
$sudo chmod 600 /etc/win-credentials ‘要使用凭据文件,请将其定义为-‘sudo mount -t cifs -o credentials=/etc/win-credentials //win_share_IP/ /mnt/win_share’
·默认情况下,如果装载的共享归超级用户所有,并且权限设置为777,则使用dir_mode选项设置目录权限,使用file_mode设置文件权限:-
'sudo mount -t cifs -o credentials=/etc/win-
credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name>
/mnt/win_share'可以使用uid和gid选项更改默认用户和组所有权,如下所示:-
‘ sudo mount -t cifs -o credentials=/etc/win-
credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755
//WIN_SHARE_IP/<share_name> /mnt/win_share ‘要设置其他选项,请将它们作为逗号分隔的列表添加到-o选项之后。要获得所有挂载选项的列表,请在终端中输入man mount。
https://stackoverflow.com/questions/69179195
复制相似问题