当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > vsftp下用户允许可传、下文件,但不能删

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

Unix/Linux 中的 vsftp下用户允许可传、下文件,但不能删


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 146 ::
收藏到网摘: n/a

vsftp下用户允许可传、下文件,但不能删
一、安装 1.下载最新的稳定版vsftpd-1.2.1.tar.gz 2.卸载原有的rpm的vsftpd rpm -e vsftpd 3.tar xvzf vsftpd-1.2.1.tar.gz 4.cd vsftpd-1.2.1 5.make 6.useradd nobody 7.mkdir /usr/share/empty 8.mkdir /var/ftp 9.useradd -d /var/ftp ftp 10.chown root.root /var/ftp 11.chmod og-w /var/ftp 说明:如果你象我一样原来有rpm的vsftp,只是卸载了,可以省略6-11步,如果原来没有安装vsftp,请按部就班。 12.make install 13.vi /etc/xinetd.d/vsftpd 把disable=yes改成no,保存退出。然后service xinetd restart,OK!新装的vsftp已经可以工作了! 说明:默认安装的vsftpd是以xinetd的方式启动的。你需要上述操作,一会儿,我们再来讲把它改成独立启动的服务。 14.ftp 127.0.0.1 输入用户名ftp,密码直接回车,OK!已经可以连接了!输入quit退出。然后重新ftp 127.0.0.1,输入本地用户和密码,却提示login faild!why?原来少一个本地用户认证的pam文件。 15.cp RedHat/vsftpd.pam /etc/pam.d/ftp(注意,没有这一步将不能使用本地用户登录!) 16.cp vsftpd.conf /etc/vsftpd.conf(现在,默认还是只能匿名用户登录) 17.vi /etc/vsftpd.conf 把anonmous_enable=YES改成NO(禁掉匿名链接,不安全) 把local_enable=YES前的注释去掉(打开本地用户连接的权限) 把write_enable=YES前的注释去掉(打开本地用户的写权限) 把local_umask=022前的注释去掉 service xinetd restart 18.再次测试 ftp 127.0.0.1 使用ftp用户空密码登录,将出现login faild 使用本地用户登录,OK!已经成功了!上传文件,也OK!  这样是不是就完事儿了?不是,做一个FTP,我们通常还需要一些特殊要求:比如一个用户我只允许他下载,不允许他上传;另一个用户可以下载也可以上传,但是他不能删除文件,不能给文件改名;另外,我还需要我的FTP使用非常规的端口,限制下载的速度,还需要一个管理员用户。那怎么办?请看下面的部分! 二、高级配置 1.使用独立服务 a.vi /etc/xinetd.d/vsftpd把disable=no还改成yes,不再需要它了! b.vi /etc/vsftpd.conf在结尾加上listen=YES c.service xinetd restart d./usr/local/sbin/vsftpd /etc/vsftpd.conf & OK!现在vsftp已经是独立启动的服务了! 2.使用非常规的端口(2121) a.vi /etc/vsftpd.conf 添加listen_port=2121,保存退出 b.killall -9 vsftpd c./usr/local/sbin/vsftpd /etc/vsftpd.conf & OK!现在用ftp 127.0.0.1将提示你连接被拒绝了(ftp:connect:Connetion refuesd)!然后ftp 127.0.0.1 2121输入用户名和密码,OK!可以登录! 3.实现不同用户不同权限 现在我们就来实现三个用户的不同权限:a.upload用户,可以上传下载,可以新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;b.download用户,只能下载;c.admin用户,管理员,可以上传,可以下载,可以新建文件夹,可以删除和更改文件和文件夹名。这些用户都不能登录系统,并且用ftp连接时锁定在自己的家目录中不能进入系统文件夹。 a.cat << ! >logins.txt >upload >******* #upload用户的密码 >download >******* >admin >**************** >! 说明,此文本文件的格式是:单数行为用户名,偶数行为密码 b.db_load -T -t hash -f logins.txt /etc/vsftpd_login.db c.chmod 600 /etc/vsftpd_login.db d.cd vsftpd-1.2.1/EXAMPLE;cp VIRYUAL_USERS/vsftpd.pam /etc/pam.d/ftp.vu (进入你的解包的源码目录,把虚拟用户的认证文件拷贝到/etc/pam.d/下) e.useradd -d /home/ftpsite virtual;chmod 700 /home/ftpsite;su - virtual -c "echo hello>/homt/ftpsite/test.file(建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件) f.vi /etc/vsftpd.conf在此文件中插入下面的配置语句 guest_enable=YES(启用虚拟用户) guest_username=virtual(将虚拟用户映射为本地virtual用户) pam_service_name=ftp.vu(指定PAM配置文件为ftp.vu) user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径) 保存退出 g.mkdir /etc/vsftpd_user_conf h.开放不同用户的不同权限 echo "anon_world_readable_only=NO">/etc/vsftpd_user_conf/download(开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录) cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload vi /etc/vsftpd_user_conf/upload,添加下列行 write_enable=YES (增加写权限) anon_upload_enable=YES(增加上传权限) anon_mkdir_write_enable=YES (增加创建目录的权限) cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin 增加一行: anno_other_writer_enable=YES(增加管理员用户的删除/重命名的权限) i.测试 killall -9 vsftpd;/usr/local/sbin/vsftpd /etc/vsftpd.conf & ftp 127.0.0.1 2121 以用户名download和你设置的密码登录,ls,可以看到文件