Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: theshit в Apr 09, 2014, 19:48



Титла: Скрипт, който да прави автоматично home директория
Публикувано от: theshit в Apr 09, 2014, 19:48
Здравейте хора,
търся скрипт за Linux/Debian, който да чек-ва базата данни с users и ако няма такава директория в home - да я направи, като даде правата на съответния user. Проблема е, че загубих home а backupa беше малко стар и в момента има нови user-и, които нямат homedir.

Не ми се играе да ги търся и наново да им правя директории и да им сетвам пермишъни, като маймуна.
Иска ми се някакъв готов скрипт, ако може  :)


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: neter в Apr 09, 2014, 23:05
Ако потребителите присъстват само във въпросната база данни, но не и реално в системата, тогава ползвай командата adduser, която ще се погрижи както да добави реалния потребител, така и да създаде нужната папка.

Ако потребителите присъстват и реално в системата, но си нямат само домашни папки, тогава можеш да копираш папката /etc/skel в /home/потребител, след което да изпълниш върху копираната папка
Цитат
chown -R потребител:група /home/потребител

Ако искаш конкретен пример за твоя случай кажи кой от двата е твоят случай и каква е базата данни с потребители (както вид, така и структура)!


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: theshit в Apr 10, 2014, 00:00
второто, защото при първото ми дава, че такъв потребител вече съществува
нямам само homedir


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: Demayl в Apr 10, 2014, 16:29
Това трябва да свърши работа
Код
GeSHi (Bash):
  1. cat /etc/passwd | grep /home | perl -e'while(<>){ /^(\w+):/; print `mkdir -p /home/$1; chown $1.$1 /home/$1` }'


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: theshit в Apr 10, 2014, 19:28
Страхотно приятелю, благодаря ти много  :)


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: neter в Apr 10, 2014, 23:07
Това трябва да свърши работа
Код
GeSHi (Bash):
  1. cat /etc/passwd | grep /home | perl -e'while(<>){ /^(\w+):/; print `mkdir -p /home/$1; chown $1.$1 /home/$1` }'
Нищо не пречи вместо "mkdir" на домашната папка, тя да се копира с "cp" от /etc/skel (chown-ът след това си остава като необходимост, само че с аргумент "-R"), за да бъдат налични в създадената папка и файлове като .bash_logout, .bashrc и .profile със съответното съдържание. Но щом на човека му харесва и така... :)


Титла: Re: Скрипт, който да прави автоматично home директория
Публикувано от: Demayl в Apr 11, 2014, 09:01
Да, нали си е свършил работа  :)  [_]3