Fórum Root.cz

Hlavní témata => Desktop => Téma založeno: cinnamon 03. 10. 2018, 15:21:02

Název: Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 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.
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: matus 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
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 03. 10. 2018, 21:17:09
Variantu se symlink bych vynechal, mohlo by se stat ze nejakemu programu by to vadilo...
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: Samuel Kupka 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.
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 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ář
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 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... ;)
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: j 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
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: Samuel Kupka 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.
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 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
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: Martin 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í.
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 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 (https://forum.root.cz/index.php?topic=19735.msg289894#msg289894)... ale (https://forum.root.cz/index.php?topic=19735.msg289895#msg289895)... stejne tak ten symlink neni (https://forum.root.cz/index.php?topic=19735.msg289904#msg289904) vhodnej ;-)
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: mhepp 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 (https://forum.root.cz/index.php?topic=19735.msg289894#msg289894)... ale (https://forum.root.cz/index.php?topic=19735.msg289895#msg289895)... stejne tak ten symlink neni (https://forum.root.cz/index.php?topic=19735.msg289904#msg289904) 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.
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 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"?
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 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
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 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
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 05. 10. 2018, 11:07:18
[...]

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

dik za tipy :)
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: cinnamon 05. 10. 2018, 14:23:51
[...]

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

ad 5, 6) bind nemůžu udělat, dokud neexistují adresáře /mnt/users/home/john a /home/john, takže adduser (který vytvoří /home/john) nelze volat až po bindu
ad 6) příkaz adduser vytvoří /home/john a má správně nastavená práva, ale po nabindování se práva (logicky) změní, a vlastníkem je root
Název: Re:Adresář nového uživatele na jiném disku
Přispěvatel: k3dAR 06. 10. 2018, 21:04:31
ad 5, 6) bind nemůžu udělat, dokud neexistují adresáře /mnt/users/home/john a /home/john, takže adduser (který vytvoří /home/john) nelze volat až po bindu
ad 6) příkaz adduser vytvoří /home/john a má správně nastavená práva, ale po nabindování se práva (logicky) změní, a vlastníkem je root
jasne ;-) vypadlo tam:
+ 6b) zkopirujes johnuv adresar na ten druhej disk:
Kód: [Vybrat]
cp -a /home/john /mnt/users/home/