linux安装ftp服务器全过程

安装及使用ftp全过程,自己是可以用的,就是可能过程有所省略,要是有童鞋遇到问题,请留言,我们共同学习。

1、安装vsftp

apt-get install vsftpd

2、修改配置文件

vim /etc/vsftpd.conf

按如下配置修改该文件:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Welcome to my FTP server.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
pasv_min_port=10060
pasv_max_port=10090
allow_writeable_chroot=YES

其中:

anonymous_enable=NO 为禁止匿名用户登录

 如下三条命令可配合使用,

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

chroot_local_user=YES 作用为将用户的活动限制于其自己的根目录内;   || =NO 为不限制用户活动范围

chroot_list_enable=YES 允许指定用户不受第一条命令的限制;                 || 此时=YES 为指定限制活动范围的用户

chroot_list_file=/etc/vsftpd.chroot_list 上述不受限用户名单;                      || 

同时需创建vsftpd.chroot_list文档,

vim /etc/vsftpd.chroot_list

在限定用户不跳出自己主目录后,使用该用户登录FTP时可能会遇到如下错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

 此时可添加一下命令解决:

allow_writeable_chroot=YES

3、添加用户及设置权限

添加用户teacher、xiaoming、xiaohong,其中teacher用户可以访问所有目录并拥有读写权限,xiaoming和xiaohong只能访问学生目录并只对自己的有读写权限。

3.1 创建ftp主目录

所有文件放于该目录下

mkdir -p /home/ftp

创建xiaoming和xiaohong自己的目录:

mkdir -p /home/ftp/xiaoming
mkdir -p /home/ftp/xiaohong

 3.2 创建用户及密码

teacher用户

sudo useradd -d /home/ftp -s /bin/bash teacher
passwd teacher

 用同样方式创建xiaoming和xiaohong。

sudo useradd -d /home/ftp/ -s /bin/bash xiaoming
sudo useradd -d /home/ftp/ -s /bin/bash xiaohong
passwd xiaoming
passwd xiaohong

 3.3 更改权限

更改teacher所在组

groupadd tea
usermod -g tea teacher

更改文件夹权限

chmod 777 /home/ftp
chmod 775 /home/ftp/xiaoming
chmod 775 /home/ftp/xiaohong

 改变文件夹所有者:

chown xiaoming:tea /home/ftp/xiaoming
chown xiaohong:tea /home/ftp/xiaohong

4、启动服务

server vsftpd start

或者

server vsftpd restart

 

5、其他问题

200 PORT command successful. Consider using PASV.

解决方式1:

采用被动命令登录

ftp -p serverIP

解决方式2:

登陆后输入命令

ftp> passive

 

 

你可能感兴趣的:(linux安装ftp服务器全过程)