您的位置:首页 > 编程语言 > PHP开发

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

2017-04-20 14:13 495 查看
本文为复杂版本,在搭建过程中遇到了很多问题,留下本文的原因是希望能帮助到大家,建议查阅简单版本

链接:

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否则YES
anonymous_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=NO
chroot_list_file=/etc/vsftpd.chroot_list
chroot_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.pem
check_shell=NO


5) 增加用户

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

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


2) 设置密码

passwd biyesheji
1235456


6) 配置文件夹属性

1) 配置文件夹权限

chmod 775 /home/ftpfile


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

groupadd ftp
chown biyesheji:ftp ftpfile


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

apt-get install python-software-properties
add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd


vim /etc/vsftpd.conf and add the following
chroot_local_user=YES
allow_writeable_chroot=YES


重启:

service vsftpd restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu ftp