Kullanıcı işlemleri (smbadduser)
Önceki WindowsPDC 2 SAMBA Sonraki
Kullanıcı işlemleri (smbadduser)
Samba için kullanıcı eklemekte  smbadduser komutu çok işe yarar. Bu betiği olmayanlar için kodu hemen yazayım;
#!/bin/csh
#
# smbadduser - Written by Mike Zakharoff
#
unalias *
set path = ($path /usr/bin)
set smbpasswd = /etc/samba/smbpasswd
#set smbpasswd = /etc/samba.d/smbpasswd
set user_map  = /etc/samba/smbusers
#set user_map  = /etc/samba.d/smbusers
#
# Set to site specific passwd command
#
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: XXX"
        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 ebal:egemen johns:smithj"
        echo $line
        exit 1
endif
touch $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
        endif
        echo "Adding: $unix to $smbpasswd"
#       eval $passwd | \
#       awk -F: '$1==USR { \
#       printf( "%s:%s:XXX:XXX:%s:%s:%s\n", $1, $3, $5, $6, $7) }' USR=$un
ix >> $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
Bu betik SuSE içinde geliyor gerçi 8.0 sürümündeki bozuk ama. Eğer Samba'yı yeni derliyorsanız betikte bazı değişikler yapmanız gerekebilir hemen belirtelim.
Tamam. Şimdi smb.conf dosyamız mükemmel durumda çalışıyor olsun. Şimdi sıra bir kullanıcının domaine giriş yapması sürecine geldi.
Önce Linux için egemen isminde kabuğu /bin/false olan bir kullanıcı oluşturun. Ev dizini /home/egemen olsun. Grubu ise it olsun. Egemen aynı zamanda users grubunda da olsun. IT grubunun grup kimliği ise 505 olsun. "egemen" kullanıcısının kullanıcı kimliği ise 101 olsun:
useradd -d /home/egemen -g 505 -G 100 -s /bin/false  -u 101 -r egemen
Böylece egemen isimli bir kullanıcı tanımladık.
smbadduser egemen:ebal
komutuyla da egemen kullanıcısı için "ebal" adı altında bir samba kullanıcısı oluşturmuş olduk. Bu "egemen:egemen" de olabilirdi size kalmış birşey. Eğer bir samba kullanıcısının parolasını değiştirmek istiyorsaniz smbpasswd [kullanıcı] komutunu kullanabilirsiniz.
Linux için oluşturduğumuz "egemen" kullanıcısı telnet veya herhangi bir şekilde Linux'a giriş yapamaz. Sadece "ebal" kullanıcısı Samba'ya giriş yapabilir. Diğer gruplarınız ve kullanıcılarınız için de aynen bu şekilde devam edin.
Önceki Üst Ana Başlık Sonraki
Netlogon ve Profiles Başlangıç Öneriler
Bir Linux Kitaplığı Sayfası