Как я могу автоматически установить права на запись при монтировании USB-накопителя в Linux?
18
Когда я подключаю внешний USB-накопитель в Linux (CentOs4), разрешения по умолчанию устанавливаются только для чтения. Поскольку на компьютере есть несколько пользователей, которым необходимо использовать внешний диск, я хочу, чтобы у всех было rwразрешение на весь диск. Я также хочу, чтобы они могли смонтировать диск, если компьютер был случайно выключен. Они могут использовать sudo mountдля монтирования диска, но это даст им только разрешение на чтение, и я, очевидно, не хочу разрешать sudo chmod.
Есть ли настройка по умолчанию, которую я могу изменить, чтобы каждый новый внешний USB-диск автоматически получал rwразрешения?
Чтобы разрешить всем права доступа 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 - нет записи группы, нет другого доступа.
Я получаю ошибку с «плохой вариант», если я добавляю umask=0 0 0 запись в fstab. umaskДолжен ли -entry быть последней записью? Что делает managed=0 0 0запись, которая в данный момент последняя?
Джонас
1
FWIW, опция umask - это опция только для VFAT, т. Е. Решение помогает, если на USB-накопителе используется файловая система VFAT (в моем случае это не так).
Томислав Накич-Альфиревич
2
Спасибо. Но мне пришлось изменить его, чтобы он работал: sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhereон работает только без установки параметра gid.
Ниппи
2
Добавьте запись в / etc / fstab. Вот запись, которую я добавил всего несколько часов назад для моего USB-накопителя Seagate:
UUID = 4ACC734ECC733375 / media / Linux ext3 ошибки = remount-ro, значения по умолчанию, пользователи, noatime, nodiratime 0 0
Ключевым моментом здесь является запись «users», которая позволяет пользователям подключать и отключать диск.
Изменить: это работает для определенных дисков - я не знаю, можно ли его включить для всех дисков с одной записью.
Если пользователь установит диск, все остальные пользователи также получат rwразрешение?
Джонас
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
umask=0 0 0
запись в fstab.umask
Должен ли -entry быть последней записью? Что делаетmanaged=0 0 0
запись, которая в данный момент последняя?sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhere
он работает только без установки параметра gid.Добавьте запись в / etc / fstab. Вот запись, которую я добавил всего несколько часов назад для моего USB-накопителя Seagate:
UUID = 4ACC734ECC733375 / media / Linux ext3 ошибки = remount-ro, значения по умолчанию, пользователи, noatime, nodiratime 0 0
Ключевым моментом здесь является запись «users», которая позволяет пользователям подключать и отключать диск.
Изменить: это работает для определенных дисков - я не знаю, можно ли его включить для всех дисков с одной записью.
источник
rw
разрешение?Тип
mount
. Это даст текущее место, где он находится. Вот мой вывод.Последний - мой usb-накопитель, автоматически устанавливаемый Linux Mint.
Сейчас типа
это размонтирует диск
Теперь перемонтируйте правильно.
источник