Portál AbcLinuxu, 26. června 2025 12:58
No jasne ... taaak trebars nejako takto:
for user_dir in ` cut -d : -f6,1 /etc/passwd `
do
ur=`echo $user_dir |cut -d : -f1`
dr=`echo $user_dir |cut -d : -f2`
mkdir $dr
chown $ur.users $dr
done
awk -F: '{if($3>1000&&$3<1011)print$1}' /etc/passwdTakže by se dal udělat jednoduchý script v BASHi, který by nějak, třeba takto:
for UZIVATEL in `awk -F: '{if($3>1000&&$3<1011)print$1}' /etc/passwd` ; do mkdir /home/$UZIVATEL __NEJAKA_AKCE__ chown -R $USIVATEL:users /home/$UZIVATEL chmod 0700 /home/$UZIVATEL donevytvořil ty uživatelské adresáře, nastavil vlastníky a práva, zkopíroval do těch uživatelských adresářů obsah /etc/skel nebo co chcete v místě "__NEJAKA_AKCE__". Je to to první, co mě napadlo, tedy jestli dobře chápu váš dotaz. Snad to pomůže. Pozn.: Některé distribuce místo toho, aby měly všechny uživatele v jedné skupine třeba "users", tak každý uživatel má vlastní skupinu. Pak by u toho "chown" namísto "-R $UZIVATEL:users" bylo samosebou "-R $UZIVATEL:$UZIVATEL".
#!/bin/bash for I in `cat /etc/passwd | grep /home/ | cut -d : -f1,1`; do echo Creating home dir for user $I cp -r /etc/skel /home/$I; chown -R $I.users /home/$I; done
#!/bin/bash for I in `grep /home/ /etc/passwd | cut -d : -f1,1`; do echo $I cp -r /etc/skel /home/$I; chmod 711 /home/$I; chown -R $I.users /home/$I; done
#!/bin/bash for I in `grep /home/ /etc/passwd | cut -d : -f1,1`; do echo $I cp -r /etc/skel /home/$I; chmod 711 /home/$I; chown -R $I:`id -gn $I` /home/$I; done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.