samba服务在企业里用的比较多
FTP两种工作模式,
一种主动模式,一种被动模式
(主要针对FTP通讯的时候用到的数据通道,
主动模式,服务器传输数据的时候会用tcp的20端口主动取链接客户端
主动模式,客户端防火墙可能会影响使用
被动模式,客户端主动发送链接请求取服务器端,服务器端端口是随机的
被动模式,服务器端用的随机端口,客户端发起链接到服务器端可能有问题
ftp命令端口是固定的tcp 20(没有主动和被动模式的说法
如何来实现ftp服务
系统自带vsftpd
日志滚动策略
nocompress 不压缩
missingoj 丢失也没事
调用了pam模块来管理vsftp授权和什么的
主要的配置文件
默认共享文件夹
创建的脚本
打开服务,数据端口20只有在进行数据通讯的时候才会打开
拿一个6的客户端去链接
使用匿名账号 ftp
显示的是跟,实际上是ftp的家目录
端口计算方式是210*256+128,匿名用户是不允许上传资源的
put上传,get下载,!是在本机执行命令
上传报权限失败,端口号发生变化
被动模式每次传输数据都会变
服务器防火墙最好支持ftp协议,不支持就无法配置
ftp抓包看看
进入passive 模式
在通讯的时候就是用这种消息,通过命令端口21向服务器发起用哪个端口号
三次握手
两个通道就会分别建立两个三次握手,断开的时候也就会有四次挥手
-A用主动模式
敲ls抓包
port command代表主动模式
20端口服务器主动向客户端发起请求
可以在这里定义模式使用的端口号
可以先看下帮助说明,如何加listen_port
standalone mode 独立模式
那就肯定有非独立模式,在centos6 有两种模式,基于xinetd服务的还是自己独立服务,非独立服务都是基于xinetd服务的,ftp在当前环境中是独立的
非独立模式的优势就是本身的进程是不启动的,当用户发起链接的时候,xinetd服务临时激活,这样访问的资源相对减少,平时不启动,有需要才启动,这样比较减少服务器压力
试试改成2121
那么作为客户端连接
服务器端已经有客户端连接了
主动模式,想用别的端口也可以,默认没有,需要自己加
**需要找一个客户端传输数据才会看到端口是否变化
创建一个比较大的文件
**
客户端获取数据
说明主动模式下端口改了
被动模式下,服务器端口是随机的,端口范围想要定义下,这个服务是大端口,可能会产生冲突,服务器也在连接别人,也在使用大端口号
暂时没有人用到6000端口
如果定义两个6000会发生什么问题
定义是被动模式,
当时另外的主机连接,显示600 绑定失败
就是因为只有一个端口的原因,另外的想连,但是被占用了
现在就成功了
端口号如果要定义的话一定要注意范围
一般这个功能主要为了应对比较笨的防火墙,识别不了ftp协议,就可以强行定义一个范围
当前的时间9。27
现在通过windows资源管理器访问,时间9:27也没错
但是客户端访问时间就不对
ftp命令访问的时候这个时间是有问题的
也可以用filezilla软件
综合下来只有FTP客户端工具才有时区问题,是否使用本地时间
客户端时间就恢复正常
但是就影响了图形界面的时间
火狐浏览器的时间就是准的
不同的客户端对时间的设置是不一样的
不同的客户端特性不一样,火狐又错误了
默认情况下都是匿名账号,也可以把匿名账号禁用
yes等于允许匿名账号
既然是匿名,但是每次都要输入密码,也可以设置不输入密码
成功
看你的所属人所属组other是否有读权限了
现在都有读权限(所有者,所属组,other)是可以下载的
现在取消权限
就失败了
不想支持匿名账号,可以关掉,注释或者改为no
默认不行,只能改为no
可以了
、
可以拿用户链接
能上传
lcd代表切换到另外一个文件夹,下载的时候就下载到你指定的文件夹
默认的系统账号也是可以登录的,
匿名账号虽然可以用,但是不能上传
匿名用户是不允许上传的
一个负责传文件,一个负责建文件夹
刚才是权限拒绝,现在 553不能创建文件
ftp匿名用户对这个文件夹没有权限,目录本身也需要 权限
是父子进程关系
断开一个链接
窗口也断开
光剩下一个父进程
再次链接就有两个
最终访问的时候,用户最终是以ftp用户访问的,所以需要给ftp 用户权限
、就可以了
建了文件夹想要修改和删除就不行了
要想删除,添加
现在就可以删除了
在文件夹里建子文件夹,就不行了
因为新的文件就没有权限了。
应该是ftp默认 的策略
拖目录可以
企业可能会为了安全单独建立一个文件夹来上传
能否给/写权限,刚才是通过facl设置的权限
能否给跟写权限
这个是不允许的,默认权情况下,某个账号显示的是/跟目录,那么这个/是不允许有写权限的
取消权限
ftp跟目录对于用户账号登录以后,根目录是不允许有写权限的
默认传上去的文件所有者是frp
看看 14 50 代表什么
也可以定义另外一个账号,传上去给一个账号
默认文件传上去权限600
现在看一下这个文件权限到地变成什么
现在默认权限改成644
以上就是匿名账号各种设置
系统账户
默认情况下ftp允许以系统用户的身份来直接登录
把之前加的删除
系统用户都有用户名,登录进去就在最近家目录里,也可以把所有的系统账号映射成单个用户,这个用户,无论是哪个用户登录都给它映射成一个普通用户
这样系统用户登录就不在最近家目录里了,映射出一个虚拟的linux账号,这个账号有专门的自己的目录
现在系统中拿一个账号试试
这两个账号默认现在登录的是自己家目录里
现在映射成一个专门的系统账号,映射成ftp用户就跟匿名用户一样了。都死在var/ftp目录下 了
也可以换一个别的用户
这个用户家目录是这个而且有写权限
改成testftp
现在把所有的Linux用户都映射成testftp,而这个用户家目录是/data下的文件夹了
创建个文件
不能打开此目录
ftp是以wang的身份登录的,所以进不到这个目录里
都加上读和执行权限
就可以 了,说明看不到文件列表,还是文件权限造成的
ps aux 映射成testftp用户了
默认是允许linux用户登录的
非匿名用户登录所在的目录
有i这个文件了
一旦指定这个选项,就是把原来testftp的家目录失效了
显示的是跟,实际上真正的目录不在跟上,是ftproot
对于testftp用户来讲,并没有对这个目录有写权限
没有权限,不能创建
加上权限
这个用户对这个有写权限就不行
可以这么做,父目录没有写权限,下面子文件夹有写权限就可以了
根目录不能有写权限,子目录有写权限,这是系统设置的规则
把刚才设置都还原
如果拿系统账号来登录,默认在自己家目录,能上传,能下载
但是这样是不安全的,把一些系统上的资源都下载下来了,好像不太安全
去别的家目录不行,但是etc默认所有人都能读,能读就能把里面的文件下载下来
所以我们就需要把一个账号固定在目录里