Страница 1 из 1

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

Добавлено: 2013-01-11 9:42:16
qtolikq
Вопрос конечно может и глупый но как можно добавить пользователя 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"

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

Добавлено: 2013-01-11 9:50:51
Charlz_Klug_
Посмотрите здесь.

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

Добавлено: 2013-01-11 10:08:04
qtolikq
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:********
Гибкий вариант и ещё более гибкий вариант.

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

Добавлено: 2013-01-11 11:42:20
qtolikq
Гость писал(а):
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:********
Гибкий вариант и ещё более гибкий вариант.
Если можно в примере ото что-то не пойму как это реализовать из вашего варианта мы только учимся прошу сильно не пинать.

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

Добавлено: 2013-01-11 12:35:59
Electronik
чем ldapscripts не угодил?
http://www.lissyara.su/articles/freebsd ... +bdc+ldap/

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

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

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

Добавлено: 2013-01-11 13:08:55
Charlz_Klug_
Если и Вики мало, то вот вам ещё.

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

Добавлено: 2013-01-11 14:46:58
qtolikq
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"
Помогите примером.

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

Добавлено: 2013-01-11 20:15:13
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 --") и передавать ему пароль в виде аргумента.

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

Добавлено: 2013-01-11 20:21:29
qtolikq
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 и сразу все заработала.

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

Добавлено: 2013-01-14 21:41:57
FiL
ужас-ужас. читать man smbpasswd уже не модно? Там есть ключик -s специально для таких случаев.

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

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