======FTP
FTP服务默认使用TCP的20、21端口,其中20端口用来传输数据,21号段口用来建立链接;在链接时,可分为主动和被动模式,在传输时可分为文本传输和二进制传输.
1.安装FTP服务,在linux中,ftp服务为vsftpd,可以使用yum安装:
yum install -y vsftpd
2.安装成功后,其配置文件为:/etc/vsftpd/vsftpd.conf,在 /etc/vsftpd 目录下有 ftpuser 和user_list 两个文件,ftpuser为黑名单,凡是写在其中的用户都不能登录ftp服务,user_list 由配置文件vsftpd.conf控制,如果在其中有此配置,则说明只有user_list 中的用户被拒绝:
userlist_enable=yes userlist_deny=yes
如果是以下配置,则说明只有user_list中的用户被允许:
userlist_enable=yes userlist_deny=no
3.ftpuser和user_list 还有一个区别就是:在用被拒绝登录的用户登录ftp时,如果此用户在ftpuser中,则要求输入密码才被拒绝;如果此用户在user_list中,则在输入用户名后,就被拒绝,所以,user_list比较安全.
4. vsftpd的启动脚本为:/etc/init.d/vsftpd
5.配置文件中最常用的配置:_
anonymous_enable=yes //允许匿名访问 anon_umask=022 //匿名用户上传文件的默认权限 local_umask=022 //本地用户上传文件的默认权限 anon_root=/var/ftp //匿名用户的FTP根目录 local_root=/var/xiaozi //本地用户的FTP根目录 anon_mkdir_write_enable=yes //允许匿名用户创建目录 anon_other_write_enable=yes //允许匿名用户删除文件等的权限 anon_max_rate=0 //匿名用户最大传输速率,以 k/s为单位,0为不限制 local_max_rate=0 //本地用户最大传输速率,以 k/s 为单位,0为不限制 chroot_local_user=yes //将本地用户禁锢在宿主目录中 max_clients=0 //限制访问服务器的最大主机数,0为不限制 max_per_ip=0 //对同一ip的并发访问数的限制,0为不限制 listen=yes //表示以独立运行的方式监听服务
6.在用匿名访问ftp服务时,用户名可以为:ftp或anonymous,密码可以随意,也可以写邮箱地址,在管理服务时,要注意这里的邮箱地址,可能会对我们的服务器造成安全隐患.
7.在访问ftp服务时,可以用 ftp , lftp 等工具登录
8.如果是需要验证身份时,通常会建立虚拟用户来供用户登录使用,以提高安全性,这里就需要使用PAM认证:
9.首先在/etc/vsftpd/ 目录下新建文件,例如:xiaozi.list,内容为:
useryi //虚拟用户名 www //密码 userer //虚拟用户名 www //密码
之后,要使用db_load工具将此文件转换为 Berkeley DB 格式的数据库文件,如: // db_load工具在yum仓库以有:db4-utils-*
db_load -T -t hash -f xiaozi.list xiaozi.db
完成后,最好将这两个文件的权限改为600,以提高安全;
在使用虚拟用户时,需要创建一个本地用户来对虚拟用户进行映射,就是说虚拟用户是不存在的,当它登录服务器后,就会被映射为这个本地用户来使用,这个本地用户可以取消登录系统的权限,以提高安全,例如:
useradd -s /sbin/nologin xiaozi
也可以将其家目录指向其他目录,注意在给此目录权限时,最好是1755,以便虚拟用户访问使用.
为虚拟用户建立PAM认证文件,例如 vim /etc/pam.d/xiaozi.pam:
auth required pam_userdb.so db=/etc/vsftpd/xiaozi account required pam_userdb.so db=/etc/vsftpd/xiaozi
在通常情况下,会为每个虚拟用户建立独立的配置文件:
cd /etc/vsftpd mkdir xiaozi.dir cd xiaozi.dir touch useryi userer //useryi和userer两个用户的配置文件
可以在useryi和userer两个文件中添加配置来控制这两个虚拟用户的登录,大家可以按情况而定
10.最后,就是将这些需求写入配置文件 vim /etc/vsftpd/vsftpd.conf:
guest_enable=yes //启用用户映射功能 guest_username=xiaozi //指定映射的系统用户 pam_server_name=xiaozi.pam //虚拟用户的PAM认证文件 user_config_dir=/etc/vsftpd/xiaozi.dir //虚拟用户的配置文件的位置
11.还有就是要注意selinux和iptables的设置,之后就可以启动服务了