为什么Linux要求用户必须是root用户/使用sudo /每次安装都经过特定授权才能安装某些东西?似乎是否允许用户安装某些东西的决定应该基于他们对源卷/网络共享和安装点的访问权限。非root用户挂载的两个用途是将文件系统映像挂载到用户拥有的方向,并将网络共享挂载到用户拥有的目录。似乎如果用户可以控制安装方程式的两侧,那么一切都应该很酷。
澄清访问限制:
我认为我应该能够装载用户可以访问的任何装载点,否则该装载点将是用户的所有者。
例如,在我的计算机上,/ dev / sda1由拥有权限的root用户和组磁盘拥有brw-rw----
。因此,非root用户不能弄乱/ dev / sda1,并且显然mount不应允许他们挂载它。但是,如果用户拥有/home/my_user/my_imagefile.img和挂载点/ home / my_user / my_image /,为什么他们不能使用以下命令在该挂载点上挂载该映像文件:
mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop
正如kormac指出的那样,存在一个suid问题。因此,必须添加一些限制来防止suid成为问题以及潜在的其他问题。也许这样做的一种方法是使操作系统将所有文件视为属于执行挂载的用户。但是对于简单的读/写/执行,我不明白为什么这会是一个问题。
用例:
我在实验室中有一个帐户,我的家庭空间限制为8GB。这很小,很烦人。我想从我的个人服务器上挂载nfs卷,以实质上增加我所拥有的空间。但是,由于Linux不允许这种事情,所以我只能将来回传输文件的速度限制在8GB以下。
sshfs
吗?它将像您一样通过挂载远程目录ssh
,而无需root访问。它只需要安装FUSE(UserSpacE中的Filesystem)。
sftp
它会比更好用scp
。