云服务器CentOS 7中搭建一个分配权限的ftp服务器

, Read in about 2 min

Posted by Ryen on Tuesday, September 22, 2020
With final update in December 26,2023

本文总阅读量

以下将在云服务器CentOS 7 64位中实现ftp共享服务器、管理员可下载,上传,查看读写操作、公共账户,查看与下载。

1.安装vsftpd

yum -y install vsftpd

2.安装pam,验证

yum -y install pam*

3.新建一个账户,名叫tenxun

useradd -s /sbin/nologin tenxun

4.新建ftp目录qcloud

mkdir -p /opt/ftp/qcloud

5.给予目录qcloud权限

chown tenxun:tenxun /opt/ftp/qcloud

6.登录文件帐户名及密码

vi /etc/vsftpd/login.txt

(登录文件)奇数账户名,偶数密码,如图:

7.生成认证文件

db load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

8.建立pam配置文件

我的云服务器是CentOS 7 64位的,所以是/lib64目录,如果32位系统则用/lib目录,可以先去看看目录里面有没有这些文件。

9.#vi /etc/pam.d/vsftpd.vu

auth required /lib64/security/pam_userdb.so  db=/etc/vsftpd/login

account required  /lib64/security/pam_userdb.so db=/etc/vsftpd/login

10.配置vsftp.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/xferlog

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

chroot_list_enable=YES  #表示用户ftp登录后限制目录的访问

chroot_list_file=/etc/vsftpd/chroot_list  #chroot_list需新建,包含需要被chroot的用户列表

listen=YES

pam_service_name=vsftpd.vu  #改为自己新增的配置文件

userlist_enable=YES

userlist_file=/etc/vsftpd/user_list

tcp_wrappers=YES

user_config_dir=/etc/vsftpd/user_conf  #可以登录ftp的用户都在这里配置

pasv_min_port=65000

pasv_max_port=65500

11.建立用户配置文件目录

使用mkdir命令建立用户配置文件目录:

#mkdir /etc/vsftpd/user_conf

为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同:

#vim /etc/vsftpd/user_conf/cloud

#vim /etc/vsftpd/user_conf/ftp

12.每个FTP虚拟用户都可以独立设置其权限

anon_world_readable_only=NO  可读可下载

anon_upload_enable=YES  可上传

download_enable=NO  不能下载

anon_mkdir_write_enable=YES  可创建和删除文件夹

anon_other_write_enable=YES  可文件改名和删除文件

local_root=/opt/ftp/cloud  指定宿主目录

13.设置开机启动,常用命令

#chkconfig –level 35 vsftpd on

#chkconfig –list | grep vsftpd

#service vsftpd start

#service vsttpd restart

14.linux新建/修改一个不能登录的用户

#usermod -s /sbin/nologin

#useradd -s /sbin/nologin

/bin/false是最严格的禁止login选项,一切服务都不能用。而/sbin/nologin只是不允许login系统,但可以使用其它的ftp等服务。

「真诚赞赏,手留余香」

Ryen's Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付