17

Когда я подключаю внешний USB-накопитель в Linux (CentOs4), разрешения по умолчанию устанавливаются только для чтения. Поскольку на компьютере есть несколько пользователей, которым необходимо использовать внешний диск, я хочу, чтобы у всех было разрешение rw для всего диска. Я также хочу, чтобы они могли смонтировать диск, если компьютер был случайно выключен. Они могут использовать sudo mount для монтирования диска, но это даст им только разрешение на чтение, и я, очевидно, не хочу разрешать sudo chmod .

Есть ли настройка по умолчанию, которую я могу изменить, чтобы каждый новый внешний USB-диск автоматически получал разрешения rw ?

3 ответа3

17

Чтобы разрешить всем права доступа rw, ключом является опция umask = 0 для подключения команды.

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0 достаточно, uid и gid просто для ясности, поэтому вы не видите больше «корневых» владельцев, чем обязательно.


@ Ответ Тома (запись в /etc /fstab) позволит вам пропустить sudo и если вы напишете там umask = 0 в качестве дополнительной опции, вы получите лучшее из обоих миров:

Имея это в /etc /fstab:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

позволяет просто запустить

mount /dev/something

и каждый имеет доступ ко всем файлам.


Вот техническое примечание, если вы хотите узнать подробности:

Как говорит man mount , 'umask = 0' гарантирует, что никакие дополнительные правила не будут применяться к режиму доступа к файлам. Для файловых систем FAT (которые наиболее широко используются на USB-дисках) режим хранения не сохраняется. Но в вашем текущем процессе установлен некоторый набор значений umask, вы можете увидеть его, если просто запустите umask в терминале. mount использует это по умолчанию и удаляет режим доступа вашего значения umask из всех файлов на смонтированном диске. Наиболее широко используемыми значениями umask являются (восьмеричные) 022 - нет записи группы и другой записи, и 027 - нет записи группы, нет другого доступа.

2

Добавьте запись в /etc /fstab. Вот запись, которую я добавил всего несколько часов назад для моего USB-накопителя Seagate:

UUID = 4ACC734ECC733375 /media /Linux ext3 ошибки = remount-ro, значения по умолчанию, пользователи, noatime, nodiratime 0 0

Ключевым моментом здесь является запись "users", которая позволяет пользователям подключать и отключать диск.

Изменить: это работает для определенных дисков - я не знаю, можно ли включить его для всех дисков с одной записью.

1

Типа mount . Это даст текущее место, в котором он находится. Вот мой вывод.

rick@rick-Main ~ $ mount
/dev/sda4 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/cgroup type tmpfs (rw)
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)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

Последний - мой usb-накопитель, автоматически установленный Linux Mint.

Сейчас типа

sudo umount /dev/sdf1

это размонтирует диск

Теперь перемонтируйте правильно.

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .