尽管其他用户有 sudo,但只有我可以访问 fstab

尽管其他用户有 sudo,但只有我可以访问 fstab

我有一台可供多个用户访问的服务器。该服务器上通过 fstab 挂载了一个 CIFS 驱动器。

挂载 CIFS 驱动器需要以明文形式发送密码。我无法更改这一点。多个用户需要 sudo 访问权限,不幸的是,这也无法更改。

当然,root 拥有 /etc/fstab,里面有我的密码。

有什么方法可以阻止其他具有 sudo 访问权限的用户读取 /etc/fstab?

答案1

不要将密码输入其中/etc/fstab。阅读手册页mount.cifs并注意有关凭证文件的部分:

凭证=文件名|cred=文件名

指定一个包含用户名和/或密码以及可选的工作组名称的文件。该文件的格式为:

         username=value
         password=value
         domain=value

创建一个文件/root/.smbcredentialschmod

# touch /root/.smbcredentials; chmod 600 /root/.smbcredentials

现在编辑它并在其中存储您的用户名和密码:

# vi /root/.smbcredentials

再次检查权限以确保它们正确无误:

# ls -l /root/.smbcredentials
-rw------- 1 root root 31 Oct 31 09:59 /root/.smbcredentials

现在/etc/fstab,从 CIFS 安装行中删除您的密码,然后使用如下内容:

//cifs-server/share  /media/share  cifs   noauto,uid=1000,gid=1000,username=myusername,credentials=/root/.smbcredentials         0       0

验证此方法有效后,更好的方法是使用 @grawity 的建议并创建一个具有自己密码的专用角色帐户,并使用该帐户进行身份验证以安装 CIFS 共享。尽可能限制该帐户无法执行除向 SMB/CIFS 服务器进行身份验证之外的其他操作。那么如果您的 sudo 用户读取您的/root/.smbcredentials文件,他们将无法获得你的密码,他们只能获得有限访问服务帐户的密码。

相关内容