Vsftpd
1.什么是FTP?
FileTransfer Protocol 基于C/S结构的文件传输协议
2.使用什么协议?什么端口?
TCP 21 建立命令链路
TCP 20 在主动传输模式下服务器使用20端口向客户端建立数据链路
3.FTP工作原理
--------- Client Server--------------
1031 21
1032 20
①客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口等候服务器连接(比如1031端口)
②若FTP服务器在端口21侦听到该请求,则会在客户端1031端口和服务器的21端口之间建立一个FTP会话连接
③当需要传输数据时,FTP客户端动态地打开一个大于1024的端口(比如1032端口)连接到服务器的20端口,并在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口会自动关闭
④当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放
4.FTP工作模式
主动传输模式(Active FTP):
在主动传输模式下,FTP客户端随机开启一个大于1024的端口N(1025)向服务器的21号端口发起连接,然后开放N+1号端口(1026)进行监听,并向服务器发送PORT 1026命令。服务器接收到命令后,会用其本地的FTP数据端口(通常20)来连接客户端指定的端口1026,进行数据传输。
被动传输模式(Passive FTP):
在被动传输模式下,FTP客户端随机开启一个大于1024的端口N(1025)向服务器的21号端口发起连接,同时会开启N+1号端口(1026),然后向服务器发送PASV 命令。通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024端口(1521)进行监听,然后用PORT 命令通知客户端,自己的数据端口是1521.客户端收到命令后会通过1026号端口连接服务器的1521,然后在两个端口之间进行数据传输。
5.FTP传输模式
二进制模式:图片和执行文件压缩文件
文本模式:CGI脚本和普通HTML文件
目前服务器上面和FTP客户端软件能够自动识别文件类型并选择相应的传输方式
6.FTP账户类型
匿名用户:ftp 或 anonymous
本地用户:Linux服务器本机的系统用户账号
虚拟用户:账号信息存放在独立的文件或数据库内
7.默认安装vsftpd特点
匿名用户与本地用户都可以登录
匿名用户登录到/var/ftp,只能下载不能上传
本地用户登录到本地用户的家目录,可以上传和下载
8.访问ftp服务器方法
常见的网页浏览器(Firefox、IE等)
常见的下载工具(wget、curl等)
专用的FTP管理工具(Filezilla、CuteFTP、WinSCP等)
ftp和lftp命令
get 下载
put 上传
mget 下载多个,支持通配符
mput 上传多个,支持通配符
!cmd 执行外面命令
lcd 切换外面路径
9.访问FTP地址表示方法
匿名访问
ftp://192.168.4.5
ftp://192.168.4.5/需下载文件
用户验证访问
ftp://user:[email protected]
ftp://user:[email protected]/需下载文件
URL,统一资源定位器(网址)
Unified Resource Locator
协议://用户名:密码@服务器地址:端口/目录路径/文件名
10.RHEL6自带的ftp软件包?主配置文件是?服务启动脚本?
vsftpd
/etc/vsftpd/vsftpd.conf
重点字段意义:anonymous_enable=YES #开启匿名共享
local_enable=YES #开启本地账户共享
write_enable=YES #本地账户是否可写
anon_upload_enable=YES #匿名用户是否可以上传文件
anon_mkdir_write_enable=YES #匿名可创建目录
anon_other_write_enable=YES #匿名删除,重命名
chroot_local_user #禁锢本地账户
anon_root=/abc #定义匿名用户根目录为/abc目录
anon_umask=022 #定义匿名用户上传的掩码值
local_root= #本地用户的FTP根目录
local_umask= #本地用户上传的权限掩码
11.配置文件:/etc/vsftpd/vsftpd.conf(主配置)
/etc/vsftpd/ftpusers(黑名单)
/etc/vsftpd/user_list(黑/白名单)
在字段userlist_enable=YES或NO //是否开启user_list文件
在字段userlist_deny=NO时user_list是白名单
12.其他常用选项
listen_port=端口号
listen_address=IP地址
download_enable:是否允许下载
13.默认的vsftpd服务:
允许匿名FTP访问,只能下载不能上传 【/var/ftp/】
允许本地用户FTP访问,既可以下载,也可以上传 【~用户名】
14.并发连接和速度:
max_clients=最大并发连接数
max_per_ip=同一IP地址的最大并发连接数
anon_max_rate=匿名用户访问速度(字节/秒)
local_max_rate=本地用户访问速度(字节/秒)
/usr/share/doc/
Samba
1.什么是Samba?
共享文件与打印机服务
2.使用什么协议?什么端口?
smbd 管理Samba主机共享的目录,文件与打印机等。使用TCP 139 445进行可靠的数据传递
nmbd 管理工作组、NetBIOS Name等解析,使用UDP 137 138来负责名称解析的任务
3.Samba账户特点:必须为系统存在的账户,密码为samba密码。
添加共享账号:
useradd 用户名
pdbedit -a 用户名
pdbedit -L 查看用户
pdbedit -X 删除用户
Smbpasswd 用户名 重置samba密码
4.Samba主配置文件是?服务启动脚本?
/etc/samba/smb.conf
/etc/init.d/smb
5.常见的选项作用?
security
share 不需要密码可以访问
user 需要密码(默认)
[共享名]
path = 共享文件夹的路径
comment = 共享文件夹的描述
read only = yes //默认的权限为只读
public = no //不对所有人开放 =:writable=0
valid users = 用户1, 用户2, 。。。。 //指定合法用户
write list = 用户1 //用户hunter可读可写
Browseable :是否可见 no为隐藏共享
6.访问Samba服务器的方法
Windows:\\服务器的ip
Linux:
smbclient -L 服务器ip
smbclient -U 账户名 //服务器ip/共享名
安全着想为samba起别名
为samba用户起别名文件 /etc/samba/smbusers 中写 samba用户名 = haha xixi lele
把别名文件路径写到samba配置文件/etc/samba/smb.conf中的[global]下格式如下:
username map =别名文件路径
mount挂载
mount -t cifs -o username=samba用户名,password=密码 //192.168.4.5/共享文件名 /mnt
设置开机自动挂载
//192.168.4.5/tools /mnt cifs defaults,username=nick,password=123456 0 0
/etc/fstab
//192.168.4.5/tools /mnt/smbdir1 cifs