好吧,标题说明了一切,但更清楚的是:
要在本地挂载点挂载共享,我需要执行以下操作
sudo mount -t cifs //location/to-share /home/<user>/some/destination -o gid=<gid>,uid=<uid>,username=<username>
相反,这样做:
mount -t cifs <all the other arguments>
将导致mount: only root can do that
。为什么?为什么我需要成为超级用户?我正在向我的主目录添加一些内容。那为什么我需要超级用户?我确信有一个正当的理由,但它只是让我感到奇怪。
答案1
我认为,为什么普通用户无法在任何地方挂载某个东西的答案是,挂载可以挂载在现有目录上,从而完全隐藏现有目录。如果您对包含二进制文件的目录执行此操作,则用户将能够更改要执行的二进制文件。
现在,如果您拥有该目录(例如您的主目录),那么也许这不是什么大问题。但我认为 root 会想知道在他或她信任该挂载点的内容之前是否挂载了新驱动器。因此,您可以明确允许用户挂载到特定挂载点,但默认是禁止的。
答案2
如果您安装的内容包含setuid root
程序,并且您的安装选项启用了该程序,那么您可以有效地获得 root 权限。因此,无论您在哪里安装内容,允许用户在不需要 root 权限的情况下进行安装都存在安全风险。