Chinaunix

标题: VSFTP如何限制某一个用户禁止下载和上传 [打印本页]

作者: zhou__xf    时间: 2010-11-08 14:34
标题: VSFTP如何限制某一个用户禁止下载和上传
本帖最后由 zhou__xf 于 2010-11-08 15:17 编辑

我记得原来做过  现设置个禁止的用户列表  在从CONF文件里面 加一条  设置 但具体忘了
作者: ykaing    时间: 2010-11-08 15:01
Userlist_deny=no (名单中的人不允许访问)
作者: zhou__xf    时间: 2010-11-08 15:17
回复 2# ykaing


    知道了 3Q
作者: luesfeng    时间: 2010-11-09 10:10
那要他登陆进来干嘛呢
作者: zhiyu_guo    时间: 2010-11-11 10:52
不解。。。
作者: vermouth    时间: 2010-11-11 18:49
/etc/host.deny 好像也可以。
作者: zsgd    时间: 2010-11-12 23:44
本帖最后由 zsgd 于 2010-11-12 23:46 编辑

把下面命令cp下来,保存成一个可执行文件即可,1秒钟就完成了所有的配置。



说明:
download用户的秘密是downloadpw, 只能下载文件。
upload用户的密码是uploadpw,可以下载和上传文件,但不能删除文件,包括自己上传的文件。
admin用户的秘密是adminpw,可以下载上传文件,可以删除任意文件。

如果需要修改用户名和密码,可在改2-6行修改,如果是在windows修改,需要验证行结尾符号,可以通过 dos2unix auto.txt 命令转换。


touch ~/logins.txt
echo download >> ~/logins.txt
echo downloadpw >> ~/logins.txt
echo upload >> ~/logins.txt
echo uploadpw>> ~/logins.txt
echo admin  >> ~/logins.txt
echo  adminpw >> ~/logins.txt
db_load -T -t hash -f ~/logins.txt  /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login" >> /etc/pam.d/ftp.vu
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login" >> /etc/pam.d/ftp.vu
#seting  authfile
################################################################################
useradd -d /home/virtual -m virtual
chmod 700 /home/virtual
cp /etc/hosts /home/virtual/
#seting  local env
################################################################################
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=virtual"  >>  /etc/vsftpd/vsftpd.conf
echo "user_config_dir=/etc/vsftpd/vsftpd_user_conf"  >> /etc/vsftpd/vsftpd.conf
echo "pam_service_name=ftp.vu"  >> /etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
sed -i 's/pam_service_name=vsftpd/pam_service_name=ftp.vu/g'  /etc/vsftpd/vsftpd.conf
#seting vsftpd's  virtual
################################################################################
mkdir /etc/vsftpd/vsftpd_user_conf
echo "anon_world_readable_only=NO"  > /etc/vsftpd/vsftpd_user_conf/download
chmod 700 /etc/vsftpd/vsftpd_user_conf/download
#create download user file
################################################################################
cp  /etc/vsftpd/vsftpd_user_conf/download /etc/vsftpd/vsftpd_user_conf/upload
echo "write_enable=YES" >>  /etc/vsftpd/vsftpd_user_conf/upload
echo "anon_upload_enable=YES" >>  /etc/vsftpd/vsftpd_user_conf/upload
echo "anon_mkdir_write_enable=YES" >>  /etc/vsftpd/vsftpd_user_conf/upload
chmod 700 /etc/vsftpd/vsftpd_user_conf/upload
#create upload user file
################################################################################
cp  /etc/vsftpd/vsftpd_user_conf/upload /etc/vsftpd/vsftpd_user_conf/admin
echo "anon_other_write_enable=YES" >> /etc/vsftpd/vsftpd_user_conf/admin
chmod 700 /etc/vsftpd/vsftpd_user_conf/admin
#create admin user file
################################################################################
service vsftpd restart >> /dev/null
作者: zhangqing422    时间: 2010-11-15 10:05
虚拟用户的支持

1.建立虚拟用户口令库文件(奇数行是用户名,偶数行是密码)
进入/etc/vsftpd 目录,然后新建文件benet
[root@localhost /]#vi benet
11
11
22
22
2.生成vsftpd的认证文件(需要安装db4-util,系统镜像里面有,书上没介绍)
[root@localhost /]#db_load -T -t hash -f  /etc/vsftpd/benet  /etc/vsftpd/benet.db  (修改文件的权限)

3.建立虚拟用户所需的PAM配置文件(/etc/pam.d/)
进入/etc/pam.d,然后建立文件ftp,内容如下
[root@localhost /]#cd  /etc/pam.d
[root@localhost /]#vi  ftp
  auth   required    /lib/security/pam_userdb.so    db=/etc/vsftpd/benet  (库名)
account   required  /lib/security/pam_userdb.so    db=/etc/vsftpd/benet (库名)
4.建立虚拟用户所需要的系统用户
useradd   aa  -d  /aa(虚拟用户主目录)  -s  /sbin/nologin
5.建立虚拟用户所要访问的目录并设置相应权限(修改主目录权限700)
chmod    700  -R   /aa       

6.设置/etc/vsftpd/vsftpd.conf配置文件,在文档末尾添加如下内容:
[root@localhost /]#vi  /etc/vsftpd/vsftpd.conf
guest_enable=YES               (启用虚拟用户)
guest_username=aa               (新建的系统用户)
pam_service_name=ftp             (验证模块名称)
user_config_dir=/etc/vsftpd/config     虚拟用户权限的配置目录

7.进入/etc/vsftpd/config新建文件11,22。这两个文件就是11和22用户的权限配置文件,下面的参数就是具体的可能用的参数
[root@localhost /]#mkdir  /etc/vsftpd/config
[root@localhost /]#touch 11 22
[root@localhost /]#vi 11
[root@localhost /]#vi 22
anon_world_readable_only=YES    表示用户可以浏览FTP目录和下载文件
anon_upload_enable=NO      表示用户不可以上传文件       
anon_mkdir_write_enable=YES    表示用户具有建立目录的权限,不能删除目录
anon_other_write_enable=YES    表示用户具有文件改名和删除文件的权限
local_root=/                    指定虚拟用户的目录




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2