ubuntu ftp 复杂版搭建遇到的问题

来源:互联网 发布:淘宝好看的手拿包 编辑:程序博客网 时间:2024/06/05 10:22

本文为复杂版本,在搭建过程中遇到了很多问题,留下本文的原因是希望能帮助到大家,建议查阅简单版本
链接:
http://blog.csdn.net/leelian_jason/article/details/70257842

一、 FTP

1) 更新库

sudo apt-get update

2) 采用如下命令安装VSFTPD的包

 apt-get install vsftpd

3) 编辑配置文件

1) 安装完成后打开 /etc/vsftpd.conf 文件按如下所述修改,配置文件如下。

listen=YES#如果你用xinetd来控制ftp 选择NO否则YESanonymous_enable=NO#是否允许匿名用户登陆local_enable=YES#是否允许本地用户登陆write_enable=YES#是否允许登陆用户有写权限dirmessage_enable=YES#是否允许匿名用户创建目录use_localtime=YES#使用本地时间xferlog_enable=YES#是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。xferlog_file=/var/log/vsftpd.log#指定默认的日志文件,可指定为其他文件。connect_from_port_20=YES#启用FTP数据端口的连接请求#如果不想用端口20,可以另外通过ftp_data_port来指定端口号。secure_chroot_dir=/var/run/vsftpd/empty#这个必须开启否者无法登陆pam_service_name=vsftpd#这个字符串是PAM服务vsftpd将使用的名称。必须启用rsa_cert_file=/etc/ssl/private/vsftpd.pem#此选项指定用于SSL的RSA证书的位置#加密连接。必须开启chroot_list_enable=NOchroot_list_file=/etc/vsftpd.chroot_listchroot_local_user=YES#若chroot_local_user 设置为YES,chroot_list_enable设置为NO#则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。#这个/etc/vsftpd.chroot_list文件是不存在的 有可能登录FTP出错#这个选项必须指定一个空的资料夹且任何登入者都不能有写入的权限

4) 接下来限制用户登录SSH

通过安装vsftpd服务,然后禁止其通过pam认证并将check_shell配置为NO,添加用户的时候将用户的shell配置为/bin/false,这样既能够禁止用户ssh登录又能够正常使用ftp。
执行命令:

vi  /etc/pam.d/vsftpd#以后一行改为加上#号#auth    required        pam_shells.so

接着执行命令:

 vi /etc/vsftpd.conf

找到 rsa_cert_file=/etc/ssl/private/vsftpd.pem把check_shell=NO添加在下面即可

rsa_cert_file=/etc/ssl/private/vsftpd.pemcheck_shell=NO

5) 增加用户

1) 现在ftp服务器正在监听21端口。用如下命令创建用户。用 /usr/sbin/nologin 脚本来阻止ftp用户访问bash脚本。

useradd  -d /home/ftpfile  -s /usr/sbin/nologin  biyesheji

2) 设置密码

passwd biyesheji1235456 

6) 配置文件夹属性

1) 配置文件夹权限

chmod 775 /home/ftpfile

2) 配置文件夹所属用户和组

groupadd ftpchown biyesheji:ftp ftpfile

7) Ubuntu 12.04 64bit 500 OOPS: vsftpd: refusing to run with writable root inside chroot()的完整解决方案

apt-get install python-software-propertiesadd-apt-repository ppa:thefrontiergroup/vsftpdapt-get updateapt-get install vsftpd
vim /etc/vsftpd.conf and add the following  chroot_local_user=YES  allow_writeable_chroot=YES

重启:

service vsftpd restart
0 0