如何获取所有用户对系统中添加的新驱动器的权限 - 12.10

如何获取所有用户对系统中添加的新驱动器的权限 - 12.10

我添加了一个新磁盘,其中只有一个ext4分区,我想将其用作/dev/sdd1所有用户和偶尔的 samba 用户的共享多媒体驱动器。当我以 root 身份登录时,它似乎工作正常,但我似乎无法为其他人添加 rwx 权限。我使用 gksu 下的 nautilus 更改了 media/nick 中媒体存储文件夹的属性(权限选项卡),但似乎对其他用户的权限没有影响。

我是否必须登录到每个其他用户,使用超级用户权限挂载驱动器,然后更改每个用户挂载点文件夹的挂载权限?这似乎对每个用户来说都是一项艰巨的工作,尤其是如果它不是永久性的。我想我应该在 fstab 中添加几行……

..但说实话,作为一个新手,我已经迷失了方向,希望您能就简单的操作指南给我一些指点。

我的安装输出如下...可能很混乱...

/dev/sdc1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
gvfsd-fuse on /run/user/nick/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=nick)
/dev/sde1 on /media/nick/Elements type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdc2 on /media/gill/XPMedia type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb1 on /media/nick/MultiMedia type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda1 on /media/nick/System type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
gvfsd-fuse on /run/user/gill/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=gill)
/dev/sdd1 on /media/nick/Media Store type ext4 (rw,nosuid,nodev,uhelper=udisks2)

这是我的 Fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdd1 during installation
UUID=bafb49a7-48da-4ec0-9ce2-639d831591d9 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sdd5 during installation
UUID=58d2c95e-afaf-4adb-9c46-ae0f05af056c none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

系统中不再有软盘,所以我想我可以毫无问题地删除它。

谢谢,

缺口

答案1

一种选择是创建一个对该文件夹具有读/写权限的组,然后将每个用户添加到该组。

首先,您需要创建一个新组:

groupadd my_media_group

然后更改文件的权限。假设/dev/sdd1安装在/media/nick/Media Store

sudo chgrp /media/nick/Media\ Store my_media_group
sudo chmod -R 2770 /media/nick/Media Store

第一个命令将更改该文件夹的组。第二个命令将为所有者和组 (770) 设置 rwx 权限,并使新创建的文件拥有父文件夹的组 (2)。如果该文件夹中已有文件,可能还需要更改它们的组(可以使用 进行更改chgrp -R

最后,将系统中的每个用户添加到该组:

sudo usermod -a -G my_media_group <username>

我还没有尝试过这个,这可能不是最好的方法,但如果它不起作用,你应该能够使用chgrp和返回chmod

希望这可以帮助。

答案2

您需要向 fstab 添加一个条目,该条目将定义驱动器的安装方式/位置以及允许其他用户的权限。添加到 fstab:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /media/nick/Media\ Store ext4 umask=022,errors=remount-ro,user  0  2

其中 UUID 号码是您要安装的驱动器的 UUID 号码。

如果您的 ext4 驱动器有标签(可能为“媒体存储”),那么您可以使用标签代替 UUID,例如:

LABEL=Media\ Store   /media/nick/Media\ Store ext4 umask=022,errors=remount-ro,user 0  2

umask 为 022 将允许任何人创建新文件,但是仅有的所有者(创建者)和根用户将能够更改该文件。

相关内容