Kategoriler
Dosya paylaşımı

del_smbuser

Samba kullanıcılarını isterseniz toplu bir şekilde silmenizi sağlayan betik. Betiğin tek ihtiyacı olan şey satır satır

kullanıcı

şeklinde düzenlenmiş bir dosya

#!/bin/bash
# @author Özgür Kılıçaslan - Can Mustafa Özdemir
# @version 2012.04.30
prog=$0
base=
user=
file=

optstring=u:l:

while getopts $optstring opt;
 do
 case $opt in
 u)
 user=$OPTARG
 ;;
 l)
 file=$OPTARG
 ;;
 *)
 exit 1
 ;;
 esac
 done
if [ -n "${user}" ]
then

smbpasswd -x ${user}

userdel ${user}

rm -R /home/${base}/${user}

rm /etc/samba/${user}.user

cat /etc/samba/smb.base > /etc/samba/smb.conf

for i in `find /etc/samba/ -iname "*.user"`
do
cat $i >> /etc/samba/smb.conf
done

service smbd stop
service smbd start

else
 if [ -f $file ]
 then
 while read user2;
 do

$prog -u $user2
 done < "$file"
 fi
fi
Kategoriler
Dosya paylaşımı

add_smbuser

Bakım gerektiren bir samba kullanıcısı ekleme betiği. Betik sadece file parametresi vermişseniz

kullanıcı parola

şeklinde düzenlenmiş olan bir dosyadan okuyarak yine kendisini kullanarak kullanıcıları oluşturuyor.

Uyarı notu:

samba sunucusunu ilk kurduğunuzda

/etc/samba/smb.conf

dosyasının adını

/etc/samba/smb.base

şeklinde değiştirin.

#!/bin/bash
# @author Özgür Kılıçaslan - Can Mustafa Özdemir
# @version 2012.04.30
prog=$0
base=
user=
password=
file=

optstring=u:p:l:

while getopts $optstring opt;
 do
 case $opt in
 u)
 user=$OPTARG
 ;;
 p)
 password=$OPTARG
 ;;
 l)
 file=$OPTARG
 ;;
 *)
 exit 1
 ;;
 esac
 done
if [ -n "${user}" ] && [ -n "${password}" ]
then

if [ ! -d /home/${base} ]
then
mkdir /home/${base}
fi

useradd --create-home --home /home/${base}/${user} --skel /etc/${base}.skel/ --password ${password} ${user}

(echo ${password}; echo ${password}) | smbpasswd -a -s ${user}

echo "
[${user}]
path = /home/${base}/${user}
comment = No comment
admin users = ${user}
read only = no
available = yes
browseable = yes
writable = yes
guest ok = no

public = no
printable = no
locking = no
strict locking = no
" > /etc/samba/${user}.user

cat /etc/samba/smb.base > /etc/samba/smb.conf

for i in `find /etc/samba/ -iname "*.user"`
do
cat $i >> /etc/samba/smb.conf
done

service smbd stop
service smbd start

else
 if [ -f $file ]
 then
 while read user2 password2;
 do
 $prog -u $user2 -p $password2
 done < "$file"
 fi
fi