第二册第九单元 部署 ftp 文件共享服务
一.部署网络服务的四个步骤
• 安装服务软件
• 启动服务
• 启用服务
• 测试服务
部署 FTP 服务器
• FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法。
• 在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File Transfer
Protocol Damon 服务器名称也叫做 vsftpd。
• 默认配置文件让 ANONYMOUS 用户只能下载位于CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP客户端能以用户 anonymous 或 ftp 身份连接到服务器( 无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件( 其本地 ftp 用户可以读取这些文件 )。
二.vsftpd文件信息
/var/ftp ##默认发布目录
/etc/vsftpd ##配置目录
三.vsftpd服务的配置参数
1.配置文件
vim /etc/vsftpd/vsftpd.conf
2.匿名用户设定
anonymous_enable=YES|NO ##匿名用户登陆限制
3.匿名用户上传
write_enable=YES
anon_upload_enable=YES
chgrp lijingyan /var/ftp/pub
chmod 775 /var/ftp/pub
4.匿名用户家目录修改
anon_root=/directory
5.匿名用户上传文件默认权限修改
anon_umask=xxx
6.匿名用户建立目录
anon_mkdir_write_enable=YES|NO
7.匿名用户下载
anon_world_readable_enable=YES|NO
8.匿名用户删除
anon_other_write_enable=YES|NO
9.匿名用户使用的用户身份修改
chown_uploads=YES
chown-username=student
10.最大上传速率
anon_max_rate=102400
11.最大链接数
max_clients=2
12.本地用户设定
local_enable=YES ##本地用户登陆限制
write_enable=YES ##本地用户写权限限制
13.本地用户家目录修改
local_root=/directory
14.本地用户上传文件权限
local_umask=xxx
15.限制本地用户浏览/目录
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
16.用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
17.用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
18.限制本地用户登陆
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
19.用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
20.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
21.虚拟帐号身份指定
guest_username=ftpuser
chmod u-w /home/ftpuser
22.虚拟帐号家目录独立设定
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}
23.虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级搞
测试服务
• 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
注:每次修改完配置文件后,进行测试前要用systemctl restart vsftpd 重启网络服务。