Linux系统配置ftp服务(vsftpd)以及ftp的访问

1、检查是否安装vsftpd

[root@ee65cbc5372d tmp]# rpm -qa | grep vsftpd
vsftpd-2.2.2-24.el6.x86_64

已安装

2,安装vsftpd

sudo apt-get install vsftpd

3,卸载vsftpd

sudo apt-get remove vsftpd

 4,查看配置文件

默认的配置文件

若要配置vsftpd,需要修改vsftpd的配置文件。终端执行:

sudo gedit /etc/vsftpd.conf

有关用户登录控制的行:

anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)

有关用户权限控制的行:

write_enable=YES,开启全局上传
local_umask=022,本地文件上传的umask设置为022,系统默认。
anon_upload_enable=YES,允许匿名用户上传,当然要在write_enable=YES的情况下。同时必须建立一个允许ftp用户读写的目录。
anon_mkdir_write_enable=YES,允许匿名用户创建目录
chown_uploads=YES,匿名用户上传的文件属主转换为别的用户,一般建议为root。
chown_username=whoever,改此处的whoever为要转换的属主,建议root
chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。
chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件
nopriv_user=ftpsecure,指定一个安全账户,让ftp完全隔离和没有特权的账户

有关用户连接和超时的行:

idle_session_timeout=600,默认的超时时间
data_connection_timeout=120,设置默认数据连接的超时时间

有关服务器日志和欢迎信息的行:

dirmessage_enable=YES,允许为配置目录显示信息
ftpd_banner=Welcome to blah FTP service. ftp的欢迎信息
xferlog_enable=YES 打开日志记录功能
xferlog_file=/var/log/xferlog 日志记录文件的位置

5,知道配置的直接跳过看上一步,现在开始配置

(5.1)因为vsftpd默认root不能登录,所以我们这里新建一个用户,怎么创建我不说了,我就说创建的结果。我们这里例如创建一个ftp用户,设置它的家目录为/home/ftp,并为这个用户用户设置密码。

(5.2) vi /etc/vsftpd.conf,设置

anonymous_enable=NO  ;  

chroot_list_enable=YES //限制访问自身目录  ; 

chroot_list_file=/etc/vsftpd.chroot_list(编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行) 。

(5.3)

改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart

(5.4)

最后重启一下服务:service vsftpd start

如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart

赠言(重要):

vsftpd.conf的配置详解:

# 默认配置文件: /etc/vsftpd.conf
 #     下面是配置的选项及说明
 ######### 核心设置 ###########
  
 # 允许本地用户登录
 local_enable=YES
  
 # 本地用户的写权限
 write_enable=YES
  
 # 使用FTP的本地文件权限,默认为077
 # 一般设置为022
 local_umask=022
 
 # 默认登录以后的根目录位置
 local_root=/tmp/
  
 # 切换目录时
 # 是否显示目录下.message的内容
 dirmessage_enable=YES
 dirlist_enable = NO
 #验证方式
 #pam_service_name=vsftpd
  
 # 启用FTP数据端口的数据连接
 connect_from_port_20=YES
  
 # 以独立的FTP服务运行
 listen=yes
  
 # 修改连接端口
 #listen_port=2121
  
 ######### 匿名登录设置 ###########
  
 # 允许匿名登录
 anonymous_enable=NO
  
 # 如果允许匿名登录
 # 是否开启匿名上传权限
 #anon_upload_enable=YES
  
 # 如果允许匿名登录
 # 是否允许匿名建立文件夹并在文件夹内上传文件
 #anon_mkdir_write_enable=YES
  
 # 如果允许匿名登录
 # 匿名帐号可以有删除的权限
 #anon_other_write_enable=yes
  
 # 如果允许匿名登录
 # 匿名的下载权限
 # 匿名为Other,可设置目录/文件属性控制
 #anon_world_readable_only=no
  
 # 如果允许匿名登录
 # 限制匿名用户传输速率,单位bite
 #anon_max_rate=30000
  
 ######### 用户限制设置 ###########
  
 #### 限制登录
  
 # 用userlist来限制用户访问
 #userlist_enable=yes
  
 # 名单中的人不允许访问
 #userlist_deny=no
  
 # 限制名单文件放置的路径
 #userlist_file=/etc/vsftpd/userlist_deny.chroot
  
 #### 限制目录
  
 # 限制所有用户都在家目录
 #chroot_local_user=yes
  
 # 调用限制在家目录的用户名单
 chroot_list_enable=YES
  
 # 限制在家目录的用户名单所在路径
 chroot_list_file=/etc/vsftpd/chroot_list
  
 ######### 日志设置 ###########
  
 # 日志文件路径设置
 xferlog_file=/var/log/vsftpd.log
  
 # 激活上传/下载的日志
 xferlog_enable=YES
  
 # 使用标准的日志格式
 #xferlog_std_format=YES
  
 ######### 安全设置 ###########
  
 # 用户空闲超时,单位秒
 #idle_session_timeout=600
  
 # 数据连接空闲超时,单位秒
 #data_connection_timeout=120
  
 # 将客户端空闲1分钟后断开
 #accept_timeout=60
  
 # 中断1分钟后重新连接
 #connect_timeout=60
  
 # 本地用户传输速率,单位bite
 #local_max_rate=50000
  
 # FTP的最大连接数
 #max_clients=200
  
 # 每IP的最大连接数
 #max_per_ip=5
  
 ######### 被动模式设置 ###########
  
 # 是否开户被动模式
 pasv_enable=yes
  
 # 被动模式最小端口
 pasv_min_port=5000
  
 # 被动模式最大端口
 pasv_max_port=6000
  
 ######### 其他设置 ###########
 # 欢迎信息
 ftpd_banner=Welcome to Ftp Server!

上面配置的

# 默认登录以后的根目录位置
 local_root=/tmp/

这个配置是配置用户登录ftp后的根目录。你可以修改这里,但是如果你想要刚才创建的用户能访问,最好设置这个ftp根目录在刚创建的用户的家目录下面,否则刚才那个用户访问不到别的路径(因为在上面配置里面设置了限制用户只能访问他的家目录)。这个看你需求吧,不一定的。

 

猜你喜欢

转载自blog.csdn.net/lwg_1540652358/article/details/84679398