本脚本实例的要求如下:
1、公司有公共共享目录public,所有员工均可读写,但不允许删除其他员工的文件;不能匿名登录
2、每部门均有共享目录,部门经理可读写,部门员工可读;
非本部门员工不能访问(caiwu、renshi、yewu、kaifa、kefu部,每部门均有多名员工)
3、所有员工均有个人目录,其他人均不能访问
4、为满足不同员工的访问习惯,以上访问要求通过FTP与SAMBA能同样访问
5、要求用脚本实现
A、安装配置自动完成
B、添加用户时自动完成访问设置
【目录规划】:
/data/public
caiwu(存放用户宿主目录)
renshi)
yewu
kaifa
kefu
caiwu-pub(部门公共目录)
rensh-pub
yewu-pub
kaifa-pub
kefu-pub
目录权限:750 属主:部门经理;属组:部门组
【用户宿主目录示例】:
/data/caiwu/cw1
cw2
cw3
【添加用户命令示例】:
useradd -g caiwu -d /data/caiwu/cw1 cw1
【ftp用户访问根目录】:
local_root=/data
【ftp关闭匿名访问】:
anonymous_enable=YES(改成NO)
【samba配置文件添加共享示例】:
[public]
path=/data/public
public=yes
writable=yes
[caiwu-pub]
path=/data/caiwu-pub
valid users=@caiwu
write list=cw-jl
【ftp-samba-install脚本如下】:
#!/bin/bash
yum -y install vsftpd samba*
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/" /etc/vsftpd/vsftpd.conf
echo "local_root=/data" >> /etc/vsftpd/vsftpd.conf
mkdir -p /data/public
mkdir -p /data/caiwu
mkdir -p /data/renshi
mkdir -p /data/yewu
mkdir -p /data/kaifa
mkdir -p /data/kefu
mkdir -p /data/caiwu-pub
mkdir -p /data/renshi-pub
mkdir -p /data/yewu-pub
mkdir -p /data/kaifa-pub
mkdir -p /data/kefu-pub
groupadd caiwu
groupadd renshi
groupadd yewu
groupadd kaifa
groupadd kefu
useradd -g caiwu -d /data/caiwu/cw-jl cw-jl
useradd -g renshi -d /data/renshi/rs-jl rs-jl
useradd -g yewu -d /data/yewu/yw-jl yw-jl
useradd -g kaifa -d /data/kaifa/kf-jl kf-jl
useradd -g kefu -d /data/kefu/kefu-jl kefu-jl
chown cw-jl:caiwu /data/caiwu-pub
chmod 750 /data/caiwu-pub
chown rs-jl:renshi /data/renshi-pub
chmod 750 /data/renshi-pub
chown yw-jl:yewu /data/yewu-pub
chmod 750 /data/yewu-pub
chown kf-jl:kaifa /data/kaifa-pub
chmod 750 /data/kaifa-pub
chown kefu-jl:kefu /data/kefu-pub
chmod 750 /data/kefu-pub
chown cw-jl:caiwu /data/caiwu
chmod 750 /data/caiwu
chown rs-jl:renshi /data/renshi
chmod 750 /data/renshi
chown yw-jl:yewu /data/yewu
chmod 750 /data/yewu
chown kf-jl:kaifa /data/kaifa
chmod 750 /data/kaifa
chown kefu-jl:kefu /data/kefu
chmod 750 /data/kefu
chmod 1777 /data/public
echo "cw-jl:123" | chpasswd &> /dev/null
echo "rs-jl:123" | chpasswd &> /dev/null
echo "yw-jl:123" | chpasswd &> /dev/null
echo "kf-jl:123" | chpasswd &> /dev/null
echo "kefu-jl:123" | chpasswd &> /dev/null
echo "
[public]
path=/data/public
public=yes
writable=yes
[caiwu-pub]
path=/data/caiwu-pub
valid users=@caiwu
write list=cw-jl
[renshi-pub]
path=/data/renshi-pub
valid users=@renshi
write list=rs-jl
[yewu-pub]
path=/data/yewu-pub
valid users=@yewu
write list=yw-jl
[kaifa-pub]
path=/data/kaifa-pub
valid users=@kaifa
write list=kf-jl
[kefu-pub]
path=/data/kefu-pub
valid users=@kefu
write list=kefu-jl
" >> /etc/samba/smb.conf
service vsftpd start
service smb start
【ftp-samba-useradd脚本如下】:
#!/bin/bash
read -p "please input username:" username
read -p "please input bumen:" bumen
useradd -g $bumen -d /data/$bumen/$username $username
passwd $username
pdbedit -a $username