教你搭建linux FTP服务教程详解

发布时间:2020-04-22编辑:脚本学堂
linux下ftp服务搭建方法,linux ftp服务配置教程,vsftpd服务软件的安装与配置教程,以及vsftpd虚拟用户的创建方法,需要的朋友参考下。

搭建linux FTP服务教程详解

本节脚本小编教大家在linux系统中搭建ftp服务的方法,以上是具体步骤。

默认安装好ftp软件包匿名用户是可以下载的。
一,匿名以后可以上传:
 

复制代码 代码示例:
anon_upload_enable=YES
# getsebool -a | grep ftp
allow_ftpd_anon_write --> on
chcon -t public_content_rw_t pub
chmod 775 pub
chgrp ftp pub

二,匿名用户可以创建目录:
 

复制代码 代码示例:
anon_mkdir_write_enable=YES

三,在创建的目录上传文件看不到,添加:
 

复制代码 代码示例:
anon_world_readable_only=NO

四,删除不了自己创建的目录文件,添加:
anon_other_write_enable=YES

selinux打开时,默认的本地用户是不可以登录ftp的。
 

复制代码 代码示例:
[root@redhat pub]# lftp 192.168.3.30 -u lee
Password:
lftp lee@192.168.3.30:~> ls         
ls: Login failed: 500 OOPS: cannot change directory:redhat
# setsebool -P ftp_home_dir on

默认本地用户登录ftp后是可以切换到 /的
怎么使本地以后不可以切换到/
 

chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
本地以后可以切换到/
chroot_local_user=NO
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
在chroot_list文件中的用户可以切换到/,反之就是配置文件没有写入的用户都是不可一切换到/的
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
# touch /etc/vsftpd/chroot_list
所有的用户都可以切换到 /,在配置文件的内容不可以切换到/,要是文件为空,就是所有以后都可一切换到/,匿名用户除外
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
所有以后不可一切换到 /
chroot_local_user=YES
chroot_list_enable=NO
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

2个黑名单同时含有一个用户时,ftpusers优先级大于user_list
ftpusers  user_list  //这2个文件即改即生效
所有的用户都不可以登录ftp,当白名单为空时。同时也是把临时黑名单变为白名单
 

复制代码 代码示例:
userlist_enable=YES
userlist_deny=NO

ftp虚拟用户的建立;(相关阅读:linux下ftp虚拟用户的创建方法   Linux下vsftp虚拟用户配置实例  vsftpd配置虚拟用户的方法介绍  vsftpd虚拟用户创建实例  vsftpd下创建虚拟用户的方法  vsftp 虚拟用户高级设置
vim users
 

复制代码 代码示例:
user1
123
user2
123
# yum install db4-utils.x86_64 -y
# db_load -T -t hash -f users users.db

vim ftpusers
 

复制代码 代码示例:
auth        required      pam_userdb.so db=/etc/vsftpd/users
account     required      pam_userdb.so db=/etc/vsftpd/users

# vim /etc/vsftpd/vsftpd.conf //使用虚拟用户登录的目录为test目录。
 

复制代码 代码示例:
pam_service_name=ftpusers
guest_enable=YES
guest_username=test //使用为本地用户
 

客户端测试,会发现登录到的为test的家目录。

给虚拟用户添加家目录:
 

复制代码 代码示例:
[root@redhat vsftpd]# tree virtual/
virtual/  //改目录下又创建2个user1 user2
├── user1
│   ├── passwd
│   └── user1
└── user2
    └── user2

/etc/vsftpd/virtual  //修改user1 user2的目录权限
 

复制代码 代码示例:
# chcon -t public_content_rw_t
[root@redhat virtual]# ll
total 8
drwxr-xr-x. 2 test test 4096 Jun 12 01:27 user1
drwxr-xr-x. 2 test test 4096 Jun 12 01:11 user2

为虚拟ftp用户添加家目录,配置文件添加:
 

复制代码 代码示例:
local_root=/etc/vsftpd/virtual/$USER
user_sub_token=$USER

为虚拟用户添加配置文件:
 

复制代码 代码示例:
/etc/vsftpd
mkdir dir
user_config_dir=/etc/vsftpd/dir
vim user1 //user1就为user1用户的ftp配置文件
non_upload_enable=NO //user1用户禁止上传,默认是可以上传的

以上介绍了linux下使用vsftpd搭建ftp服务的详细教程,希望对大家有所帮助。