centosFTP服务搭建及权限配置

  引用一个其他大佬对vsftpd的描述:  

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

  安装只需要一句命令就可以:

yum install vsftpd -y

  

  vsftpd默认安装目录

# which vsftpd
/usr/sbin/vsftpd

  安装目录中跟配置相关的文件

---ftpusers     // 指定哪些用户不能访问FTP服务器

---user_list     // 指定是否可以访问ftp服务器的用户列表,具体是否可以访问由vsfpd.conf这种的userlist_deny决定

---vsftpd.conf    // 主配置文件

ftpusers中的名单配置默认是生效的。一般ftpusers中已经定义好一些系统中重要的用户,这些用户不允许访问FTP服务器。

vsftpd.conf是主配置之文件,其中文件底部的userlist_enable决定user_list文件是否起作用userlist_file的值指的是当userlist_enable=YES时具体起作用的user_list路径。当userlist_enable=YES开启时user_list中的用户是可以访问FTP还是不可以访问FTP由userlist_deny的值决定。如:       

  1.user_enable=YES、userlist_deny=NO表示user_list文件中的用户允许访问FTP

  2.user_enable=YES、userlist_deny=YES表示user_list文件中的用户不允许访问FTP

至此就可以基本配置哪些用户可以连接FTP服务器,基本可以使用。

默认情况下所有允许连接到FTP的用户登录服务器时都是可以*切换目录甚至是切换到根目录的。如果需要限制某些用户连接FTP的时候只能限制在自己的主目录则需要配置vsftpd.conf文件中的chroot_系列参数:

---chroot_list_enable    //设置是否启用chroot_系列参数  YES-开启   NO-关闭

---chroot_local_user    //是否将用户限制在主目录中  YES-指定名单中的用户可以任意切换目录 NO-指定名单中的用户不可以任意切换目录
---chroot_list_file      //要限制的用户列表文件所在的路径,这个文件默认是没有的,需要自己创建

service vsftpd start  //启动服务

service vsftpd stop   //停止服务

service vsftpd restart  //重启服务

  

另外vsftpd配置好chroot_系列的数据后也有可能有链接不上或者其他切换不到目录的问题。这可能是因为SELinux开启了的原因。这个东西具体没有深入研究,据说是为了加强Linux系统的访问控制的。

SELinux的配置文件在/etc/selinux/config。

# vi /etc/selinux/config     //编辑配置

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=1    #selinux是否开启 1-开启 enable-开启 0-关闭 disabled-关闭
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

  

# getsebool -a| grep ftp    #查看selinux中关于ftp的配置值
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off    #这个设置影响了ftp正常配置的启用状况
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
#setsebool allow_ftpd_full_access on     # 设置ftpd获取全部权限,将ftpd_full_access设置为启用

  

关于selinux的设置,每设置一次都需要重启系统才可以生效。

至此VSFTPD已经可以正常使用!

相关链接:

https://www.cnblogs.com/zhjh256/p/9155281.html

上一篇:Python之路 day2 字符串/元组/列表/字典互转


下一篇:Spring Data Jpa 入门学习