redhat7.0下的ftp服务相关设置

    #######ftp(文件传输协议)服务#######

    两台主机必须在同一个网段,做实验时vim /etc/sysconfig/selinux     改为 disable


做完这一步必须重启

一:主机1:下载vsftpd
yum install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
firewalld-cmd --permanent --add-service=ftp

firewalld-cmd --reload


主机2:yum install lftp

lftp 另一台主机ip

ls



二:vsftpd的配置

vim /etc/vsftpd/vsftpd.conf

lftp ip         ###匿名用户登录

lftp ip -u  用户     ####本地用户登陆

匿名用户

anonymous_enable=YES|NO    #匿名用户是否可以登陆

此时退出保存重启vsftpd后,匿名用户将不可以登陆

重新设置为YES既可登陆


本地用户

local_enable=YES|NO        #本地用户是否可以登陆

此时本地用户无法登录


write_enable=YES|NO        #ftp对登陆用户是否可写

此时本地用户将在登陆后无法写入


##匿名用户家目录修改

mkdir /ftpdir/dir

anon_root=/dir




### 匿名用户删除###

anon_other_write_enable=YES



###最大上传速率###

anon_max_rate=102400

截取一个文件

速率保持在100K左右


###本地用户上传文件权限设置###
本地用户
local_umask=022
匿名用户
anon_umask=077

######限制本地用户浏览/目录#######

没有限制之前:

本地用户是可以浏览/目录的

vim /etc/vsftpd/vsftpd.conf
chroot_list_file=etc/vsftpd/chroot_list     需要编辑这个文件  (黑/白名单)
chroot_local_user=YES

chmod u-w /home/*

设置之后:

本地用户无法浏览/目录

#设置黑名单#

chroot_local_user=NO
vim /etc/vsftpd/chroot_list
在里面写入需要添加到黑名单的用户名

#设置白名单#
chroot_local_user=YES
vim /etc/vsftpd/chroot_list
在里面写入需要添加到白名单的用户

systemctl restart vsftpd

######限制本地用户登陆#####
黑名单
cd /etc/vsftpd/
ftpusers       ###永久黑名单,优先级高
user_list       ###临时黑名单,在一定情况下可转变成白名单

vim /etc/vsftpd/vsftpd.conf

userlist_deny=NO    #####将 user_list 转变为白名单

如果同一个用户同时在ftpusers 与 为白名单的user_list中,则这个用户不能登陆,因为ftpusers优先级高


#####建立lftp虚拟用户####
1:vim /etc/vsftpd/guest
ftpuser1
123
ftpuser2
123
ftpuser3

123



db_load -T -t hash -f /etc/vsftpd/guest /etc/vsftpd/guest.db    哈希加密



2:vim /etc/pam.d/gd

account      required        pam_userdb.so           db=/etc/vsftpd/guest

auth         required        pam_userdb.so           db=/etc/vsftpd/guest



3:vim /etc/vsftpd/vsftpd.conf
pam_service_name=gd
guest_username=ftp

guest_enable=YES



#########虚拟账户家目录独立设定#####
1:vim /etc/vsftpd/vsftpd.conf
lcal_root=/ftpguo/$USER
user_sub_token=$USER          $USER变量只能用在shell里面,不能用在配置文件里面,需要用这个设置将$USER引入配置文件

2:mkdir /ftpguo
chgrp westos /ftpguo
chmod g+s /ftpguo

mkdir /ftpguo/ftpuser{1..3}

        


touch /ftpguo/ftpuser1/file1
touch /ftpguo/ftpuser2/file2
touch /ftpguo/ftpuser3/file3

3:lftp 172.25.254.103 -u ftpuser1

ls






##############指定虚拟用户上传文件######################

1:vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf

2:mkdir /etc/vsftpd/userconf


3:注释配置文件中属于匿名文件的

cd /ftpguo

mkdir ftpuser{1..3}/pub

vim /etc/vsftpd/userconf/ftpuser1


4:chgrp ftp  /etc/ftpguo/ftpuser{1..3}/pub   
chmod 775  /etc/ftpguo/ftpuser{1..3}/pub

lftp 172.25.66.167 -u ftpuser1

lftp 172.25.66.167 -u ftpuser2





################################################################################################

#########selinux##########
1:rm -fr /etc/vsftpd/*
yum reinstall vsftpd -y
2:进入 /etc/sysconfig/selinux
将 disable 改为 en.....

3:touch /mnt/westos
4:mv /mnt/westos /var/ftp/
5:getenforce
6:lftp 172.25.254.103
ls
看有没有westos

7:setenforce 0|1         0:警告,可以查看   1:强制,不能查


猜你喜欢

转载自blog.csdn.net/gd0306/article/details/80259779