Linux FTP服务安装与账号设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oscar999/article/details/88778811

1.确认是否有安装过vsftpd

rpm  -qa  |grep   vsftpd

在这里插入图片描述
如果已经安装需要删除重装,使用yum安装的也可以通过yum卸载。

2.安装vsftpd

和其他的Liunx程序安装一样,vsftpd也有多种安装方式, yum是最便捷的方式了。
注意: Redhat的yum需要收费, CentOS可以直接用。
安装只需要输入:

yum install  -y  vsftpd

3. 启动vsftpd

启动命令:

systemctl start vsftpd

注:systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本,各服务间基于依赖关系进行精密控制。
检视和控制systemd的主要命令是systemctl。
也可以使用如下方式启动和关闭:

 #启动
service vsftpd start  
#重启
service vsftpd restart 
 #停止
service vsftpd stop

可以将vsftpd添加到开机启动项:

systemctl   enabled  vsftpd

4. vsftpd的配置

vsftpd启动后,可以通过:

ftp host/IP

匿名登录,

匿名登录需要使用确定那个anonymous_enable值是YES, vi打开配置文件 vsftpd.conf:

vi /etc/vsftpd/vsftpd.conf

找到anonymous_enable的值:

anonymous_enable=YES

匿名登录可以使用账号anonymous和ftp登录, 密码不需要输入。
但正式环境基本上不适用匿名登录,而是建立FTP的虚拟机器账号来登录和权限控制。

配置选项说明:

1、 核心设置 
 local_enable=YES    //允许本地用户登录
 write_enable=YES   //本地用户的写权限
 local_umask=022    //使用FTP的本地文件权限,默认为077,一般设置为022
 pam_service_name=vsftpd   //验证方式
 connect_from_port_20=YES  //启用FTP数据端口的数据连接
 listen=yes               // 以独立的FTP服务运行
 listen_port=23          //修改连接端口
2、匿名登录设置
 anon_upload_enable=YES         // 如果允许匿名登录,是否开启匿名上传权限
 anon_mkdir_write_enable=YES   //如果允许匿名登录,是否允许匿名建立文件夹并在文件夹内上传文件
 anon_other_write_enable=yes   // 如果允许匿名登录,匿名帐号可以有删除的权限
 anon_world_readable_only=no    //如果允许匿名登录,匿名的下载权限,匿名为Other,可设置目录/文件属性控制
 anon_max_rate=30000            // 如果允许匿名登录,限制匿名用户传输速率,单位bite
3、限制登录  
 userlist_enable=yes      //用userlist来限制用户访问
 userlist_deny=no          //名单中的人不允许访问
 userlist_file=/etc/vsftpd/userlist_deny.chroot     //限制名单文件放置的路径
4、限制目录
 chroot_local_user=yes   //限制所有用户都在家目录
 chroot_list_enable=YES   //调用限制在家目录的用户名单
 chroot_list_file=/etc/vsftpd/chroot_list   //限制在家目录的用户名单所在路径
 
5、日志设置
 xferlog_file=/var/log/vsftpd.log   //日志文件路径设置
 xferlog_std_format=YES    // 使用标准的日志格式
  
6、安全设置 
  idle_session_timeout=600  //用户空闲超时,单位秒
  data_connection_timeout=120   //数据连接空闲超时,单位秒
  accept_timeout=60    //将客户端空闲1分钟后断开
  local_max_rate=10000  //本地用户传输速率,单位bite
  max_clients=100      //FTP的最大连接数
  max_per_ip= 3       //每IP的最大连接数
  
7、被动模式设置
  pasv_enable=yes     //是否开户被动模式
  pasv_min_port=3000   // 被动模式最小端口
  pasv_max_port=5000  //#被动模式最大端口

包括vsftpd.conf核心配置文件的配置文件有:
/etc/vsftpd/vsftpd.conf vsftpd的核心配置文件
/etc/vsftpd/ftpusers 用于指定哪些用户不能访问FTP服务器
/etc/vsftpd/user_list 指定允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置脚本
/var/ftp/ 默认情况下匿名用户的根目录

5. 匿名用户

一般用于客户端下载文件, 也可以配置上传,但是匿名一般不开发上传。
匿名访问下, 共享给用户的文件放在下面的目录下:

/var/ftp/pub

也可以通过修改配置文件的anon_root来指定其他目录,
匿名访问的一般配置选项如下:

anonymous_enable=YES  #允许匿名访问
anon_root= /data/pub     #匿名访问的本地实际目录
local_enable=YES            
anon_upload_enable=YES # 允许匿名用户上传文件(须将全局的write_enable=YES,默认YES)
anon_mkdir_write_enable=YES  #允许匿名用户创建目录
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

上面配置了匿名访问的目录 /data/pub, 但这个目录的权限不能设置成777,这是vsftpd的安全性设置,需要在pub里面再创建一个目录并给777的权限。

6. 虚拟用户

配置项一般如下:

anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
 
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
 
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
 
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
 
pasv_min_port=10060
pasv_max_port=10090
 
accept_timeout=5
connect_timeout=1

1.创建用户ftpuser,并指定/home/ftpuser目录

useradd -g root -M -d /home/ftpuser -s /sbin/nologin ftpuser

2.设置用户ftpuser密码

passwd ftpuser

7. 问题解决

上传文件时“550 Permission denied”

可能原因: 运行写的设置未开启
解决方式:修改/etc/vsftpd.conf,将write_enable=YES前面的 “#”去掉, 保存后重启vsftp。

service vsftpd restart

猜你喜欢

转载自blog.csdn.net/oscar999/article/details/88778811
今日推荐