企业级Linux文件共享FTP入门和进阶(笔记)
2015-08-31 00:58
453 查看
2.FTP传输原理详解
FTP: file transfer protocol
文件共享服务:
应用层:ftp
NFS:Network File System (RPC:Remote Procedure Call 远程过程调用)
samba: CIFS/smb 网上邻居
FTP: tcp ,两个连接
命令连接(控制连接):21/tcp
数据连接 : 主动模式:(从服务器角度)20/tcp 缺点:如果客户端有防火墙,就不能完成传输
被动模式:服务器端口不确定,客户端连接过来时,因之前已建立“控制连接”,服务器端防火 墙将放行
4.FTP编码格式
支持2种:二进制和文本 具体使用哪种由双方协商(自动)
5.常用FTP软件介绍
服务端:wu-ftpd(最早华盛顿大学开发,非结构化)、vsftpd(红帽自带,简单安全)
proftpd(专业)、pureftpd 、serv-U(win平台)
客户端: CLI:ftp 、lftp
GUI: gftpd、flashFXP、cuteftp
vsftpd:
/etc/vsftpd:配置文件目录
/etc/init.d/vsftpd :服务脚本
/usr/sbin/vsftpd : 主程序
/var/ftp :工具目录(根) 目录本身其它用户没有写权限
安装和配置
yum install vsftpd ;
rpm -ql vsftpd ;查看生成文件
FTP用户
匿名用户 anonymous
系统用户 ---〉 对应一个系统用户(家目录)
虚拟用户
服务启动
service vsftpd start ;启动
chkconfig vsftpd on ; 加自启动
/var/ftp/pub ;公开文件
iptables -L -n ;查看防火墙是否关闭
配置
/etc/vsftpd/vsftpd.conf
匿名用户 anonymous_enable
系统用户 local_enable
新建系统用户登陆FTP
PS如登陆不了:vsftp登录报500错误,以及登录成功后无法显示目录列表的解决方案:500OOPS:cannotchangedirectory:/home/
解决:
(一、)[root@ zhaiqutianshangxing vsftpd]#setsebool -P ftpd_disable_trans 1
[root@ zhaiqutianshangxing vsftpd]#service vsftpd restart
第一行中的-P参数是为了以后不需要每次开机都输入这个命令
结果问题又来了,提示setsebool is not set ??? 此命令执行不成功,继续如下第二种方法
(二、)或使用以下解决:
[root@ zhaiqutianshangxing ~]#/usr/sbin/setsebool -P ftp_home_dir 1
恭喜,执行成功了, 可遗憾的是问题还没有解决 于是遇到如下构思~
新建用户登陆的是当前用户的家目录,但可切换到系统根(不安全)
禁固配置:
chroot_local_user=YES ;所有系统用户进入FTP后不能随意切换家目录
系统用户默认lcd—> put是可以上传文件的
匿名用户默认是不能上传文件的解决方法
前提:
getenforce 如果是Enforcing 请关 :setenforce 0
anon_mkdir_write_enable=YES ;创建目录
anon_upload_enable=YES ;上传文件
write_enable=YES;写权限
anon_other_write_enable=YES ;删除权限
另外
mkdir /home/ftp/upload
chown ftp:root /home/ftp/upload ;同等命令setfacl -m u:ftp:rwx /var/ftp/upload
文件服务最后权限=文件系统权限*文件共享权限
拒绝某用户登陆FTP
配置文件中
userlist_enable=YES (启用/etc/vsftpd/user_list用户列表)
userlist_deny=YES ;列表生效
FTP: file transfer protocol
文件共享服务:
应用层:ftp
NFS:Network File System (RPC:Remote Procedure Call 远程过程调用)
samba: CIFS/smb 网上邻居
FTP: tcp ,两个连接
命令连接(控制连接):21/tcp
数据连接 : 主动模式:(从服务器角度)20/tcp 缺点:如果客户端有防火墙,就不能完成传输
被动模式:服务器端口不确定,客户端连接过来时,因之前已建立“控制连接”,服务器端防火 墙将放行
4.FTP编码格式
支持2种:二进制和文本 具体使用哪种由双方协商(自动)
5.常用FTP软件介绍
服务端:wu-ftpd(最早华盛顿大学开发,非结构化)、vsftpd(红帽自带,简单安全)
proftpd(专业)、pureftpd 、serv-U(win平台)
客户端: CLI:ftp 、lftp
GUI: gftpd、flashFXP、cuteftp
vsftpd:
/etc/vsftpd:配置文件目录
/etc/init.d/vsftpd :服务脚本
/usr/sbin/vsftpd : 主程序
/var/ftp :工具目录(根) 目录本身其它用户没有写权限
安装和配置
yum install vsftpd ;
rpm -ql vsftpd ;查看生成文件
FTP用户
匿名用户 anonymous
系统用户 ---〉 对应一个系统用户(家目录)
虚拟用户
服务启动
service vsftpd start ;启动
chkconfig vsftpd on ; 加自启动
/var/ftp/pub ;公开文件
iptables -L -n ;查看防火墙是否关闭
配置
/etc/vsftpd/vsftpd.conf
匿名用户 anonymous_enable
系统用户 local_enable
新建系统用户登陆FTP
PS如登陆不了:vsftp登录报500错误,以及登录成功后无法显示目录列表的解决方案:500OOPS:cannotchangedirectory:/home/
解决:
(一、)[root@ zhaiqutianshangxing vsftpd]#setsebool -P ftpd_disable_trans 1
[root@ zhaiqutianshangxing vsftpd]#service vsftpd restart
第一行中的-P参数是为了以后不需要每次开机都输入这个命令
结果问题又来了,提示setsebool is not set ??? 此命令执行不成功,继续如下第二种方法
(二、)或使用以下解决:
[root@ zhaiqutianshangxing ~]#/usr/sbin/setsebool -P ftp_home_dir 1
恭喜,执行成功了, 可遗憾的是问题还没有解决 于是遇到如下构思~
新建用户登陆的是当前用户的家目录,但可切换到系统根(不安全)
禁固配置:
chroot_local_user=YES ;所有系统用户进入FTP后不能随意切换家目录
系统用户默认lcd—> put是可以上传文件的
匿名用户默认是不能上传文件的解决方法
前提:
getenforce 如果是Enforcing 请关 :setenforce 0
anon_mkdir_write_enable=YES ;创建目录
anon_upload_enable=YES ;上传文件
write_enable=YES;写权限
anon_other_write_enable=YES ;删除权限
另外
mkdir /home/ftp/upload
chown ftp:root /home/ftp/upload ;同等命令setfacl -m u:ftp:rwx /var/ftp/upload
文件服务最后权限=文件系统权限*文件共享权限
拒绝某用户登陆FTP
配置文件中
userlist_enable=YES (启用/etc/vsftpd/user_list用户列表)
userlist_deny=YES ;列表生效
相关文章推荐
- arm-linux交叉编译工具链制作
- ARM Linux系统调用详细分析
- Linux程序包管理--rpm和yum的原理和基本用法
- linux命令之grep_v1
- CentOS 使用yum升级subversion1.8
- Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎
- Linux进程通信---信号量 代码实现
- 文本编辑工具vim的使用方法
- 10gR2中RAC环境中手工创建实例和监听(Linux/Unix)
- Linux之sed的用法
- Linux程序包管理之YUM
- LINUX用户与组管理
- 使用 Python 获取 Linux 系统信息
- Linux内核模块通知链实现原理(阅读笔记)
- Linux进程通信---消息队列 代码实现
- display the contents of a PEM formatted certificate under Linux, using openssl:
- 用 Python 脚本实现对 Linux 服务器的监控
- CentOS kvm deploy
- Linux进程通信---共享内存 代码实现
- CentOS配置MySQL 小结