как привести ко всем пользователям разрешение чтения-записи для файлов в общий каталог

Я установил систему Ubuntu в диске SS, и я хочу, чтобы пользователи получили доступ к разделам второго (механического) диска, поскольку общие хранилища с полным читали/писали/удаляли полномочия для каждого файла. И я желаю, чтобы каждый пользователь видел, такой раздел (скажите, что/dev/sdb7) как каталог с фиксированным именем (говорят что/home/the_user/F). Мне рекомендовали (Действительно ли возможно смонтировать раздел как общее хранилище для пользователей с тем же относительным путем?) для монтирования раздела во время начальной загрузки и к символьной ссылке, что точка монтирования к где-нибудь в доме пользователя. Однако в руководстве для

link
Я вижу опцию
‘-d’
‘-F’
‘--directory’
     Allow users with appropriate privileges to attempt to make hard
     links to directories.  However, note that this will probably fail
     due to system restrictions, even for the super-user.
Я боюсь его. Советуйте мне пример надлежащей ссылки; и соответствующая группа или bindfs управляют, чтобы использоваться при пользовательском входе в систему или однажды навсегда полностью.Спасибо!
1
задан 28 August 2017 в 00:39

3 ответа

Что касается вашего беспокойства по поводу ссылки на смонтированный каталог, похоже, вы просто наткнулись на неправильную программу. Согласно вашему сообщению вам посоветовали создавать символические ссылки (т.е. символические ссылки). Однако команда link создает только жесткие ссылки. Для создания символических ссылок вы можете использовать вместо этого команду ln, например:

ln -s /path/to/mount/point  /home/the_user/F

Что касается общего доступа, вы можете настроить это с помощью ACL (списки контроля доступа), например:

sudo setfacl -Rm g:mount-group:rwx /path/to/mount/point
sudo setfacl -Rdm g:mount-group:rwx /path/to/mount/point

Чтобы продемонстрировать, как это может выглядеть, и дать вам отправную точку для экспериментов, вот более длинный пример, который привязывает-монтирует каталог (вы бы заменили его фактическим желаемым монтированием), устанавливает его владельца и разрешения (используя списки контроля доступа), а затем создает символическую ссылку на него в другом каталоге:

# Create a group to own the shared mount
sudo groupadd mount-group

# Create a user that belongs to this group
sudo adduser mount-user
sudo usermod -a -G mount-group mount-user

# Create a directory to mount
mkdir /tmp/mount-source

# Create the mount-point
mkdir /tmp/mount-target

# Bind-mount the directory onto the mount point
sudo mount --bind /tmp/mount-source /tmp/mount-target

# Set the group owner for the mounted volume
sudo chown :mount-group /tmp/mount-target

# Set the group permissions to match the user permissions
sudo chmod -R g=u /tmp/mount-target

# Set the setgid bit on the mounted volume
sudo chmod g=u,g+s /tmp/mount-source

# Set the ownership and permissions for the mounted volume using an ACL
sudo setfacl -Rm g:mount-group:rwx /tmp/mount-target

# Set the default ownership and permissions for files created inside the mount-point
sudo setfacl -Rdm g:mount-group:rwx /tmp/mount-target

# Login as the test user
su -l mount-user

# Link a subdirectory inside the user's home folder to the mounted volume
ln -s /tmp/mount-target ~/link-to-mount-target

# Create a new file inside the mounted volume
echo 'Hello world!' > ~/link-to-mount-target/hello.txt

# Check the permissions on the new file
getfacl ~/link-to-mount-target/hello.txt
1
ответ дан 7 December 2019 в 13:30

Вы не должны использовать жесткие ссылки, на самом деле мы не можем создать жесткую ссылку на каталог, потому что это делает цикл в иерархии файловой системы.

необходимо использовать -s опция создать символьную ссылку (символьная ссылка):

Скажем, я смонтировался /dev/sda7 на /media/some/mount/point. Для создания ссылки на этот путь, я должен работать:

ln -s [target] [symlink]

Как:

ln -s /media/some/mount/point  /home/username/F

разрешение ссылки было бы 777, но однако символьная ссылка является другим файлом от Вас фактический каталог, это только предоставляет доступ к самой символьной ссылке, и у пользователя должны быть корректные полномочия смочь работать с файлами в /media/some/mount/point.

1
ответ дан 7 December 2019 в 13:30

Я думаю, что ваш вопрос требует двух двойных ответов: во-первых, при монтировании устройства в файловой системе, а во-вторых, при привязке места назначения.

Перед началом

Для следующих объяснений требуется терминальная программа (сочетание клавиш: Ctrl + Alt + t ) для ввода команд в.

Вам также понадобятся привилегии суперпользователя. Обычно (как первый пользователь после новой установки) вы получаете привилегии, набирая sudo перед командой. После этого (как правило, если вы первый пользователь после новой установки), вы должны указать свой собственный пароль перед выполнением команды.

Ваш жесткий диск («механический» диск) должен быть уже подключен к вашему компьютеру и правильно отформатирован в файловой системе (например, ntfs или ext4).

Осторожно! Изменяя файл fstab, вы работаете с внутренними компонентами, которые могут помешать загрузке компьютера. Это не постоянный урон, но для ремонта потребуется умение и время. Работайте с ним осторожно.

Если вы сомневаетесь в какой-либо из вышеуказанных предпосылок, пожалуйста, спросите в комментарии.

Монтирование диска во время загрузки

Монтирование дисков во время загрузки производится в файле /etc/fstab. Для этого вам нужно знать либо UUID вашего «механического» диска, либо хотя бы его имя в каталоге /dev.

Найдите UUID и имя (аналогично /dev/sdb5) вашего диска:

ls -l /dev/disk/by-uuid

Он будет указан здесь. Теперь определите файловую систему. Он будет указан в последнем столбце соответствующей строки

sudo fdisk -l | less

Далее, определитесь с путем монтирования и создайте его:

sudo mkdir -p /media/shareddrv

Зная UUID диска, имя, и тип файловой системы, ваша строка конфигурации для /etc/fstab выглядит следующим образом:

UUID=481aba75-c8a7-4b70-bdc4-fab4de7c1410  /media/shareddrv  ext4  errors=remount-ro  0  2

где UUID=481aba75-c8a7-4b70-bdc4-fab4de7c1410 может быть чем-то вроде /dev/sdb5, если у вас возникли проблемы с установлением UUID. Часть /media/shareddrv - это место, которое вы определили, а ext4 - это тип раздела, который зависит от вашего диска. Остальное остается предпочтительно, как здесь.

Вы должны добавить всю эту строку в ваш /etc/fstab. Поскольку есть много способов сделать это, один из них очень удобен - использовать sudo nano /etc/fstab и набирать / вставлять строку в конце файла.

Теперь сделайте так, чтобы ваши изменения работали на вас: самый простой способ - перезагрузить компьютер (например, sudo init 6 или sudo shutdown -h now). Если все работает, вы увидите свой «механический» диск и его точку монтирования после того, как напечатаете: df -h в терминале.

Связывание диска в пользовательских каталогах

Эта часть может быть сделана пользователь за пользователем, полу-вручную. Для пользователя «Алиса» выполните:

TMPUNAME=alice;  sudo -u $TMPUNAME ln -s /media/shareddrv /home/$TMPUNAME/F

И повторите это для каждого пользователя. В конце вы могли бы unset TMPUNAME, но не обязательно.

1139 Надеюсь, у вас все работает. Если вы найдете этот мини-учебник полезным, пожалуйста, подпишите мой ответ и отметьте его как полезный. Спасибо! Также задавайте больше вопросов, если что-то не понятно или не работает!

0
ответ дан 7 December 2019 в 13:30

Другие вопросы по тегам:

Похожие вопросы: