(1) Vsftpd服务是做什么用的?
答:Vsftpd服务是用来在windows和Linux之间共享文件
(2) 软件大的安装方法?是在服务端安装还是在客户端安装?安装命令是什么?
答: 软件是在服务端安装,yum install vsftpd* -y
(3) 路径,配置文件,启动文件
答:
安装路径: rpm -ql vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
启动文件: /etc/rc.d/init.d/vsftpd
(4) 启动Vsftpd服务,查看进程
答:
<1> 启动Vsftp服务 service Vsftpd start
<2> 查看服务进程是否启动 ps -ef |grep vsftpd
---------------------------------- 匿名用户访问Vsftpd---------------------------------------
(1) Vsftpd.conf配置文件中默认是允许匿名用户访问的
anonymous_enable=YES 开启匿名用户访问
(2) ftp://192.168.2.114 测试Vsftpd访问是否成功
(3) Vsftpd默认在Linux下的路径是 cd /var/ftp/pub
(4) 匿名用户访问ftp服务器,可以查文件,下载文件,文件不能删除和修改和上传,如果要设置成匿名用户可以上传,下载,修改文件需要做以下设置
<1> 在vsftpd.conf配置文件上添加几句命令:
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户其他写入权限
<2> 设置目录权限
ftp默认目录为/var/ftp,默认情况下,里边只有pub目录。我们建立一个test目录来作为我们的测试目录并做好授权。
<3> 关闭selinux 和iptables , 不关闭也会导致访问不成功
系统用户访问Vsftpd
<1>Vsftpd匿名用户设置完毕,任何人都可以查看FTP端的文件,目录,甚至可以修改,删除,Vsftpd系统用户可以实现这一需求
<2> 修改Vsftpd.conf配置文件
禁止匿名用户登录FTP anonymous_enable=NO
<3>新建系统用户,并创建登录密码
<4> 系统用户登录FTP,Linux上文件的家目录存放在home目录下
<5> 验证登录是否成功
------------------------------允许userlist列表里的系统用户登录FTP--------------------------------
<1> userlist列表里定义了root等系统内置用户,允许这些用户登录FTP系统,权限很大,风险高,
系统默认禁止这些系统用户登录FTP
<2>允许userList列表里的用户登录FTP userList_enable=NO
<3> 我们假设允许Root用户登录FTP, 还需要修改/etc/vsftpd/user_List 和 /etc/vsftpd/ftpusers 去除root用户
<4> root用户的家目录在cd /root下
<5> 验证root用户登录是否成功
------------------------------ 虚拟用户登录Vsftpd-------------------------------------------
<1> 如果是基与系统用户去访问FTP, 系统用户越多,越不利于管理 。为了安全起见,还是用虚拟用户登录FTP
<2> 虚拟用户是共享真实用户的家目录
<3> 安装虚拟用户的认证模块
yuminstall db4* -y (centos6.5)
yum install pam* libdb-utils libdb* --skip-broken –y (Centos 7)
<4> 创建并生成Vsftpd数据库文件
vi /etc/vsftpd/ftpusers.txt
第一行为ftp虚拟用户登录名,第二行为密码
<5> 生成数据库文件
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt/etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
<6> 生成PAM验证文件
在 vi /etc/pam.d/vsftpd 行首加入2行认证语句
auth sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login
<7> 创建Vsftpd映射本地用户
这个系统用户不需要登录,也不需要登录密码
useradd ftpuser
<8> 修改vsftpd.conf配置文件(完整的配置文件如下)
anonymous_enable=NO禁止匿名用户登录
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES 启用虚拟用户
guest_username=ftpuser 映射虚拟用户到系统用户ftpuser
pam_service_name=vsftpd 启用虚拟用户pam认证
user_config_dir=/etc/vsftpd/vsftpd_user_conf 设置虚拟用户所在目录
virtual_use_local_privs=YES 虚拟用户与本地用户有相同的权限
<9> 重启vsftpd
service vsftpd restart
<10> 验证配置结果
我们用jfedu001这个用户,登录到FTP
<11> 用户的家目录在cd /home/ftpuser
注释:
至此,虚拟用户共用的家目录是home/ftpuser。如果虚拟用户想要有自己的家目录,可以在
/etc/vsftpd/vsftpd_user_conf创建自己的配置文件,这样登录用户对自己目录下的文件,有完全控制权。
<12> 在这个/etc/vsftpd/vsftpd_user_conf 目录下,创建虚拟用户自己的配置文件
mkdir -p /etc/vsftpd/vsftpd_user_conf
<13> 我们为jfedu001这个用户创建自己的家目录
vim /etc/vsftpd/vsftpd_user_conf/jfedu001
local_root=/home/ftpuser/jfedu001 jfedu001这个虚拟用户配置文件路径
write_enable=YES 允许登录用户有写的权限
anon_world_readable_only=YES 允许匿名用户下载文件
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户有其它权限,例如删除,重命名
<14> 创建虚拟用户各自的目录
mkdir -p /home/ftpuser/{jfedu001,jfedu002}
chown -R ftpuser:ftpuser /home/ftpuser
<15> 重启vsftpd,验证配置结果