分类: LINUX
2008-08-28 17:13:35
这2天接了个linux下文件服务器的单,所以研究samba,目前能做到的是批量导入用户,有些方面的处理还不是很周到,以后有时间再改,先发上几个相关文件.
安装执行办法:
./update.shremove
./update.shinstall
设置smb
./update.shset
user.txt为用户密码文件,user:password
update.sh
#!/bin/bash
if["$1"="remove"];then
aptitudepurgesamba-y>/dev/null
apt-getremovesamba*-y>/dev/null
rm-rf/etc/samba>/dev/null
elif
["$1"="install"];then
echo"Waiting..................."
aptitudeinstallsamba-f-y
aptitudeinstallwinbind-f-y
aptitudeinstallexpect-y
addgroupkx
elif
["$1"="set"];then
/etc/init.d/sambastop
cp./smb.conf/etc/samba/smb.conf-f
SAVEDIFS=$IFS
IFS=:
whilereadxnameother
do
smbpasswd-x$xname
done
whilereadnamepasswd
do
deluser$name
useradd-gkx-k/dev/null-p$passwd-m-s/bin/false-d/home/$name$name>&/dev/null
chown$name.kx/home/$name
./expect_smb.sh$name$passwd>/dev/null
echo"Adduser##$name##withpassword##$passwd##over!"
done<./user.txt
/etc/init.d/sambarestart
fi
./expect_smb.sh
#!/usr/bin/expect-f
#FileName:expect_smb.sh
#Addusertothesambaserver
#1---Thenameofuser
#2---Thepasswdofuser
setusername[lindex$argv0]
setpassword[lindex$argv1]
spawnsmbpasswd-a$username
expect"*password:"
send"$password\n"
expect"*password:"
send"$password\n"
expecteof
smb.conf
[global]
workgroup=mygroup
serverstring=%hserver
;winssupport=no
;winsserver=w.x.y.z
dnsproxy=no
;nameresolveorder=lmhostshostwinsbcast
;interfaces=127.0.0.0/8eth0
;bindinterfacesonly=true
logfile=/var/log/samba/log.%m
maxlogsize=1000
;syslogonly=no
syslog=0
panicaction=/usr/share/samba/panic-action%d
security=user
encryptpasswords=true
passdbbackend=tdbsam
obeypamrestrictions=yes
invalidusers=root
;unixpasswordsync=no
passwdprogram=/usr/bin/passwd%u
passwdchat=*Enter\snew\sUNIX\spassword:*%n\n*Retype\snew\sUNIX\spassword:*%n\n*password\supdated\ssuccessfully*.
;pampasswordchange=no
domainlogons=no
;logonpath=\\%N\profiles\%U
;logonpath=\\%N\%U\profile
;logondrive=H:
;logonhome=\\%N\%U
;logonscript=logon.cmd
;adduserscript=/usr/sbin/adduser--quiet--disabled-password--gecos""%u
loadprinters=no
;printing=bsd
;printcapname=/etc/printcap
;printing=cups
;printcapname=cups
;printeradmin=@ntadmin
;include=/home/samba/etc/smb.conf.%m
#YoumaywanttoaddthefollowingonaLinuxsystem:
socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192
;domainmaster=auto
;idmapuid=10000-20000
;idmapgid=10000-20000
;templateshell=/bin/bash
winbindenumgroups=yes
;winbindenumusers=yes
#=======================ShareDefinitions=======================
[homes]
comment=HomeDirectories
browseable=no
writable=yes
createmask=0700
directorymask=0700
validusers=%S
[wind]
comment=wind
path=/home/wind
writable=yes
createmask=0770
directorymask=0770
[tools]
comment=tools
path=/home/tools
writeable=yes
createmask=0700
directorymask=0700
;writelist=root,@ntadmin
;postexec=/bin/umount/cdrom
user.txt
kx1:0
kx2:0
kx3:0
kx4:0