您的位置:首页 > 运维架构 > Linux

CentOS6.0 vsftp+虚拟用户一键安装

2012-02-17 14:10 429 查看
新建一个shell文档

touch vsftpdinstall.sh

编辑vsftpdinstall.sh

vi vsftpdinstall.sh

添加以下内容:

pwd

string=`pwd`

#安装vsftpd

yum install -y vsftpd 

service vsftpd start 

chkconfig vsftpd on

yum install -y db4*

#创建一个文件

cd /home

touch virtual           

chmod 755 virtual

ed -s ./virtual <<EOF

a

vs

vs123

all

all123

.

w

q

EOF

db_load -T -t hash -f /home/virtual /etc/virtual.db

chmod 600 /etc/virtual.db

#修改配置文件

cd /etc/pam.d

sed -i 's/^/#&/g' vsftpd

sed -i '$ a\auth required /lib/security/pam_userdb.so db=/etc/virtual\naccount  required   /lib/security/pam_userdb.so db=/etc/virtual' vsftpd

#创建虚拟用户

useradd -d /home/virtualuser -s /sbin/nologin virtualuser

passwd virtualuser

chown -R virtualuser:virtualuser /home/virtualuser

chmod -R 755 /home/virtualuser

#在/home/virtual创建用户目录

mkdir /home/virtualuser/vs

mkdir /home/virtualuser/all

chmod 777 /home/virtualuser/vs

chmod 777 /home/virtualuser/all

mkdir /etc/vsftpd_user_conf

cd /etc/vsftpd_user_conf

touch /etc/vsftpd_user_conf/vs

touch /etc/vsftpd_user_conf/all

#编辑文件vs

ed -s ./vs <<EOF

a

virtual_use_local_privs=YES

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/virtualuser/vs

.

w

q

EOF

#编辑文件all

ed -s ./all <<EOF

a

virtual_use_local_privs=YES

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/virtualuser/all

.

w

q

EOF

#修改vsftpd配置文件vsftpd.conf

cd /etc/vsftpd

mv vsftpd.conf vsftpd.conf.backup

touch vsftpd.conf

ed -s ./vsftpd.conf <<EOF

a

listen=YES

anonymous_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

chroot_local_user=YES

guest_enable=YES

guest_username=virtualuser

user_config_dir=/etc/vsftpd_user_conf

pam_service_name=vsftpd

local_enable=YES

secure_chroot_dir=/var/run/vsftpd

.

w

q

EOF

#创建一个/var/run/vsftpd文件夹

mkdir /var/run/vsftpd

service vsftpd restart

保存退出!

chmod 755 vsftpdinstall.sh

./vsftpdinstall

执行完毕就可以用ftp访问了。

默认用户为文件virtual 里面的用户名密码,基数行为用户名,偶数行为密码。

如要添加或其他用户,在文件virtual里面添加,再执行

db_load -T -t hash -f /home/virtual /etc/virtual.db

再在/etc/vsftpd_user_conf中添加对应的配置文件,重启vsftpd

不同用户可以有不同权限,权限设置如下



virtual_use_local_privs参数
当 virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当 virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当 virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES 时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO 时,虚拟用户只能下载文件,无其他权限。
当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES 时,虚拟用户只能上传和下载文件,无其他权限。
当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES 时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES 时,虚拟用户只能下载、删除和重命名文件,无其他权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息