Linux FTP 服务器搭建

使用vsftpd 实现ftp上传

安装 vsftpd

yum install -y vsftpd

默认配置详解

配置地址:/etc/vsftpd/vsftpd.conf

# 允许匿名用户登陆
anonymous_enable=YES
# 允许本地用户登陆
local_enable=YES
# 允许本地用户拥有写权限
write_enable=YES
# 本地用户的文件默认掩码022,文件的默认最大权限为666
local_umask=022
# 激活目录的欢迎信息功能
dirmessage_enable=YES
# 启用上传和下载日志功能
xferlog_enable=YES
# 指定FTP使用20端口进行数据传输
connect_from_port_20=YES
# 启用xferlog的标准格式输出
xferlog_std_format=YES
# 设置vsftpd服务器不以standalone模式运行
listen=YES
# 设置PAM使用的名称
pam_service_name=vsftpd
# 启动user_list文件
userlist_enable=YES
# 设置vsftpd与tcp wrapper组合来进行访问控制
tcp_wrappers=YES

如果配置增加如下参数

chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list

这样加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。此时, 在该文件中的用户都是可以浏览其主目录的上级目录的(一行一个用户名)。

或者, 设置如下

chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

这样把所有不希望浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list中。此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的(一行一个用户名).

真实配置

备份原配置文件后,修改如下

listen=YES
background=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
file_open_mode=0777
local_umask=000
anon_upload_enable=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_max_rate=0
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

创建对应的用户名

useradd -g 50 -c "ftp users" -d /www/public -s /sbin/nologin www

-g: 指定用户组

-c:用户说明

-d:指定用户根目录,即ftp根目录

-s:指定是否登录

注意事项

给ftp根目录增加777权限,否则,ftp上传文件会出现错误 553 Could not create file


本文链接:https://jeff.xin/post/23.html

--EOF--

Comments

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。