FTP服务:
tcp/21号端口
文件共享服务,应用层 ftp
NFS :network file sstem (RPC:REmot Procedure call,远程过程调用)
samba:CIFS/SMB,
FTP:tcp,两个链接
命令链接,控制链接 21/tcp
数据链接
主动模式:20/tcp
被动模式: 服务器端口随机
数据传输模式:
二进制:
文本:
FTP SERVER--> FTP client
文本,二进制
html.
mp3,jpeg
服务器端程序
wu-ftpd:
vsftpd:very secure ftp doemon
proftpd:
pureftpd:
filezilla:
Serv-U:
客户端程序:
CLI:
ftp
lftp
GUI:
gftpd
flashFXP
Cuteftp
filezilla
vsftpd:
/etc/vsftpd:配置文件
/etc/init.d/vsftpd服务脚本
/usr/sbin/vsftpd 主程序
基于PAM实现用户认证
/etc/pam.d/*
/lib/security/*
/lib64/security/*
支持虚拟用户
vsftpd:
/var/ftp:
mail:
ftp: 系统用户
匿名用户-->系统用户(ftp用户)
系统用户
虚拟用户-->系统用户
[[email protected] ~]# yum -y install vsftpd
[[email protected] ~]# yum install finger
[[email protected] ~]# grep ftp /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[[email protected] ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[[email protected] ~]# chkconfig vsftpd on
[[email protected] ~]# cd /var/ftp
[[email protected] ftp]# ls
pub 默认的共享目录
匿名登录ftp需要输入anonymous 匿名。 密码为空
DOS登录ftp使用help可以查看ftp可用命令
[[email protected] ftp]# vim /etc/vsftpd/vsftpd.conf
man vsftpd.conf 察看帮助
put上传 get下载 delete删除一个文件
mput同时上传多个 mget同时下载多个文件
bye退出 mkdir创建目录 rmdir 删除目录 ls查看 等命令
每个用户访问ftp都是访问自己的家目录
anonymous_enable=YES 启用匿名用户
local_enable=YES 启用系统用户
write_enable=YES 允许上传文件
anon_upload_enable=YES 允许匿名用户上传和下载,同时还需要为匿名用户创建一个默认用户(ftp)有权限的目录
[[email protected] ftp]# mkdir uplod
[[email protected] ftp]# ls
pub uplod
[[email protected] ftp]# setfacl -m u:ftp:rwx /var/ftp/uplod/
[[email protected] ftp]# getfacl /var/ftp/uplod/
getfacl: Removing leading ‘/‘ from absolute path names
# file: var/ftp/uplod/
# owner: root
# group: root
user::rwx
user:ftp:rwx
group::r-x
mask::rwx
other::r-x
文件服务权限:文件系统权限∩文件共享权限
在ftp里 写权限不等于删除和创建
anon_mkdir_write_enable=YES 是都允许匿名用户创建文件
anon_other_write_enable=YES其他的写权限
dirmessage_enable=YES 与用户每次切换到.message文件所在目录时候显示.message文件里的相关信息(此文件需要手动创建)
[[email protected] ftp]# vim /var/ftp/uplod/.message
--welcome to upload
--please to not upload unkown file.
--
~
ftp> cd uplod
250---welcome to upload
250---please to not upload unkown file
250---
250 Directory successfully changed.
ftp>
xferlog_enable=YES 用户每次打开,下载文件是否记录到日志里
xferlog_file=/var/log/vsftpd.log 需要同时开启日志
xferlog_std_format=YES 日志文件是否使用标准格式
#chown_uploads=YES 当用户上传文件以后,是否把文件改为别的用户
#chown_username=whoever 指定改为哪个用户, 可以达到的效果是只允许上传。
tcpdump -i eth0 -nn -X -vv tcp port 21 and ip host 192.168.1.51 抓包
chroot 禁锢用户