博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FTP在CentOS上安装与使用
阅读量:5885 次
发布时间:2019-06-19

本文共 3996 字,大约阅读时间需要 13 分钟。

安装:

yum install -y vsftpd

相关配置文件:

/etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件/etc/vsftpd/ftpusers //黑名单,这个里面的用户不允许访问FTP服务器/etc/vsftpd/user_list //白名单,允许访问FTP服务器的用户列表

启动服务

systemctl enable vsftpd.service //设置开机自启动systemctl start vsftpd.service //启动ftp服务netstat -antup | grep ftp //查看ftp服务端口

匿名ftp的基本配置

使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,vsftpd安装后默认开启了匿名ftp的功能,用户无需额外配置即可使用匿名登录ftp服务器。

匿名ftp的配置在/etc/vsftpd/vsftpd.conf中设置。

anonymous_enable=YES //默认即为YES

这个时候任何用户都可以通过匿名方式登录ftp服务器,查看并下载匿名账户主目录下的各级目录和文件,但是不能上传文件或者创建目录。

匿名ftp的其他设置

出于安全方面的考虑,vsftpd在默认情况下不允许用户通过匿名FTP上传文件,创建目录等更改操作,但是可以修改vsftpd.conf配置文件的选项,可以赋予匿名ftp更多的权限。

允许匿名ftp上传文件。

修改/etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

2、更改/var/ftp/pub目录的权限,为ftp用户添加写权限,并重新加载配置文件

chmod o+w /var/ftp/pub/                     #更改/var/ftp/pub目录的权限systemctl restart vsftpd.service            #重启ftp服务

 

配置本地用户登录

本地用户登录就是指使用Linux操作系统中的用户账号和密码登录ftp服务器,vsftp安装后默只支持匿名ftp登录,用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝

1.创建ftptest用

useradd ftptest                    #创建ftptest用户passwd ftptest                     #修改ftptest用户密码

2.修改/etc/vsftpd/vsftpd.conf

anonymous enable=NOlocal_enable=YES

另外简单介绍下vsftpd.conf的配置文件参数说明。

用户登陆控制

参数 说明
anonymous_enable=YES 接受匿名用户
no_anon_password=YES 匿名用户login时不询问口令
anon_root=(none) 匿名用户主目录
local_enable=YES 接受本地用户
local_root=(none) 本地用户主目录

用户权限控制

参数 说明
write_enable=YES 可以上传(全局控制)
local_umask=022 本地用户上传文件的umask
file_open_mode=0666 上传文件的权限配合umask使用
anon_upload_enable=NO 匿名用户可以上传
anon_mkdir_write_enable=NO 匿名用户可以建目录
anon_other_write_enable=NO 匿名用户修改删除
chown_username=lightwiter 匿名上传文件所属用户名

 

 

配置vsftpd环境

执行下边的命令,一行一行来。

#sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'    #sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'    #echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300    #\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=Fuser    #\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES    #\allow_writeable_chroot=YES    #\npasv_min_port=40000\npasv_max_port=41000    #\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf

创建ftp用户

创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别

#useradd Fuser -d /wwwroot -s /sbin/nologin  #chown Fuser.Fuser /wwwroot -R  #passwd Fuser

重启vsftp服务

systemctl restart vsftpd.service

注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000

可能会用到的:

彻底删除用户:#userdel -rf Fuser //强制删除用户及相关目录文件
变更用户属性:#usermod -s /sbin/nologin Fuser
查看当前服务:#netstat -lntp

 我的可运行配置(/etc/vsftpd/vsftpd.conf):

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022#anon_upload_enable=YES#anon_mkdir_write_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YES#chown_uploads=YES#chown_username=whoever#xferlog_file=/var/log/vsftpd.logxferlog_std_format=YES#idle_session_timeout=600#data_connection_timeout=120#nopriv_user=ftpsecureasync_abor_enable=YESascii_upload_enable=YESascii_download_enable=YES#ftpd_banner=Welcome to blah FTP service#deny_email_enable=YES#banned_email_file=/etc/vsftpd/banned_emails#chroot_list_enable=YES#chroot_list_file=/etc/vsftpd/chroot_list#ls_recurse_enable=YES?listen=YES#listen_ipv6=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESlocal_root=/usr/share/nginx/htmlchroot_local_user=YESallow_writeable_chroot=YES

 

可能性二:

匿名用户的目录(/var/ftp/pub)没有写权限,需要将其设置为具有写权限。

首先转到/var/ftp

然后在终端中输入:chmod 777 pub。

转载地址:http://zylix.baihongyu.com/

你可能感兴趣的文章
WinForm 应用程序中开启新的进程及控制
查看>>
js replace,正则截取字符串内容
查看>>
Thinkphp5笔记三:创建基类
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
Android中EditText,Button等控件的设置
查看>>
TextKit简单示例
查看>>
网格最短路径算法(Dijkstra & Fast Marching)(转)
查看>>
软链接和硬链接详解
查看>>
Redis_master-slave模式
查看>>
彻底卸载删除微软Win10易升方法
查看>>
SWT/JFACE之环境配置(一)
查看>>
应用程序日志中总是说MS DTC无法正确处理DC 升级/降级事件,是什么意思
查看>>
mybatis数据处理的几种方式
查看>>
作业2
查看>>
远程主机探测技术FAQ集 - 扫描篇
查看>>
C++中调用python函数
查看>>
Nomad添加acl认证
查看>>
“TI门外汉”网路知识笔记一 OSI参考模型
查看>>
你不需要jQuery(五)
查看>>
DatanodeDescriptor说明
查看>>