linux-ftp 二
ftp基本
连接控制端口 21 发送ftp命令
数据连接端口 20 用于上传下载数据
主动模式 服务端从20端口主动向客户端发起连接
被动模式 服务端在指定范围内的某个端口被动等待客户端连接
数据传输模式
文本模式: ASCii模式
二进制模式:字节模式
FTP的三种登录方式
匿名登录 anonymous或ftp
:在登录FTP时使用默认的用户名,一般是ftp或anonymous
本地用户登录
:系统用户登录,账户密码都保存在本地 passwd shadow文件中
虚拟用户登录
:是FTP专有用户,只能访问FTP服务器提供的资源,不能系统登录 ,使用独立的账号/密码数据文件
1.添加虚拟用户口令文件
[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
常见客户端
ftp命令
cuteFTP FlashFXP LeapFTP Filezilla gftp kuftp
vsftp软件
主程序 /usr/sbin/vsftpd
服务名 vsftpd
用户列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list 禁止登录的列表
主配置文件
/etc/vsftpd/vsftpd.conf
常用全局配置
listen=YES 是否独立运行监听服务
listen_address=192.168.10.100 设置监听的ip地址
listen_port=21 设置监听的端口号
write_enable=YES 是否启用写入权限
download_enable=YES 是否允许下载文件
userlist_enable=YES 是否启用user_list列表文件
userlist_deny=YES 是否禁用user_list中的用户
max_clients=0 限制并发客户端连接数
max_per_ip=0 限制同一ip地址的并发连接数
常用的匿名FTP配置项
anonymous_enable=YES 启用匿名访问
anon_umask=022 匿名用户上传文件的权限掩码
anon_root=/var/ftp 匿名用户的根目录
anon_upload_enable=YES 匿名用户允许上传文件
anon_mkdir_write_enable=YES 允许创建目录
anon_other_write_enable=YES 开放写入权限
anon_max_rate=0 显示最大的传输速率,单位为字节
常用的本地用户FTP配置项
anonymous_enable=NO 禁用匿名访问
local_enable=YES 是否启用本地系统用户
local_umask=022 本地用户上传文件的权限掩码
write_enable=YES 是否启用写入权限
chroot_local_user=YES 是否将用户禁锢在主目录
userlist_enable=YES 是否启用user_list列表文件
userlist_deny=YES 是否禁用user_list中的用户
调整上传目录的属主或权限
anonymous_enable=YES 启用匿名访问
local_enable=NO 是否启用本地系统用户
write_enable=YES 是否启用写入权限
anon_umask=022 匿名用户上传文件的权限掩码
anon_upload_enable=YES 匿名用户允许上传文件
anon_mkdir_write_enable=YES 允许创建目录
userlist_enable=YES 是否启用user_list列表文件
1.建立虚拟FTP用户的账号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.在vsftp.comf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试
建立虚拟FTP用户的账号数据库文件
-建立虚拟用户名、密码列表
技术行为账号名
偶数行为上一行中账号的密码
-转化为Berkeley DB格式的数据文件
db_load转换工具
需安装db4-utils-*.rpm软件包
root账户登录
vsftp的默认设置是不允许root登录,
cd /etc/vsftpd/
修改ftpusers 和 user_list 文件
使用’‘ # ’‘注销 root 用户。 即让root账户从禁止登录的用户列表中排除
SELINUX
安全增强型Linux(Security-Enhanced Linux)简称selinux,它是一个Linux内核模块,也是Linux的一个安全子系统。
selinux的状态
getenforce命令查看当前模式
Enforcing:强制模式,在selinux运作时,已经开始限制domain/type
permissive:警告模式,在selinux运作时,会有警告信息,但不会限制domain/type的存取
disabled:关闭模式
更改selinux的状态命令
setenforce 1 ##更改selinux的状态为Enforcing
setenforce 0 ##更改selinux的状态为Permissive
当selinux关闭时,该命令无法使用,使用该命令只能切换开启时的两种状态,即Enforcing和Permissive使用该命令切 换selinux状态时,不需要重启电脑
selinux对文件的作用
当开启selinux后,selinux会给每个文件加载标签context,安全上下文必须配对,否则文件不能访问,开启selinux为Enforcing强制模式,在根目录下创建一个目录在此目录中新建一个文件,并且移动到ftp中的pub目录
关闭
vim /etc/sysconfig/selinux ##开启selinux,disabled-->enforcing
reboot ##重启虚拟机
getenforce ##查看状态