Как добавить пользователя и пароль скриптом на samba

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
qtolikq
рядовой
Сообщения: 14
Зарегистрирован: 2011-03-21 11:32:47

Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение qtolikq » 2013-01-11 9:42:16

Вопрос конечно может и глупый но как можно добавить пользователя samba и пароль скриптом sh что не вводить вручную пароль а потом еще и повторять
smbpasswd –a user
SMB password:********
New SMB password:********
smbpasswd –e user
а делать автоматом при заведение пользователя в системе вот пример,

Код: Выделить всё

#!/usr/local/bin/bash
#
u_name="$1"
pass=`cat /dev/urandom | tr -dc a-zA-Z0123456789 | head -c 9`
pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin
mkdir /home/samba/$u_name
mkdir /home/samba/$u_name/profile
chown $u_name:$u_name /home/samba/$u_name 
chown $u_name:$u_name /home/samba/$u_name/profile
#
#Теперь как сделать что пароль сгенерированный добавлялся 
smbpasswd –a user
smbpasswd –e user

echo "User: $u_name Password: $pass"

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


qtolikq
рядовой
Сообщения: 14
Зарегистрирован: 2011-03-21 11:32:47

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение qtolikq » 2013-01-11 10:08:04

Charlz_Klug_ писал(а):Посмотрите здесь.
Приветствую вас с этим как добавить пароль к самой системе понятно (echo "password"|pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin) но пользователь не может зайти по этому паролю пока не зделаеш так:
smbpasswd –a user
SMB password:********
New SMB password:********

Гость
проходил мимо

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение Гость » 2013-01-11 11:32:06

qtolikq писал(а):Приветствую вас с этим как добавить пароль к самой системе понятно (echo "password"|pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin) но пользователь не может зайти по этому паролю пока не зделаеш так:
smbpasswd –a user
SMB password:********
New SMB password:********
Гибкий вариант и ещё более гибкий вариант.

qtolikq
рядовой
Сообщения: 14
Зарегистрирован: 2011-03-21 11:32:47

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение qtolikq » 2013-01-11 11:42:20

Гость писал(а):
qtolikq писал(а):Приветствую вас с этим как добавить пароль к самой системе понятно (echo "password"|pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin) но пользователь не может зайти по этому паролю пока не зделаеш так:
smbpasswd –a user
SMB password:********
New SMB password:********
Гибкий вариант и ещё более гибкий вариант.
Если можно в примере ото что-то не пойму как это реализовать из вашего варианта мы только учимся прошу сильно не пинать.

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение Electronik » 2013-01-11 12:35:59

чем ldapscripts не угодил?
http://www.lissyara.su/articles/freebsd ... +bdc+ldap/
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Charlz_Klug_
проходил мимо

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение Charlz_Klug_ » 2013-01-11 13:06:00

qtolikq писал(а): Если можно в примере ото что-то не пойму как это реализовать из вашего варианта мы только учимся прошу сильно не пинать.
Почитайте Вики. Думаю, что информации, описанной в Википедии вам вполне хватит.


qtolikq
рядовой
Сообщения: 14
Зарегистрирован: 2011-03-21 11:32:47

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение qtolikq » 2013-01-11 14:46:58

Charlz_Klug_ писал(а):Если и Вики мало, то вот вам ещё.
Здесь нету ни одного примера который нужен мне если можно пример.

Код: Выделить всё

#!/usr/local/bin/bash
#
u_name="$1"
pass=`cat /dev/urandom | tr -dc a-zA-Z0123456789 | head -c 9`
pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin
mkdir /home/samba/$u_name
mkdir /home/samba/$u_name/profile
chown $u_name:$u_name /home/samba/$u_name
chown $u_name:$u_name /home/samba/$u_name/profile
#
#Теперь как сделать что пароль сгенерированный добавлялся
Пробовал так не получается видимо не так делаю.
smbpasswd –a $u_name 
expect "New SMB password:" {send "$pass\r"}
expect "Retype new SMB password:" {send "$pass\r"}

smbpasswd –e $u_name

echo "User: $u_name Password: $pass"
Помогите примером.

Charlz_Klug_
проходил мимо

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение Charlz_Klug_ » 2013-01-11 20:15:13

qtolikq писал(а):

Код: Выделить всё

#!/usr/local/bin/bash
#
u_name="$1"
pass=`cat /dev/urandom | tr -dc a-zA-Z0123456789 | head -c 9`
pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin
mkdir /home/samba/$u_name
mkdir /home/samba/$u_name/profile
chown $u_name:$u_name /home/samba/$u_name
chown $u_name:$u_name /home/samba/$u_name/profile
#
#Теперь как сделать что пароль сгенерированный добавлялся
Пробовал так не получается видимо не так делаю.
smbpasswd –a $u_name 
expect "New SMB password:" {send "$pass\r"}
expect "Retype new SMB password:" {send "$pass\r"}

smbpasswd –e $u_name

echo "User: $u_name Password: $pass"
Помогите примером.

Код: Выделить всё

imil@Azadbash:~/Temp/expect_sample$ cat sample.exp
#!/usr/bin/expect --

spawn ftp [lrange $argv 0 0]
set timeout 10
expect {
timeout {puts "timed out"; exit}
"connection refused" exit
"unknown host" exit
"Name"
}
send [lrange $argv 1 1]
send \r
expect "Password:"
send [lrange $argv 2 2]
send \r
expect "ftp>"
send "ls\r"
expect "Transfer complete"
send_user "\n"
imil@Azadbash:~/Temp/expect_sample$ 
Так выглядит в деле:

Код: Выделить всё

imil@Azadbash:~/Temp/expect_sample$ ./sample.exp ftp.freebsd.org anonymous kkk@mail.ru
spawn ftp ftp.freebsd.org
Connected to freebsd.isc.org.
220 Welcome to freebsd.isc.org.
Name (ftp.freebsd.org:imil): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxrwxr-x    3 110      1002          512 Oct 23  2006 pub
226 Directory send OK.
ftp> 
imil@Azadbash:~/Temp/expect_sample$ 
Smb под рукой нет, поэтому пример с FTP. Придётся вам написать expect сценарий (Шебанг expect-овский "#!/usr/bin/expect --") и передавать ему пароль в виде аргумента.

qtolikq
рядовой
Сообщения: 14
Зарегистрирован: 2011-03-21 11:32:47

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение qtolikq » 2013-01-11 20:21:29

Charlz_Klug_ писал(а):
qtolikq писал(а):

Код: Выделить всё

#!/usr/local/bin/bash
#
u_name="$1"
pass=`cat /dev/urandom | tr -dc a-zA-Z0123456789 | head -c 9`
pw useradd -n $u_name -c $u_name -d /home/samba/$1 -s /usr/sbin/nologin
mkdir /home/samba/$u_name
mkdir /home/samba/$u_name/profile
chown $u_name:$u_name /home/samba/$u_name
chown $u_name:$u_name /home/samba/$u_name/profile
#
#Теперь как сделать что пароль сгенерированный добавлялся
Пробовал так не получается видимо не так делаю.
smbpasswd –a $u_name 
expect "New SMB password:" {send "$pass\r"}
expect "Retype new SMB password:" {send "$pass\r"}

smbpasswd –e $u_name

echo "User: $u_name Password: $pass"
Помогите примером.

Код: Выделить всё

imil@Azadbash:~/Temp/expect_sample$ cat sample.exp
#!/usr/bin/expect --

spawn ftp [lrange $argv 0 0]
set timeout 10
expect {
timeout {puts "timed out"; exit}
"connection refused" exit
"unknown host" exit
"Name"
}
send [lrange $argv 1 1]
send \r
expect "Password:"
send [lrange $argv 2 2]
send \r
expect "ftp>"
send "ls\r"
expect "Transfer complete"
send_user "\n"
imil@Azadbash:~/Temp/expect_sample$ 
Так выглядит в деле:

Код: Выделить всё

imil@Azadbash:~/Temp/expect_sample$ ./sample.exp ftp.freebsd.org anonymous kkk@mail.ru
spawn ftp ftp.freebsd.org
Connected to freebsd.isc.org.
220 Welcome to freebsd.isc.org.
Name (ftp.freebsd.org:imil): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxrwxr-x    3 110      1002          512 Oct 23  2006 pub
226 Directory send OK.
ftp> 
imil@Azadbash:~/Temp/expect_sample$ 
Smb под рукой нет, поэтому пример с FTP. Придётся вам написать expect сценарий (Шебанг expect-овский "#!/usr/bin/expect --") и передавать ему пароль в виде аргумента.
Спасибо огромное за помощь разобрались как работает expect и сразу все заработала.

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение FiL » 2013-01-14 21:41:57

ужас-ужас. читать man smbpasswd уже не модно? Там есть ключик -s специально для таких случаев.

Charlz_Klug_
проходил мимо

Re: Как добавить пользователя и пароль скриптом на samba

Непрочитанное сообщение Charlz_Klug_ » 2013-01-15 6:06:13

FiL писал(а):ужас-ужас. читать man smbpasswd уже не модно? Там есть ключик -s специально для таких случаев.
Спасибо, буду знать.