linux环境下FTP安装与部署(基础篇)

原文链接: https://blog.csdn.net/u011191463/article/details/81386179

linux环境下FTP安装与部署(基础篇)

  • 1.VSFTPD 安装及基础检验
    • 1.1 安装vsftpd
    • 1.2 启动vsftpd
    • 1.3 检查启动情况
  • ftp基础配置
    • vsftpd.conf配置
  • 创建chroot_list
  • 创建ftp用户
  • 重启ftp及selinux设置
    • 开放端口和服务
    • 重启ftp
    • 设置selinux

1.VSFTPD 安装及基础检验

1.1 安装vsftpd

安装操作
yum install -y vsftpd

1.2 启动vsftpd

启动
service vsftpd start

1.3 检查启动情况

linux环境下FTP安装与部署(基础篇)_第1张图片
ps -ef|grep ftp
或者 netstat -tunlp|grep 21

ftp基础配置

vsftpd.conf配置

# 是否接受匿名用户,YES-默认无密码请求,NO-有密码
anonymous_enable=NO
# 是否接受本地用户 YES - 接受
local_enable=YES
# 上传总开关
write_enable=YES
# 本地用户新增档案的权限
local_umask=022
# 是否允许匿名用户上传文件 
anon_upload_enable=NO
# 是否允许匿名用户创建新目录
anon_mkdir_write_enable=NO
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能 
xferlog_enable=YES
connect_from_port_20=YES
# 所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
# 匿名上传文件所属用户名
#chown_username=whoever
# 日志文件位置
#xferlog_file=/var/log/xferlog/vsftpd.log
# 使用标准格式
xferlog_std_format=YES
# 空闲连接超时
idle_session_timeout=600
# 数据传输超时
data_connection_timeout=12
# 当服务器运行于最底层时使用的用户名
#nopriv_user=ftpsecure
# 允许使用\”async ABOR\”命令,一般不用,容易出问题
#async_abor_enable=YES
# 管控是否可用ASCII 模式上传。默认值为NO
#ascii_upload_enable=YES
# 管控是否可用ASCII 模式下载。默认值为NO
#ascii_download_enable=YES
# login时显示欢迎信息.如果设置了banner_file则此设置无效
#ftpd_banner=Welcome to blah FTP service.
# 如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
#deny_email_enable=YES
# 禁止使用匿名用户登陆时作为密码的电子邮件地址
#banned_email_file=/etc/vsftpd/banned_emails

# 限制访问自身目录
chroot_local_user=YES
# 如果启动这项功能,则所有列在chroot_list_file中的使用者不能更改根目录
chroot_list_enable=YES
# 定义不能更改用户主目录的文件
chroot_list_file=/etc/vsftpd/chroot_list
# 是否能使用ls -R命令以防止浪费大量的服务器资源
#ls_recurse_enable=YES
#与连接相关的设置
listen=YES
listen_ipv6=NO

# 定义PAM 所使用的名称,预设为vsftpd
pam_service_name=vsftpd
# 控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。
userlist_enable=YES
# 显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果 
use_localtime=YES
# 绑定到某个端口 
listen_port=21
# 这里用来映射虚拟用户。默认值为ftp。
virtual_use_local_privs=YES
# 是否允许使用port模式 
port_enable=NO
# 是否允许使用pasv模式
pasv_enable=YES
# pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0
pasv_min_port=30000
# pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port=30004
# 绑定到某个IP,其它IP不能访问 
pasv_address=**
# 超时时间设置
accept_timeout=5
# PROT模式连接超时 
connect_timeout=1
allow_writeable_chroot=YES

/etc/vsftpd/ftpusers及/etc/vsftpd/user_list的内容都注释掉

创建chroot_list

# 创建chroot_list
cd /etc/vsftpd
vim chroot_list
内容输入:
vsftpd
保存

创建ftp用户

# 创建用户
useradd -d /data/vsftpd -g vsftpd vsftpd
# 设置密码
passwd vsftpd
# 限制用户只能使用ftp
usermod -s /sbin/nologin vsftpd
# 访问权限
chmod -R 775 /data/vsftpd
chown -R vsftpd.root /data/vsftpd

重启ftp及selinux设置

开放端口和服务

firewall-cmd --permanent --add-port=20/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

重启ftp

#重启方法1:
systemctl restart vsftpd.service  
systemctl status vsftpd.service  
#成功方法2:
service vsftpd restart
service vsftpd status

设置selinux

访问不正常,现象是能登陆,但是看不见文件信息,也不能建立文件等操作
selinux导致,关闭selinux
setenforce 0
重启ftp

你可能感兴趣的:(ftp,linux)