第九单元 部署 ftp文件共享服务
部署 FTP 服务器
FTP (文件传输协议 ) 是 INTERNET 上仍常用的最老的网 络协议之一 ,它为系统提供了通过网络与远程服务器进行传 输的简单方法
在 RED HAT ENTREPRISE LINUX6 中。 FTP 服务器包 的名称为 VSFTPD ,它代表 Very Secure FileTransfer Protocol Damon 服务器名称也叫做 vsftpd
默认配置文件让 ANONYMOUS 用户只能下载位于 CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP 客户端能以用户 anonymous 或 ftp 身份连接到服务器 (无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )
部署网络服务的四个步骤
安装服务软件 • 启动服务 • 启用服务 • 测试服务
安装 vsftpd包并启动服务
yum install vsftpd -y • systemctl start vsftpd • systemctl enable vsftpd
启用 vsftpd服务
Applications-->Sundry-->Firewall
测试服务
cd /var/ftp/pub/
touch file{1..3}
lftp 172.25.0.10
lftp 172.25.0.10:~> ls
drwxr-xr-x 2 0 0 42 Nov 20 07:19 pub
lftp 172.25.0.10:/> cd pub/
lftp 172.25.0.10:/pub> ls
-rw-r--r-- 1 0 0 0 Nov 20 07:19 file1
-rw-r--r-- 1 0 0 0 Nov 20 07:19 file2
-rw-r--r-- 1 0 0 0 Nov 20 07:19 file3
FTP 服务器配置
默认配置为匿名 FTP 服务器 ,仅允许匿名客户端 下载 ,并且禁用所有本地用户 ,禁止上
传
vsftpd 配置件 : /etc/vsftpd/vsftpd.conf ,document root 位于 /var/ftp/ 中 ,配置修改 后 ,需重新启动服务
选项示例 : –anonymous_enable=YES
–local_enable=NO
–write_enable=NO
Vsftpd 服务配置
.vsftpd服务的配置参数
1)匿名用户设定
anonymous_enable=YES|NO 匿名用户登陆限制
<匿名用户上传>
vim/etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
<匿名用户家目录修改>
anon_root=/direcotry
<匿名用户上传文件默认权限修改>
anon_umask=xxx
<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
<匿名用户下载>
anon_world_readable_only=YES|NO设定参数值为no表示匿名用户可以下载
<匿名用户删除>
anon_other_write_enable=YES|NO
<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
<最大上传速率>
anon_max_rate=102400
<最大链接数>
max_clients=2
2)本地用户设定
local_enable=YES|NO 本地用户登陆限制
write_enable=YES|NO 本地用户写权限限制
<本地用户家目录修改>
local_root=/directory
<本地用户上传文件权限>
local_umask=xxx
<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<限制本地用户登陆>
vim/etc/vsftpd/ftpusers 用户黑名单
vim/etc/vsftpd/user_list 用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list 参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
<ftp虚拟用户的设定>
创建虚拟帐号身份)
vim/etc/vsftpd/loginusers 文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
db_load -T -t hash -f/etc/vsftpd/loginusers loginusers.db
vim /etc/pam.d/ckvsftpd 文件名称任意
account required pam_userdb.so db=/etc/vsftpd/loginusers
auth required pam_userdb.so db=/etc/vsftpd/loginusers
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
虚拟帐号身份指定)
guest_username=ftpuser
chmod u-w /home/ftpuser
虚拟帐号家目录独立设定)
vim/etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER
mkdir /ftpuserhome
chgrp ftpuser/ftpuserhome
chmod g+s /ftpuserhome
mkdir/ftpuserhome/ftpuser{1..3}
虚拟帐号配置独立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim/etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高