什么 sudoer 规范允许用户挂载 cifs 共享?

什么 sudoer 规范允许用户挂载 cifs 共享?

我正在尝试在 /etc/sudoers 中创建一行,允许“用户”组的成员在自己的主目录内的任何位置安装 cifs 共享。在我的第一次尝试中,我尝试了:

%users ALL=/bin/mount -t cifs /home, /bin/umount /home

...诚然,这并没有将它们限制在自己的主目录中。作为用户,当我尝试命令时:

sudo mount -t cifs ~/mount //hostname/sharename -o username=myuserid,domain=mydomain

...我收到密码提示,然后收到错误:

Sorry, user myuserid is not allowed to execute '...command...' as root on servername.

有什么方法可以强制 sudoers 指定我想要的内容吗?

答案1

我想出了如何做到这一点,减少了您在自己目录中的限制:

%users localhost, hostname = NOPASSWD: /bin/mount -t cifs //*/* /home/* -o username=*, /bin/umount /home/*

有谁知道如何将用户限制在自己的主目录中?

答案2

您最好让用户能够使用 FUSE 文件系统挂载其 cifs 共享。

答案3

值得注意的是,除非安装点位于 /etc/fstab 中,否则某些最新版本的 mount.cifs 会失败,即使它们安装了 setuid,因此我预计您的 sudo 方法在这些版本中会失败。

http://fedoraforum.org/forum/showthread.php?p=1329591

https://bugs.launchpad.net/ubuntu/+bug/657900

作为替代方案,您可以尝试以下方法之一:

SMB网络文件系统

熔断器SMB

答案4

我不禁想到 pam_mount 通过让用户能够在会话开始时安装此类网络卷来解决一半的难题。

相关内容