cheungmine
2016-01-27
vsftpd - Very Secure FTP Daemon
$ sudo apt-get install vsftpd关闭, 启动
$ sudo service vsftpd stop|start|restart实际目录在: /srv/ftp/
$ wget http://ftp.us.debian.org/debian/pool/main/d/db4.8/libdb4.8_4.8.30-2_amd64.deb $ wget http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/db4.8-util_4.8.30-11ubuntu1_amd64.deb
$ sudo dpkg -i libdb4.8_4.8.30-2_amd64.deb $ sudo dpkg -i db4.8-util_4.8.30-11ubuntu1_amd64.deb
cab 123456 sedan 234567 limo 345678
$ sudo mkdir /etc/vsftpd.d $ sudo rm -f /etc/vsftpd.d/vsftpd_login.db $ sudo db4.8_load -T -t hash -f ~/ftpvusers.txt /etc/vsftpd.d/vsftpd_login.db
$ sudo chmod 600 /etc/vsftpd.d/vsftpd_login.db
$ sudo ln -s /lib/x86_64-linux-gnu/security/pam_userdb.so /lib/security/pam_userdb.so
$ sudo vi /etc/pam.d/vsftpd_login
auth required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login可见,/etc/vsftpd.d/vsftpd_login 指向了 /etc/vsftpd.d/vsftpd_login.db
#### 创建ftp读写访问用户目录(vsftpd访问权限) $ sudo mkdir -p /home/vsftpd/limo $ sudo useradd vsftpd -d /home/vsftpd -s /bin/false $ sudo chown -R vsftpd:vsftpd /home/vsftpd $ sudo chgrp -R vsftpd /home/vsftpd $ sudo chmod -R 700 /home/vsftpd #### 创建ftp只读访问用户目录(root访问权限) $ sudo mkdir /home/vsftpd/sedan $ sudo mkdir /srv/ftp/cab $ sudo chown root:ftp /srv/ftp/cab
/etc/vsftpd.conf
先备份listen=YES #以standalone模式运行vsftpd #listen_ipv6=YES #注释掉这个!! 解决错误: 500 OOPS: run two copies of vsftpd for IPv4 and IPv6 anonymous_enable=NO #禁止匿名访问 dirmessage_enable=YES #显示目录下的message消息 xferlog_enable=YES #启用日志 xferlog_file=/var/log/vsftpd.log #设定日志路径 xferlog_std_format=YES #使用标准日志格式 chroot_local_user=YES #限定用户在家目录 guest_enable=YES #启用虚拟用户 guest_username=vsftpd #将虚拟用户转换成本地用户vsftpd user_config_dir=/etc/vsftpd.d #虚拟用户的配置文件存放目录 pam_service_name=vsftpd_login #指定认定文件=> /etc/pam.d/vsftpd_login local_enable=YES secure_chroot_dir=/var/run/vsftpd/empty #此句必要!! allow_writeable_chroot=YES # 解决错误: 500 OOPS: vsftpd: refusing to run with writable root inside chroot------------------------------------------------------------------------
# vi /etc/vsftpd.d/cablocal_root=/srv/ftp/cab
# vi /etc/vsftpd.d/sedanlocal_root=/home/vsftpd/sedan
# vi /etc/vsftpd.d/limo
local_root=/home/vsftpd/limo # 指定家目录 write_enable=YES # 开启全局上传(写)权限 anon_world_readable_only=NO # 关闭匿名用户只读(下载)权限 anon_upload_enable=YES # 开启匿名用户上传权限 anon_mkdir_write_enable=YES # 开启匿名用户建目录权限 anon_other_write_enable=YES # 开启匿名用户除上传和建目录之外的写权限(如重命名,删除等)
$ sudo killall vsftpd $ sudo /usr/sbin/vsftpd /etc/vsftpd.conf & 或者 $ sudo service vsftpd stop $ sudo service vsftpd start|restart
wget 访问
1) wget ftp://cab@yourhost --ftp-password=123456
2) wget ftp://cab:123456@yourhost
3) wget ftp://yourhost --ftp-user=cab --ftp-password=123456