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


18

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

Проблема полягає в тому, що коли я монтую диск, мені потрібно змінити дозвіл, щоб я міг читати та писати.

Який дозвіл я повинен використовувати? adm моє ім’я користувача?

Відповіді:


5

Хлам, хоч це може бути і від мене, мені доведеться відповісти на інше питання. Якщо все, про що ми говоримо, стосується однієї ОС, то це було б і будь-яке

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

( ubuntu )

або просто

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

fedora - ніsudo, просто запустіть команду з root.

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


Що мені потрібно, щоб змінити дозвіл щоразу, коли я міняю дистрибутив
Хав'єр Гонсалес

1
Просто для того, щоб переконатися і задовольнити мою власну інтелектуальну цікавість, я повернувся назад і двічі перевірив наявність у мене накопичувача USB EXT4. Я не знав, чи право власності на пристрій - це те саме, що і право власності на файлову систему, і це. sudo chown -R (ім'я користувача) / dev / (назва пристрою) отримує право власності на всі файли на диску, навіть якщо ви їх не створили.
user2367

Так, окрім простого додавання рядка до ~ / .bashrc, щоб він запускався автоматично щоразу, коли ви запускаєте термінал, у мене немає відповіді на це. Може, можна додати його до крону? Але здається, що просто слід створити спосіб домогтися його запуску, коли дистрибутивні чоботи.
користувач2367

Я дуже люблю ext4, але це лайно продовжує змінювати дозвіл ха-ха
Хав'єр Гонсалес

10

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

Я думаю, що Fedora запускає облікові записи користувачів за замовчуванням 500, тоді як Debian і Ubuntu запускають їх на 1000, тому дуже ймовірно, що в одній ОС ви є номером 500, а в іншій - номером 1000. Файлова система використовує цей номер UID відстежувати дозволи, тому якщо ви переконайтеся, що вони мають однаковий UID, вони будуть вважатися тим самим користувачем, і жодних проблем з дозволом не буде.

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


Так, я хочу зробити це дякую вам за ваш час :)
Хав'єр Гонсалес

1
Будь ласка, прочитайте моє додаток, інакше користувач Fedora не зможе увійти!
JanC

Все зрозуміло, я зараз його перевіряю, також дякую за редагування назви питання зараз дуже зрозуміло.
Хав'єр Гонсалес

3

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

Для отримання додаткової інформації про використання / etc / fstab: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html


1
Якщо я встановив дозвіл на 077, мені не потрібно повторно змінювати дозвіл, коли я переходжу з ubuntu на Fedora?
Хав'єр Гонсалес

@Dracirate: Я думаю, що вам може знадобитися 000, а не 077. Якщо ви помістите запис fstab для накопичувача в кожній системі (як Ubuntu, так і Fedora), вони автоматично змонтують його, щоб він був корисним.
maco

3

На жаль, ядро ​​Linux застосовує дозвіл POSIX на ext2 / ext3 / ext4 FS.

Ви можете вирішити дозвіл POSIX із спільною групою. Я задаю відповідне запитання: /unix/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

Дивись також:


З допомогою цього методу, виконання cd /mnt/data/dir; touch example.txt; ls example.txt ... показує ... -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt. Виконання пізніше mv example.txt ~; ll ~/example.txt... показує ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, з цим +в кінці дозволів. Таким чином, багато хто з +них з'явиться в багатьох місцях, і люди здивуються, чому ці файли є спеціальними (лише тому, що вони скопійовані / переміщені з певної папки). Чи є якийсь спосіб зупинити їх виробництво +автоматично?
Гантон

2

Ви можете просто спробувати використовувати exfat або ntfs. Для мене це працює так. Але я зараз не працюю, якщо це працює з кожним дозволом файлу. Я думаю, НЕ.


2

Це незначна різниця у підході @ 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

1

Я знайшов це інше рішення:

/unix/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//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) на сьогодні? Спасибі

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.