Linux下FTP服务的安装,配置

实验环境:

FTP服务器IP为192.168.149.143,centos7系统。

实验步骤:

第一部分 基本安装

1.安装vsftpd软件
# yum install -y vsftpd*
...
Installed:
  vsftpd.x86_64 0:3.0.2-25.el7               vsftpd-sysvinit.x86_64 0:3.0.2-25.el7              

Complete!
2.启动进程
# systemctl start vsftpd.service
# systemctl status vsftpd.service 
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-09-03 10:22:11 CST; 1s ago
  Process: 2105 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 2108 (vsftpd)
    Tasks: 1
   CGroup: /system.slice/vsftpd.service
           └─2108 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Sep 03 10:22:10 agent.domain.com systemd[1]: Starting Vsftpd ftp daemon...
Sep 03 10:22:11 agent.domain.com systemd[1]: Started Vsftpd ftp daemon.
3.在客户端已经可以登陆查看了。使用win7,访问ftp://192.168.149.143,看到pub共享目录:

4.关闭匿名用户权限。匿名用户只有查看权限,无法创建,删除,修改。
/etc/vsftpd/vsftpd.conf:
anonymous_enable=YES
YES改为NO,并重启服务。

第二部分 系统用户权限配置

5.系统用户权限配置
(1)这里的系统用户,指的是操作系统中存在的用户。所以实验中,需要在操作系统中新增用户并设置密码:
# useradd ftpuser1
# useradd ftpuser2
# echo 123456 |passwd --stdin ftpuser1
# echo 123456 |passwd --stdin ftpuser2

(2)使用用户名密码登陆,实现了用户隔离:

第三部分 虚拟用户权限配置

6.虚拟用户权限配置:
(1)安装pam相关软件包。实际上,我也没验证是否必须要全部安装,感觉有个pam包就可以了。
# yum install pam* -y
(2)在/etc/vsftpd下创建ftpusers.txt,输入虚拟用户的用户名和密码。
# cat ftpusers.txt 
ftpuser3
123456
ftpuser4
123456
(3)生成虚拟用户数据库认证文件,并设置权限为700:
# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
# chmod 700 vsftpd_login.db
(4)配置pam文件/etc/pam.d/vsftpd,添加2行代码,并注释掉其他代码
# cat vsftpd 
#%PAM-1.0
auth       required     pam_userdb.so   db=/etc/vsftpd/vsftpd_login
account    required     pam_userdb.so   db=/etc/vsftpd/vsftpd_login

#session    optional     pam_keyinit.so    force revoke
ceed
#auth       required    pam_shells.so
#auth       include    password-auth
#account    include    password-auth
#session    required     pam_loginuid.so
#session    include    password-auth
(5)操作系统内添加用户,作为FTP虚拟用户映射到操作系统的真实用户。
# useradd -s /sbin/nologin ftpuser
(6)最后的vsftpd.conf文件如下,注意各项配置最后不能有空格,比如“YES”不能写成“YES ”,否则重启vsftpd服务会报错:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES

部分说明如下:
pam_service_name=vsftpd #虚拟用户启用pam认证
guest_enable=YES #启用虚拟用户
guest_username=ftpuser #映射虚拟用户至系统用户ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设置虚拟用户配置文件所在的目录
(7)最后,在/home/ftpuser目录下创建ftpuser3 ftpuser4 2个虚拟用户目录。并在/etc/vsftpd/vsftpd_user_conf下创建配置文件ftpuser3和ftpuser4:
# cat ftpuser3
local_root=/home/ftpuser/ftpuser3
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# cat ftpuser4
local_root=/home/ftpuser/ftpuser4
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
(8)重启vsftpd服务,完成配置。注:使用虚拟用户配置后,原系统用户ftpuser1 ftpuser2就无法使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值