一、概述
1、I/O:网络,存储
a、存储:SATA,SAS;IDE;SCSI;USB;
b、DAS:Direct Attached Storage
(1)、接口类型:"block":可以分区,可以格式化
(2)、设备:SATA,SAS;IDE;SCSI;USB;
c、NAS:Network Attached Storage
(1)、接口类型:"file":不能分区不能格式化,只能访问
(2)、协议:CIFS(samba),NFS(Network File System)
(3)、RPC:Remote Procedure Call
d、SAN:Storage Area Network
(1)、接口类型:"block"
(2)、ISCSI(IP-SAN),FCSAN,FCoE,...
e、应用层:
(1)、ftp,...
二、文件服务:ftp,cifs/nfs
1、ftp:file transfer protocol,文件传输协议
2、两类连接:
a、命令连接:传输命令
b、数据连接:传输数据
(1)、两种模式:
1)、主动模式:PORT
Server:20/tcp。客户端的命令连接使用的端口向后的第一个可用端口
2)、被动模式:PASV
Server:打开一个随机端口,并等待客户端连接
3、PAM:Pluggable Authenticate Module
a、rpm -ql pm
b、高度模块化的。他是一个认证框架:很多程序都可以调用他
4、ftp协议实现:C/S
a、Server:
Windows:Serv-U,IIS,Filezilla
开源:wuftpd,proftpd,pureftpd,vsftpd(vsftpd is a Very Secure FTP daemon.)
b、Client:
Windows:ftp,Filezilla,CuteFTP,FlashFXP,...
开源:lftp,ftp,Filezilla,gftp,...
5、vsftpd
a、安装:yum install -y vsftpd
[root@www ~]# yum install -y vsftpd
b、配置文件:
/etc/vsftpd/vsftpd.conf
/usr/lib/systemd/system/vsftpd.service #作为独立守护进程运行,相当于只要服务器启动就有进程在。
/usr/lib/systemd/system/vsftpd.target #作为托管在systemd上运行,相当于服务启动后进程其实没起来,只是用systemd来监听这个端口,一旦有人访问就临时把这个服务启动起来。
/var/ftp:vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即为ftp用户的家目录/var/ftp
他也需要文件路径映射:
URL: SCHEME://username:password@HOST:PORT/PATH/TO/FILE
路径映射:
用户家目录:每个用户的URL的/映射到当前用户的家目录。
c、相应服务配置
(1)、启动服务
[root@www ~]# systemctl start vsftpd [root@www ~]# ps -aux|grep ftp root 9685 0.0 0.0 53216 576 ? Ss 16:35 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 9688 0.0 0.0 112676 980 pts/0 S+ 16:36 0:00 grep --color=auto ftp [root@www ~]#
[root@www ~]# netstat -anpt|grep ftp tcp6 0 0 :::21 :::* LISTEN 9685/vsftpd
(2)、我们在浏览器访问ftp://192.168.10.13即可。我们匿名访问时他会自动映射为一个叫ftp的用户。默认密码为空。我们也可以用anonymous登陆。其实我们匿名可以随便给名字。也可以不用指名字也可以。
[root@node2 /]# lftp -u ftp 192.168.10.13 Password: lftp ftp@192.168.10.13:~> ls drwxr-xr-x 2 0 0 6 Aug 03 2017 pub lftp ftp@192.168.10.13:/> exit [root@node2 /]# lftp -u anonymous 192.168.10.13 Password: lftp anonymous@192.168.10.13:~> ls drwxr-xr-x 2 0 0 6 Aug 03 2017 pub lftp anonymous@192.168.10.13:/> exit
d、vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即为ftp用户的家目录/var/ftp。
e、我们匿名用户在pub目录中默认是没有上传等权限的。因此,一个用户通过文件共享服务访问文件系统上的文件的生效权限为此二者的交集。默认情况下匿名用户只有查看下载的权限。
f、权限定义。
(1)、在配置文件/etc/vsftpd/vsftpd.conf中定义即可
[root@www vsftpd]# cp vsftpd.conf{,.bak} [root@www vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh [root@www vsftpd]# cat vsftpd.conf |grep -Ev "^$|^#" anonymous_enable=YES local_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 [root@www vsftpd]#