ubuntu 14.04 搭建vsftpd
2016-12-21 22:42
495 查看
什么是vsftpd?
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。而如果你不知道什么是FTP,那么可以百度。
本文目的
在ubuntu 14.04上搭建一个ftp server,同时设置几个账户,使得该账户只能访问服务器指定目录下的内容,拥有下载的权利,但是无法修改server上的文件内容。步骤
1.安装vsftpdsudo apt-get update sudo apt-get install vsftpd
2.启动,关闭vsftpd
sudo service vsftpd status//查看vsftpd状态 sudo service vsftpd start//启动vsftpd sudo service vsftpd stop//关闭vsftpd sudo service vsftpd restart//重新启动vsftpd
上面几条命令是让你确保vsftpd进程已经启动,有的时候启动失败可能是端口21被占据,可以利用如下命令查看占据21端口的进程。
sudo netstat -naplt |grep 21 //运行结果如下则正常 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2717/vsftpd
3.配置/etc/vsftpd.conf文件
#如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求 listen=YES #不允许匿名访问,匿名访问者的用户名和密码均为ftp anonymous_enable=NO #允许本地用户(即linux系统中的用户帐号)登录FTP服务器 local_enable=YES #允许本地用户对FTP服务器文件具有写权限 write_enable=NO #不允许匿名用户上传文件 anon_upload_enable=NO #不允许匿名用户新建文件夹 anon_mkdir_write_enable=NO # 是否激活目录欢迎信息功能 # 当用户用CMD模式首次访问服务器上某个目录时,FTP服务器将显示欢迎信息 # 默认情况下,欢迎信息是通过该目录下的.message文件获得的 # 此文件保存自定义的欢迎信息,由用户自己建立 dirmessage_enable=YES #使用当地本机时间 use_localtime=YES #让系统自动维护上传和下载的日志文件 xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log #登录欢迎信息 ftpd_banner=Welcome to work9. #所有用户均不允许自由访问其他目录 chroot_local_user=YES #这两句配套使用,存在特殊用户可以访问服务器其他目录 ,用户名存放在/etc/vsftpd/chroot_list中 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #指定用户登录服务器后所在目录 #注意需要将该目录的权限修改为555,即sudo chmod 555 ./ local_root=/home/work9/文档/work9 secure_chroot_dir=/var/run/vsftpd/empty rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #允许虚拟用户访问 guest_enable=YES #指定虚拟用户对应的服务器本地系统用户名 guest_username=virtual #虚拟用户配置文件夹 user_config_dir=/etc/vsftpd/vsftpd_user_conf #虚拟用户数据库 pam_service_name=/etc/pam.d/vsftpd.vu
以上就是我的配置文件了。给个建议,先对原始的配置文件进行备份,比如:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bake
然后最好是按照上面的一个一个添加,测试vsftpd是否运行正常,否则
不是很容易发现问题在哪里。
4.建立虚拟用户数据库
//下载一个数据库 sudo apt-get install db5.1-util //生成一个用户和密码的文件,奇数行是用户名,偶数行密码 sudo vim login.txt //生成文件夹 sudo mkdir /etc/vsftpd //chroot_list里存放这可以访问服务器中其他目录的用户名 sudo vim /etc/vsftpd/chroot_list //使用db_load命令生成口令库文件 sudo db5.1_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db //建立虚拟用户访问所需要的目录并且设定相应的访问权限,这里增加了一个用户名"virtual"的本地账户,因此在配置文件/etc/vsftpd.conf中是"guest_username=virtual" sudo mkdir /home/ftp sudo useradd -d /home/ftp/ virtual sudo chmod 700 /home/ftp/ //配置PAM文件,新建/etc/pam.d/vsftpd.vu sudo vim /etc/pam.d/vsftpd.vu //增加以下两行内容 auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.每次修改/etc/vsftpd.conf文件后需要重新启动,方能生效。
本文主要参考:http://os.51cto.com/art/201008/222036.htm
相关文章推荐
- Ubuntu server 14.04 搭建vsftpd服务器
- 15.在Ubuntu 14.04上搭建vsftpd
- ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()
- ubuntu14.04 搭建FTP服务器 -- vsftpd的安装和配置
- ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()
- Ubuntu 14.04 Android 环境搭建错误解决(adb)
- Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建
- Ubuntu中用vsftpd搭建FTP服务器笔记
- 在ubuntu13.04中使用vsftpd搭建FTP服务器
- FTP客户端无法连接 自已搭建的ubuntu vsftpd FTP服务器
- ubuntu环境下vsftpd服务器的搭建 以几个重要问题的解决
- fedora13或者Ubuntu下下搭建vsftpd中遇到的问题和常用功能
- Ubuntu14.04搭建Robocup2D仿真平台的一些问题处理方法
- thinkpad X240 安装Ubuntu14.04 系统并搭建android开发环境
- ubuntu 14.04 搭建Android开发环境
- ubuntu 14.04 搭建Android开发环境
- ubuntu下搭建ftp服务器vsftpd,cuteFTP登录该服务器
- ubuntu下搭建ftp服务器vsftpd,cuteFTP登录该服务器
- ubuntu12.04 || ubuntu14.04 FPGA altera 开发环境搭建 及 usb blaster配置