授予所有用户访问已挂载 CIFS 共享的权限

Cyb*_*cob 9 filesystems permissions debian cifs

我正在尝试设置一个 debian 服务器,该服务器将运行多个基于网络的服务。这些服务需要访问外部网络驱动器来存储其数据。出于安全原因,我已将每个服务设置为在其自己的用户下运行。为了让他们都能访问网络共享,我创建了一个新组,driveaccessgip 1003

然后我通过将以下内容添加到 /ets/fstab 来设置网络共享

//192.168.42.2/Data/ /media/Data cifs guest,rw,mand,gid=1003,forcegid,user=duckies%swordfish 0 0
Run Code Online (Sandbox Code Playgroud)

安装驱动器后,服务帐户将权限视为

-rwxr-xr-x 1 root driveaccess   1544704 Jun  1  2013 AppData1.dat
Run Code Online (Sandbox Code Playgroud)

并且进程可以毫无问题地读取数据,但任何写入驱动器的尝试都会失败

touch: cannot touch `test.txt': Permission denied
Run Code Online (Sandbox Code Playgroud)

我需要向 fstab 添加什么才能让 driveaccess 组中的所有内容写入共享?

我已经执行了:

usermod -aG driveaccess serviceaccount1
Run Code Online (Sandbox Code Playgroud)

Mar*_*ert 15

您可能希望在fstab条目中为已挂载的文件系统添加显式权限:

<your other options>,file_mode=0770,dir_mode=0770
Run Code Online (Sandbox Code Playgroud)

通过允许所有组成员读取、写入和执行所有文件并禁止访问系统的任何其他用户,这将是安全的。如果您仍然想要其他人的读取访问权限,则必须将 替换为0适当的值。例如

<your other options>,file_mode=0775,dir_mode=0775
Run Code Online (Sandbox Code Playgroud)

用于读取和执行权限。