У меня есть внешний жесткий диск, и, поскольку я использую только Ubuntu и Fedora, я решил отформатировать свой жесткий диск в ext4, все в порядке.
Проблема в том, что когда я монтирую диск, мне нужно изменить разрешение, чтобы я мог читать и писать.
Какое разрешение я должен использовать? адм мое имя пользователя?
К сожалению, ядро 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
См. также:
Я нашел это другие решения:
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
ваш пользователь сможет читать / писать любые файлы на
blockquote>/dir
.@jadelord @ gavenkoa Как вы думаете, можно ли улучшить в настоящее время ваши предлагаемые решения для пользователей Ubuntu (или Fedora)? Спасибо
Вы можете просто попробовать использовать exfat или ntfs. Для меня это работает так. Но я не знаю, работает ли он с каждым разрешением файла. Я думаю нет.
Это небольшое изменение в подходе @ 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
Хм, хотя это может быть от меня, мне придется ответить на вопрос другим вопросом. Если мы говорим только об одной ОС, то это будет либо
sudo chown -R (user name) /dev/(device name)
( ubuntu )
, либо просто [ 118]
chown -R (user name) /dev/(device name)
fedora - нет sudo
, просто запустите команду от пользователя root.
Часть, касающаяся лапши, и часть, на которую у меня нет хороших ответов, состоит в том, как сделать это так, чтобы вам не приходилось вручную перепечатывать, когда вы перемещаетесь между дистрибутивами. У меня почти было бы желание добавить строчку в мой ~/.bashrc
, но, возможно, есть лучший способ, о котором я не знаю или еще не подумал.
В / 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
Самое простое решение - убедиться, что ваша Ubuntu & amp; Учетные записи пользователей Fedora имеют одинаковый идентификатор пользователя (UID).
Я думаю, что Fedora запускает учетные записи пользователей по умолчанию на 500, а Debian & amp; В Ubuntu они начинаются с 1000, поэтому вполне вероятно, что в одной ОС вы используете номер 500, а в другой - номер 1000. Файловая система использует этот номер UID для отслеживания разрешений, поэтому, если вы убедитесь, что они имеют один и тот же UID, они будут считаться одним и тем же пользователем, и проблем с разрешениями не будет.
Я думаю, лучшее, что вы можете сделать, это сделать их UID = 1000, поэтому измените UID в системе Fedora, а затем убедитесь, что все файлы на внешнем диске и в $ HOME пользователя в Fedora установлены [ 113] принадлежат UID 1000. После этого у вас больше не должно быть проблем с разрешениями.