в общем к своему глубокому стыду линуксом занимался постольку-поскольту
проблема в заведении юзера на самбе. раньше работало без проблем а в самый неподходящий момент, когда чаловек их админящий свалил на сессию оно перестало работать...
все должно быть просто как орех:
adduser User_name -g Group_name
passwd
smbadduser User_name:User_nameи тут получаем
if: Expression Syntax.проверил наличие файлов... все есть текст скрипта:
Цитата:#!/bin/csh
#
# smbadduser - Written by Mike Zakharoff
#
unalias *
set path = ($path)#set smbpasswd = /usr/local/samba/private/smbpasswd
set smbpasswd = /etc/samba/smbpasswd
#set user_map = /usr/local/samba/lib/users.map
set user_map = /etc/samba/smbusers
#
# Set to site specific passwd command
#
#set passwd = "getent passwd"
set passwd = "cat /etc/passwd"
#set passwd = "niscat passwd.org_dir"
#set passwd = "ypcat passwd"set line = "----------------------------------------------------------"
if ($#argv == 0) then
echo $line
echo "Written: Mike Zakharoff email: michael.j.zakharoff@boeing.com"
echo ""
echo " 1) Updates $smbpasswd"
echo " 2) Updates $user_map"
echo " 3) Executes smbpasswd for each new user"
echo ""
echo "smbadduser unixid:ntid unixid:ntid ..."
echo ""
echo "Example: smbadduser zak:zakharoffm johns:smithj"
echo $line
exit 1
endiftouch $smbpasswd $user_map
set new = ()
foreach one ($argv)
echo $one | grep ':' >& /dev/null
if ($status != 0) then
echo "ERROR: Must use unixid:ntid like -> zak:zakharoffm"
continue
endif
set unix = `echo $one | awk -F: '{print $1}'`
set ntid = `echo $one | awk -F: '{print $2}'`set usr = `eval $passwd | awk -F: '$1==USR {print $1}' USR=$unix`
if ($#usr != 1) then
echo "ERROR: $unix Not in passwd database SKIPPING..."
continue
endif
set tmp = `cat $smbpasswd | awk -F: '$1==USR {print $1}' USR=$unix`
if ($#tmp != 0) then
echo "ERROR: $unix is already in $smbpasswd SKIPPING..."
continue
endifecho "Adding: $unix to $smbpasswd"
# eval $passwd | \
# awk -F: '$1==USR { \
# printf( "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:%s:%s:%s\n", $1, $3, $5, $6, $7) }' USR=$unix >> $smbpasswd
/usr/bin/smbpasswd -a -n $unix
if ($unix != $ntid) then
echo "Adding: {$unix = $ntid} to $user_map"
echo "$unix = $ntid" >> $user_map
endif
set new = ($new $unix)
end#
# Enter password for new users
#
foreach one ($new)
echo $line
echo "ENTER password for $one"
smbpasswd $one
end
как вылечить?
полно спецов... помогли :( спасибо большое
>полно спецов... помогли :( спасибо большоеman smbpasswd
параметр -a
все гениальное просто :)
еще раз БОЛЬШОЕ спасибо
"Какой вопрос - такой и ответ".
Ты ж сам всё настолько непонятно объяснил что тебе никот и не ответил.
Во первых у тебя ошибку выдаёт этот скрипт или когда ты сам комманды вводишь? Если скрипт, то возьми сам и посмотри в каком месте у тебя вылазит ошибка. Сделай отладку или напихай о ходу скрпита "echo Label 1" И т.д. Вообщем сначала локализуй проблему и сам всё навена поймёшь. А то получается что тебе влом самому копаться.
Сылшь, я вот, для прикола взял твой скрипт и у себя запустил - всё работает. Постарайся локализовать проблему.. Магёт ты де-то чё-та похерил случаем...
ребята сделайте скидку на ламерство :).
я вроде нормально описал, что трапается на скрипте, что выдает тоже написал.
отбагить эхами не получается он его даже выполнять не начинает :(
какрас я ее локализовал сколько мог... даже скрипт выпихнул :/ничего лично я не херил... оно мне надо? :) я просто пользователя хотел завести...
в общем спасибо DogEater простое решение и все поехало...