Adresář nového uživatele na jiném disku

cinnamon

Adresář nového uživatele na jiném disku
« kdy: 03. 10. 2018, 15:21:02 »
Situace, kdy celý home adresář (pro všechny uživatele) je na jiném disku (oblasti) než systém, je celkem běžná, ale lze umístit home adresář nového uživatele na separátní disk a zároveň zachovat cestu /home/<username> ? Např. po instalaci systému mám uživatele user1, který má adresář /home/user1 na disku sda1 a chci přidat uživatele user2, který by měl adresář /home/user2 na disku sdb1.


matus

Re:Adresář nového uživatele na jiném disku
« Odpověď #1 kdy: 03. 10. 2018, 15:51:01 »
Urcite ano, napadaji me hned 2 moznosti
1 - pridat do fstabu disk sdb1 s mountpointem /home/user2
2 - pripojit disk nekam jinam (/mnt/...) a vytvorit na nej symlink user2 v /home

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Adresář nového uživatele na jiném disku
« Odpověď #2 kdy: 03. 10. 2018, 21:17:09 »
Variantu se symlink bych vynechal, mohlo by se stat ze nejakemu programu by to vadilo...

Re:Adresář nového uživatele na jiném disku
« Odpověď #3 kdy: 03. 10. 2018, 21:30:14 »
Dalsia moznost je primountovat ten novy disk niekam (napriklad /mnt/disk2) a potom
Kód: [Vybrat]
mount -o bind /mnt/disk2/adresar /home/user2 alebo to rovno vlozit do /etc/fstab.

cinnamon

Re:Adresář nového uživatele na jiném disku
« Odpověď #4 kdy: 03. 10. 2018, 21:33:01 »
Variantu se symlink bych vynechal, mohlo by se stat ze nejakemu programu by to vadilo...
Taky jsem to někde četl, prý je lepší namísto linku použít mount --bind, tedy v případě, že se z disku mountuje konkrétní adresář


cinnamon

Re:Adresář nového uživatele na jiném disku
« Odpověď #5 kdy: 03. 10. 2018, 21:38:26 »
Dalsia moznost je primountovat ten novy disk niekam (napriklad /mnt/disk2) a potom
Kód: [Vybrat]
mount -o bind /mnt/disk2/adresar /home/user2 alebo to rovno vlozit do /etc/fstab.
Se dívám, že fous jsi mě s odpovědí předběhl... ;)

j

Re:Adresář nového uživatele na jiném disku
« Odpověď #6 kdy: 03. 10. 2018, 21:49:50 »
Mno ... jeste mu taky proste muzes ten home jednoduse jinam nastavit ...

useradd -m -d /home/newuser newuser

Pripadne to proste zeditujes v /etc/passwd

Re:Adresář nového uživatele na jiném disku
« Odpověď #7 kdy: 03. 10. 2018, 21:52:22 »
Mno ... jeste mu taky proste muzes ten home jednoduse jinam nastavit ...

useradd -m -d /home/newuser newuser

Pripadne to proste zeditujes v /etc/passwd
Ale povodna poziadavka bola na zachovanie /home/user2.

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Adresář nového uživatele na jiném disku
« Odpověď #8 kdy: 03. 10. 2018, 22:58:39 »
Variantu se symlink bych vynechal, mohlo by se stat ze nejakemu programu by to vadilo...
Taky jsem to někde četl, prý je lepší namísto linku použít mount --bind, tedy v případě, že se z disku mountuje konkrétní adresář
v minulosti sem parkrat narazil ze necemu proste symlink pro conf/data nesednul, uz nevim co to bylo, lepsi se tomu vyhnout pokud to jde a tady to bezproblemu jde :-)
mount --bind nesouvisi s montovanim konkretniho adresare, resp. mount konkretniho adresare z disku nelze, ale mount --bind naopak lze:
Kód: [Vybrat]
mount --bind /cesta/k/pripojenemu/disku/adresar/na/disku /home/user2resp. permanentne do /etc/fstab:
Kód: [Vybrat]
/cesta/k/pripojenemu/disku/adresar/na/disku /home/user2 none bind 0 0pripadne, schovat pro gvfs a nestopovat start system(d)u v pripade ze by disk nebyl pritomen a cekat na nej jen 5s:
Kód: [Vybrat]
/cesta/k/pripojenemu/disku/adresar/na/disku /home/user2 none bind,x-gvfs-hide,nofail,x-systemd.device-timeout=5 0 0

Martin

Re:Adresář nového uživatele na jiném disku
« Odpověď #9 kdy: 04. 10. 2018, 00:03:45 »
Ještě je tu možnost nastavit danému uživateli v databázi uživatelů (/etc/passwd, LDAP atd.) přímo home adresář na tom jiném disku:
Kód: [Vybrat]
adduser --home /nekde/jinde/lojza ... lojzanebo
Kód: [Vybrat]
useradd -d /nekde/jinde/lojza ... lojzaAplikace si totiž umístění uživatelova adresáře tahají právě z databáze uživatelů, i shell podle ní nastavuje proměnnou prostředí HOME nebo vlnovku. Už jenom kvůli přenositelnosti -- různé Unixy mají ve zvyku to mít jinde než v /home.

A případně si do /home udělat i ten symlink, aby o tom byla povědomost i v běžném linuxovém umístění.

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Adresář nového uživatele na jiném disku
« Odpověď #10 kdy: 04. 10. 2018, 00:25:49 »
Ještě je tu možnost nastavit danému uživateli v databázi uživatelů (/etc/passwd, LDAP atd.) přímo home adresář na tom jiném disku:
Kód: [Vybrat]
adduser --home /nekde/jinde/lojza ... lojza[...]
A případně si do /home udělat i ten symlink, aby o tom byla povědomost i v běžném linuxovém umístění.
to uz tu bylo... ale... stejne tak ten symlink neni vhodnej ;-)

mhepp

Re:Adresář nového uživatele na jiném disku
« Odpověď #11 kdy: 04. 10. 2018, 01:04:59 »
Ještě je tu možnost nastavit danému uživateli v databázi uživatelů (/etc/passwd, LDAP atd.) přímo home adresář na tom jiném disku:
Kód: [Vybrat]
adduser --home /nekde/jinde/lojza ... lojza[...]
A případně si do /home udělat i ten symlink, aby o tom byla povědomost i v běžném linuxovém umístění.
to uz tu bylo... ale... stejne tak ten symlink neni vhodnej ;-)

Ale pozor, to, co uživatel bude mít jako ~/ nebude symlink. To bude adresář někde. Symlink do /home/ je zde brán jako kosmeticko/dokumentační záležitost, aby ten uživatel nezapadl.

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Adresář nového uživatele na jiném disku
« Odpověď #12 kdy: 04. 10. 2018, 01:12:42 »
Ale pozor, to, co uživatel bude mít jako ~/ nebude symlink. To bude adresář někde. Symlink do /home/ je zde brán jako kosmeticko/dokumentační záležitost, aby ten uživatel nezapadl.
i tak, a vcem by to melo byt vhodnejsi nez udelat bind z "nekde"?

cinnamon

Re:Adresář nového uživatele na jiném disku
« Odpověď #13 kdy: 05. 10. 2018, 07:37:10 »
Tak jsem si sepsal, jak by se asi dalo postupovat, uvedené dva restarty nejsou potřeba, namísto toho se disk namountuje, stejně tak se provede bind a do fstab se pak přidají oba zápisy najednou:

1. disk (na kterém bude home adresář nového uživatele) zapojit a naformátovat

2. voláním sudo blkid zjistit UUID disku a zapsat do /etc/fstab (namísto <UUID_value> se dosadí hodnota získaná blkid):
UUID=<UUID_value> /mnt/users      ext4    errors=remount-ro 0       1

3. vytvořit adresář /mnt/users
sudo mkdir /mnt/users

4. restartovat a zkontrolovat jestli se nový disk namountoval do /mnt/users, např. zavoláním:
df /mnt/users

5. vytvořit v /mnt/users adresář home a v něm adresář nového uživatele:
sudo mkdir -p /mnt/users/home/john

6. vytvořit/přidat uživatele:
sudo useradd -m -d /home/john john && sudo passwd john

7. přidat do /etc/fstab bind (propojení) adresáře z disku na adresář uživatele:
/mnt/users/home/john /home/john none bind, x-gvfs-hide, nofail, x-systemd.device-timeout=5 0 0

8. restartovat

9. zkontrolovat, jestli je bind funkční:
df /home/john

10. nastavit vlastnictví home adresáře nového uživatele:
sudo chown john /home/john

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Adresář nového uživatele na jiném disku
« Odpověď #14 kdy: 05. 10. 2018, 10:46:58 »
[...]

5. vytvořit v /mnt/users adresář home a v něm adresář nového uživatele:
sudo mkdir -p /mnt/users/home/john

6. vytvořit/přidat uživatele:
sudo useradd -m -d /home/john john && sudo passwd john

7. přidat do /etc/fstab bind (propojení) adresáře z disku na adresář uživatele:
/mnt/users/home/john /home/john none bind, x-gvfs-hide, nofail, x-systemd.device-timeout=5 0 0

[...]

10. nastavit vlastnictví home adresáře nového uživatele:
sudo chown john /home/john

ad 5) NEvytvarej mu adresar rucne (vytvori ho useradd a se spravnejma pravama john:john (uzivatel:skupina))
ad 6) NEvytvarej uzivatele pred pripojenim disku do /mnt a bindu do /home/john
         NEni treba mu davat parametr -d protoze chces/mas vychozi cestu /home/uzivatel
ad 10) NEni treba menit prava, kdyz neudelas bod 5) ;-)

ad restarty nebo nejdriv rucni pripojeni & mount, NEni to treba, muzes rovnou oba radky pridat do fstab a provedes "pripojeni vseho v fstab co jeste neni pripojenou" pomoci:
Kód: [Vybrat]
sudo mount --allci zkracene:
Kód: [Vybrat]
sudo mount -a