Как создать раздел ext4 для всех пользователей?

Я знаю, что это звучит как вопрос с публикой, но я попробовал следующее, и это не помогло:

Мой диск установлен под

/media/data

, поэтому я ввел

sudo chown -R :users /media/data

Однако я до сих пор не могу записать этот раздел в качестве пользователя. Я также попытался сделать запись в файле / etc / fstab

UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0

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

У меня есть Ubuntu 14.04. Сервер установлен.

(устройство представляет собой твердотельный накопитель Intel DC P3700 "800 ГБ)

Дополнительное замечание: поскольку раздел пуст, я также мог его форматировать и воссоздать, например, с помощью gparted. Есть ли способ в gparted или других программах gui указать, что раздел должен использоваться всеми пользователями?

1
задан 11 March 2015 в 23:11

2 ответа

Возможно, вы делаете вещи в неправильном порядке. Когда вы создаете файловую систему с mkfs.ext4, все внутри нее принадлежит корневому и групповому корням пользователя с установленными вами разрешениями по умолчанию для системы.

Когда вы монтируете эту файловую систему в каталоге, вы видите разрешения и владельца файловой системы, независимо от исходного владельца и разрешений в этом каталоге.

Так что делать что-то подобное, t work:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
sudo mount /dev/some/data /media/data

Правильная вещь - создать файловую систему, смонтировать ее и . Так что что-то вроде этого не будет работать: изменить права доступа и права собственности на Это. Неважно, что вы делаете в /etc/fstab.

Правильный способ сделать это:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo mount /dev/some/data /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data

Это должно ответить на ваш вопрос.

Правильный способ сделать это:

Создать пустой файл для форматирования и монтирования с использованием fallocate -l 100MB /tmp/filesystem.img. Затем отформатируйте его как файловую систему ext4 с помощью sudo mkfs.ext4 /tmp/filesystem.img (это не блок-устройство, но если вы ответите «да», вы можете поместить в него рабочую файловую систему ext4) и создать каталог для использования в качестве точки монтирования mkdir /tmp/experiment.

Теперь попробуйте изменить владельца и разрешения на этот directoy с помощью sudo chown -R :users /tmp/experiment и sudo chmod -R g+rw /tmp/experiment и проверить разрешения с помощью ls -la /tmp/experiment. Вы получите что-то вроде этого:

 ls -la /tmp/experiment/
 total 0
 drwxrwx--x 2 gerlos users  40 feb 19 10:37 .
 drwxrwxrwt 8 root   root  180 feb 19 10:38 ..

Это говорит вам, что / tmp / experiment принадлежит пользователю gerlos и пользователям группы, а члены группы могут читать, писать и исполнять на нем. Вы можете поместить в него файлы, например, с помощью touch /tmp/experiment/somefile.

Теперь смонтируйте файловую систему в этом каталоге с помощью sudo mount /mnt/filesystem.img /tmp/experiment и снова посмотрите на вывод ls:

$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root  1024 feb 19 10:41 .
drwxrwxrwt 8 root root   180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found

Как вы можете видеть, теперь / tmp / эксперимент кажется принадлежащим root, с разными разрешениями! Зачем? Поскольку мы не смотрим на / tmp / эксперимент самостоятельно, а в корневой каталог файловой системы, содержащейся в /mnt/filesystem.img, монтируется в / mnt / эксперимент.

Кроме того, ваш обычный пользователь не сможет помещать туда файлы с touch /tmp/experiment/anotherfile.

Если вы снова попытаетесь запустить chown и chmod, как указано выше, вы измените владельца и разрешения не на точку монтирования, а на смонтированную файловую систему, и ваши пользователи смогут использовать файловую систему. Чтобы подтвердить этот вид вывода ls в последний раз:

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users  1024 feb 19 10:41 .
drwxrwxrwt 8 root root    180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found

Как вы можете видеть, теперь члены группы пользователей могут помещать файлы в файловую систему! На самом деле ничто не мешает вашему нормальному пользователю создавать новый файл там с touch /tmp/experiment/myfile:

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root   users   1024 feb 19 11:05 .
drwxrwxrwt 8 root   root     180 feb 19 11:02 ..
drwxrw---- 2 root   users  12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos     0 feb 19 11:02 myfile

Миссия выполнена! : -

)
6
ответ дан 23 May 2018 в 23:07
  • 1
    Спасибо за развитый ответ. Шаг 3 в вашем правильном способе сделать это & ​​quot; является избыточным. Кажется, теперь это работает, спасибо :). Но является ли это решение постоянным, или я должен делать это каждый раз, когда я перезагружаюсь? – mcExchange 19 February 2015 в 14:57
  • 2
    Вы правы, произошла ошибка! mkdir был необходим до монтирования. Теперь я исправил это, спасибо. На самом деле команда chmod может быть избыточной, но она зависит от настроек вашей системы umask (если это не нужно, это не наносит вреда). Отвечая на ваш последний вопрос: изменения в разрешениях и правах собственности выполняются в файловой системе и являются постоянными, как ваши файлы. Чтобы всегда монтировать при загрузке файловую систему, сохраненную в /dev/some/data, вам просто нужно добавить строку, подобную /dev/some/data /media/data ext4 defaults 0 1, в ваш /etc/fstab. – gerlos 20 February 2015 в 20:30

Руководство пользователя - «Как создать раздел EXT4» https://superuser.com/questions/643765/creating-ext4-partition-from-console

После того, как вы можете добавить его в FSTAB. Добавить следующий текст в конце файла / etc / fstab:

/dev/nvme0n1p1    /media/data    ext4    defaults    0    2

Где /dev/nvme0n1p1 - ваше физическое устройство, /media/data - ваша точка монтирования.

После использования команды mount -a для установки всего раздела в FSTAB.

-1
ответ дан 23 May 2018 в 23:07
  • 1
    Насколько я знаю, "по умолчанию" были варианты, где только root имеет доступ к разделу, а не всем пользователям, не так ли? – mcExchange 19 February 2015 в 13:05
  • 2
    Нет, по умолчанию - я думаю, доступ для всех. Теперь я использую в своем компьютере Ubuntu 14.04 аналогичную конфигурацию в fstab для монтирования внешнего диска и во мне все работало нормально. Все пользователи ПК могут иметь доступ к диску. – Petro Pikh 19 February 2015 в 13:12
  • 3
    Создайте файловую систему на своем устройстве, все на ней будет принадлежать root, независимо от того, как вы ее монтируете. Чтобы сделать его пригодным для использования, вам необходимо установить его и изменить права собственности и разрешения, чтобы ваш обычный пользователь мог читать / писать на нем - см. Мой ответ выше. – gerlos 19 February 2015 в 14:10

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

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