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

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

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

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

18
задан 25 November 2018 в 04:31

7 ответов

К сожалению, ядро ​​Linux обеспечивает разрешение POSIX на ext2 / ext3 / ext4 FS.

Вы можете обойти разрешение POSIX с разделяемой группой. Я задаю соответствующий вопрос: https://unix.stackexchange.com/questions/273144/predefined-group-ids-across-linux-distros/ , но в конце концов я провел собственное исследование.

Я обнаружил, что группа sys имеет общий идентификатор 3 в Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris.

С учетом такого открытия одно решение может выглядеть следующим образом:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

и его разновидность (всякий раз, когда вы работаете в Linux / FreeBSD / MacOSX / Solaris):

$ sudo adduser user sys

См. также:

0
ответ дан 25 November 2018 в 04:31

Я нашел это другие решения:

https://unix.stackexchange.com/questions/422656/how-to-make-an-ext4-formatted-usb-drive-with- full-rw-permissions-for-any-linux-m / 468933 # 468933

https://unix.stackexchange.com/a/273705

С этим:

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

и разновидностью этого:

sudo adduser user sys  

ваш пользователь сможет читать / писать любые файлы на /dir.

@jadelord @ gavenkoa Как вы думаете, можно ли улучшить в настоящее время ваши предлагаемые решения для пользователей Ubuntu (или Fedora)? Спасибо

0
ответ дан 25 November 2018 в 04:31

Вы можете просто попробовать использовать exfat или ntfs. Для меня это работает так. Но я не знаю, работает ли он с каждым разрешением файла. Я думаю нет.

0
ответ дан 25 November 2018 в 04:31

Это небольшое изменение в подходе @ 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
0
ответ дан 25 November 2018 в 04:31

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

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

( ubuntu )

, либо просто [ 118]

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

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

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

0
ответ дан 25 November 2018 в 04:31

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

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

0
ответ дан 25 November 2018 в 04:31

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

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

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

0
ответ дан 25 November 2018 в 04:31

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

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