Linux上FTP服务器的搭建

安装vsftpd

对vsftpd进行配置:
vi /etc/vsftpd/vsftpd.conf
 
匿名用户登录相关设置
anonymous_enable=YES
no_anon_password=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=40000
 
实体用户登录相关设置
local_enable=YES
write_enable=YES
local_umask=022
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
 
与连接相关设置
max_clients=50
max_per_ip=5
idle_session_timeout=600
data_connection_timeout=120
max_clients=50
max_per_ip=5
banner_file=/etc/vsftpd/welcome.txt
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
 
我的Linux上,实体用户默认可以上传也可下载
 
匿名用户默认目录/var/ftp中有一个文件夹pub,我再建了一个upload
这时,需要修改ftp的权限
chmod 555 /var/ftp  不可修改为777,登录时会报错
也要修改pub和upload的权限,使其为可读可写
chmod 777 /var/ftp/pub
chmod 777 /var/ftp/upload
这样客户端才能打得开Linux上的服务器的ftp目录,并可上传文件
同时目录中的文件权限也要改为可读可写才能通过匿名进行下载

我在客户端使用了Filezilla登录Linux的FTP服务器
 
 

在使用实体用户登录的时候可能出现下面的情况:
cannot change directory://home/....
  
是因为SE配置的关闭了ftp的原因。
使用命令
getsebool ftpd_disable_trans
能够查看当前的状态假如不是on
那么是输入命令
setsebool ftpd_disable_trans 1
当然也能够加入-P参数 以便无需每次开机都输入这个命令
setsebool -P ftpd_disable_trans 1
重启
service vsftpd restart

你可能感兴趣的:(linux,职场,休闲)