Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: 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.
-
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
-
Variantu se symlink bych vynechal, mohlo by se stat ze nejakemu programu by to vadilo...
-
Dalsia moznost je primountovat ten novy disk niekam (napriklad /mnt/disk2) a potom
mount -o bind /mnt/disk2/adresar /home/user2 alebo to rovno vlozit do /etc/fstab.
-
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ář
-
Dalsia moznost je primountovat ten novy disk niekam (napriklad /mnt/disk2) a potom 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... ;)
-
Mno ... jeste mu taky proste muzes ten home jednoduse jinam nastavit ...
useradd -m -d /home/newuser newuser
Pripadne to proste zeditujes v /etc/passwd
-
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.
-
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:
mount --bind /cesta/k/pripojenemu/disku/adresar/na/disku /home/user2resp. permanentne do /etc/fstab:
/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:
/cesta/k/pripojenemu/disku/adresar/na/disku /home/user2 none bind,x-gvfs-hide,nofail,x-systemd.device-timeout=5 0 0
-
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:
adduser --home /nekde/jinde/lojza ... lojzanebo
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í.
-
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:
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 ;-)
-
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:
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.
-
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"?
-
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
-
[...]
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:
sudo mount --allci zkracene:
sudo mount -a
-
[...]
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:
sudo mount --allci zkracene:
sudo mount -a
dik za tipy :)
-
[...]
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:
sudo mount --allci zkracene:
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
-
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:
cp -a /home/john /mnt/users/home/