GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vytvořit oddíl Ext4 pro všechny uživatele?

Vím, že to zní jako duplicitní otázky, ale zkusil jsem následující a nepomohlo to:

Můj disk je připojen pod

/media/data

tak jsem vstoupil

sudo chown -R :users /media/data

Stále však nemohu zapisovat do tohoto oddílu jako uživatel.
Také jsem zkusil udělat záznam v /etc/fstab

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

ale poté už můj počítač nemohl spustit, protože nemohl najít disk.

Mám nainstalovaný server Ubuntu 14.04. Oddíl je uveden pod /dev/nvmeOn1p1
a nezobrazuje se v /etc/fstab (viz obrázky níže).

(zařízení je „Intel DC P3700“ 800GB SSD)

Další poznámka:
Protože je oddíl prázdný, mohl bych ho také naformátovat a znovu vytvořit například pomocí gparted. Existuje v gparted nebo v jiných programech gui způsob, jak určit, že oddíl by měl být použitelný všemi uživateli?

Přijatá odpověď:

Možná děláte věci ve špatném pořadí. Když vytvoříte systém souborů pomocí mkfs.ext4 , vše uvnitř je ve vlastnictví uživatele root a root root s vaším výchozím nastavením systémových oprávnění.

Když tento souborový systém připojíte k adresáři, uvidíte oprávnění systému souborů a vlastníka, bez ohledu na původního vlastníka a oprávnění k tomuto adresáři.

Takže něco takového nebude fungovat:

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

Správná věc je vytvořit souborový systém, připojit jej a pak změnit oprávnění a vlastnictví. Nezáleží na tom, co děláte v /etc/fstab.

Správný způsob, jak to udělat, je tento:

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

To by mělo odpovědět na vaši otázku. Pokud potřebujete další podrobnosti, čtěte dále.

Abychom lépe porozuměli tomu, co se děje, pojďme trochu experimentovat se souborem obrázku

Vytvořte prázdný soubor, který chcete naformátovat a připojit pomocí fallocate -l 100MB /tmp/filesystem.img . Poté jej naformátujte jako souborový systém ext4 pomocí sudo mkfs.ext4 /tmp/filesystem.img (nejedná se o blokové zařízení, ale pokud odpovíte ano, můžete na něj stejně umístit funkční souborový systém ext4) a vytvořte adresář, který se použije jako bod připojení mkdir /tmp/experiment .

Nyní zkuste změnit vlastníka a oprávnění k tomuto adresáři pomocí sudo chown -R :users /tmp/experiment a sudo chmod -R g+rw /tmp/experiment a zkontrolujte oprávnění pomocí ls -la /tmp/experiment . Dostanete něco takového:

 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 ..

To vám říká, že /tmp/experiment vlastní uživatel gerlos a uživatelé skupiny a členové skupiny v něm mohou číst, zapisovat a spouštět. Můžete do něj vkládat soubory, například pomocí touch /tmp/experiment/somefile .

Nyní připojte souborový systém do tohoto adresáře pomocí sudo mount /mnt/filesystem.img /tmp/experiment a znovu se podívejte na ls výstup:

$ 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

Jak vidíte, zdá se, že /tmp/experiment nyní vlastní root s různými oprávněními! Proč? Protože se nedíváme na samotný /tmp/experiment, ale na kořenový adresář souborového systému obsažený v /mnt/filesystem.img, připojený k /mnt/experiment.

Související:18.04:Proč Xorg i Xwayland?

Navíc váš běžný uživatel tam nebude moci vkládat soubory pomocí touch /tmp/experiment/anotherfile .

Pokud se nyní pokusíte znovu spustit chown a chmod jako výše, nezměníte vlastníka a oprávnění v bodě připojení, ale v připojeném systému souborů a vaši uživatelé budou moci používat systém souborů. Chcete-li to potvrdit, naposledy se podívejte na výstup 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

Jak můžete vidět, nyní mohou členové skupiny uživatelů vkládat soubory do systému souborů! Ve skutečnosti vašemu běžnému uživateli nic nebrání ve vytvoření nového souboru pomocí 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

Mise splněna! 🙂


Ubuntu
  1. Jak nastavit oprávnění Sudo pro uživatele v Linuxu

  2. Jak spustit terminál jako root?

  3. Jak nainstalovat modul pro všechny uživatele s pip na linux?

  1. Jak vytvořit sdílený adresář pro všechny uživatele v Linuxu

  2. Jak najít všechny uživatele Sudo v Linuxu

  3. Jak vypíšu všechny uživatele s rootem?

  1. Jak obnovit heslo pro sudo v Debianu

  2. Jak nastavit proměnné cesty pro všechny uživatele na serveru?

  3. Jak změnit vlastníka zpět na kořen?