Решение проблем с правами доступа при использовании внешнего жесткого диска EXT4 с несколькими установками Linux

Решение проблем с правами доступа при использовании внешнего жесткого диска EXT4 с несколькими установками Linux

У меня есть внешний жесткий диск, и поскольку я использую только Ubuntu и Fedora, я решил отформатировать его в ext4, и все стало нормально.

Проблема в том, что при монтировании диска мне нужно изменить разрешения, чтобы можно было читать и писать.

Какое разрешение мне следует использовать? adm мое имя пользователя?

решение1

Самое простое решение — убедиться, что ваши учетные записи пользователей Ubuntu и Fedora имеют одинаковый идентификатор пользователя (UID).

Я думаю, что Fedora по умолчанию начинает учетные записи пользователей с номера 500, в то время как Debian и Ubuntu начинают с номера 1000, поэтому весьма вероятно, что в одной ОС вы являетесь пользователем с номером 500, а в другой — с номером 1000. Файловая система использует этот номер UID для отслеживания разрешений, поэтому, если вы убедитесь, что у них одинаковый UID, они будут считаться одним и тем же пользователем, и никаких проблем с разрешениями не возникнет.

Я думаю, лучшее, что вы можете сделать, это сделать их обоих UID = 1000, поэтому измените UID в системе Fedora, затем убедитесь, что все файлы на внешнем дискеи в $HOME пользователя в установке Fedoraпринадлежат UID 1000. После этого у вас больше не должно возникнуть проблем с разрешениями.

решение2

Хоть это и неубедительно с моей стороны, мне придется ответить на вопрос другим вопросом. Если все, о чем мы говорим, касается одной ОС, то это будет либо

sudo chown -R (user name) /dev/(device name)

(убунту)

или просто

chown -R (user name) /dev/(device name)

фетровая шляпа- нет sudo, просто выполните команду от имени пользователя root.

Часть с лапшой-скребком, на которую у меня нет хороших ответов, это как сделать так, чтобы вам не приходилось вручную перепечатывать, когда вы переключаетесь между дистрибутивами. Я бы почти поддался искушению добавить строку в свой ~/.bashrc, но, вероятно, есть лучший способ, которого я не знаю или пока не придумал.

решение3

В /etc/fstab вы можете указать uid=1000 (в Ubuntu — 500 в Fedora), чтобы диск принадлежал вашему пользователю (предполагая, что вы первый пользователь, бла-бла-бла... если нет, то uid вашего пользователя из id), и umask=000, если вы хотите, чтобы все пользователи имели доступ (или 077 только для того, у кого указан uid= — это маска, поэтому вы указываете значение, противоположное тому, которое вы указали в chmod as).

Для получения дополнительной информации об использовании /etc/fstab: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html

решение4

Это небольшая вариация подхода @gavenkoa, заключающегося в использовании общих групп, и не подразумевает изменения смонтированного диска.

Проверьте, какой идентификатор группы (GID) используется на смонтированном диске.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

Допустим, вы видите что-то похожее на следующее:

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

Это означает 12000, что это текущий GID данных на диске, и данные могут быть прочитаны и выполнены (но не могут быть записаны) любым другим пользователем группы. Создайте новую группу (например, driveusers) и добавьте текущего пользователя в новую группу:

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive

Связанный контент