FTP服务器配置
FTP服务的端口号
21端口:传输FTP的控制命令
20端口:传输文件数据
主动模式(PORT模式):
PORT模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端某一个大于1024的端口;
被动模式(PASV模式):
数据传输通道的建立是由FTP客户端发起的,使用一个大于1024的端口连接服务器的1024以上的某一个端口。
FTP服务的安装与基本配置
Linux下最常用的FTP服务端软件vsftpd(守护进程也是vsftpd),客户端可以使用命令行,浏览器,或者客户端软件gftp。
vsftpd安装配置
安装vsftpd:
yum -y install vsftpd
配置vsftpd主配置文件/etc/vsftpd/vsftpd.conf
本地用户权限配置:
local_enable=YES
:是否允许本地用户 。
write_enable=YES
:是否允许本地用户对 FTP 服务器文件具有写权限 , 默认设置为 YES 允许。
用户默认可以访问除其他用户家目录以外的所有文件夹,但只对自己家目录有权限进行操作。
-
配置用户访问锁定到自己的家目录下(不可以访问其他目录):
chroot_list_enable=YES
:设置为 NO 时,用户登录FTP 服务器后具有访问自己目录以外的其他文件的权限, 设置为 YES 时 , 用户被锁定在自己的 home 目录中,vsftpd 将在下面 chroot_list_file 选项值的位置寻找 chroot_list 文件,此文件需用户建立, 再将需锁定在自己home 目录的用户列入其中,每行一个用户。
chroot_list_file=/etc/vsftpd/chroot_list
:此文件需自己建立 , 被列入此文件的用户 , 在登录后将不能切换到自己目录以外的其他目录 , 由 FTP 服务器自动地 chrooted 到用户自己的home 目录下,使得 chroot_list 文件中的用户不能随意转到其他用户的FTP home 目录下,从而有利于FTP 服务器的安全管理和隐私保护. -
控制用户是否允许切换到上级目录
在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。chroot_list_enable=YES
设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd/chroot_list
用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user=NO
用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。通过搭配能实现以下几种效果:
- 当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
- 当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
- 当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
- 当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
重启服务测试
service vsftpd restart
:
-
控制本地用户是否可以访问ftp服务器
/etc/vsftpd/ftpusers
:禁止使用vsftpd的用户列表文件userlist_enable=YES
:此选项默认值为NO , 此时ftpusers 文件中的用户禁止登录FTP 服务器;若此项设为YES ,则 user_list 文件中的用户允许登录 FTP 服务器。
/etc/vsftpd/user_list
:禁止或允许使用vsftpd的用户列表文件,默认情况下userlist_deny=YES
不能访问,userlist_deny=NO
只有列表里的用户可以访问。- 如果用户在ftpusers被拒绝,在
userlist_enable=NO
允许访问,但其实结果是遵守ftpusers的禁止访问。
匿名用户权限配置:
匿名用户访问的文件夹为:/var/ftp/
,默认权限是755。
anonymous_enable=YES
:匿名用户可以访问。
anon_upload_enable=YES
:匿名用户可以上传文件(非目录)。
anon_mkdir_write_enable=YES
:匿名用户可以上传文件夹。
改完之后要记得更改访问文件夹的权限,不然会无法上传。
gftp安装
安装,无需配置进入图形化界面:
yum install gftp