HCRM博客

如何在CentOS上设置FTP目录?

CentOS FTP 目录设置指南

如何在CentOS上设置FTP目录?-图1
(图片来源网络,侵权删除)

在 CentOS 上配置和管理 FTP(文件传输协议)服务,是确保服务器间安全、高效地传输文件的关键步骤,FTP 服务允许用户上传、下载和共享文件,对于网站维护、数据备份及协作项目尤为重要,本文将详细介绍如何在 CentOS 系统上安装 FTP 服务软件(如 vsftpd)、配置 FTP 目录权限以及管理 FTP 用户访问权限,确保 FTP 服务的安全性和功能性。

安装与配置 FTP 服务

1、安装 vsftpd:在 CentOS 上,vsftpd(Very Secure FTP Daemon)是常用的 FTP 服务软件,因其安全性高而被广泛采用,通过以下命令安装 vsftpd:

sudo yum install vsftpd y

2、启动并启用 vsftpd:安装完成后,启动 vsftpd 服务并将其设置为开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3、检查 vsftpd 状态:确认 vsftpd 服务已成功启动并正在运行:

sudo systemctl status vsftpd

配置 FTP 主目录

FTP 主目录是用户登录 FTP 服务器后所在的目录,也是文件传输的起始点,合理设置 FTP 主目录有助于提高数据管理的效率和安全性,以下是两种常见的配置方法:

1、修改 vsftpd 配置文件:编辑/etc/vsftpd/vsftpd.conf 文件,设置局部用户的配置项,取消注释并修改以下行:

如何在CentOS上设置FTP目录?-图2
(图片来源网络,侵权删除)
#chroot_local_user=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/var/ftp/$USER

这样,每个用户的 FTP 根目录将被设置为/var/ftp/用户名,保存文件后,创建必要的目录并设置权限:

sudo mkdir p /var/ftp/username
sudo chmod R 755 /var/ftp/username

2、使用虚拟用户:虚拟用户不依赖于系统账户,适用于需要更高灵活性的场景,安装dbutil

sudo yum install dbutil y

创建虚拟用户数据库:

sudo db4.8_load T t hash f /etc/vsftpd/virtual_users.db /etc/vsftpd/virtual_users.txt

/etc/vsftpd/vsftpd.conf 中添加以下配置,以支持虚拟用户:

user_config_dir=/etc/vsftpd/virtual_users/
virtual_use_local_privs=YES
guest_enable=YES

为每个虚拟用户创建单独的配置文件,指定其主目录:

local_root=/var/ftproot/username

创建主目录并设置权限:

sudo mkdir p /var/ftproot/username
sudo chown nobody:nobody /var/ftproot/username
sudo chmod R 755 /var/ftproot/username

三. 管理 FTP 用户访问权限

为了确保 FTP 服务的安全性,需要仔细管理用户访问权限,以下是一些关键步骤:

1、创建 FTP 用户:使用useradd 命令创建新用户,并指定其主目录和登录 Shell

sudo useradd d /var/ftp/username s /sbin/nologin username

2、设置密码:为新创建的 FTP 用户设置密码:

sudo passwd username

3、配置权限:确保 FTP 用户的主目录具有正确的权限设置,以防止未经授权的访问:

sudo chown R username:username /var/ftp/username
sudo chmod R 755 /var/ftp/username

4、限制用户访问范围:通过chroot 选项限制用户只能访问其主目录,增强安全性:

chroot_local_user=YES

四. 常见问题解答 (FAQ)

1、如何修改 FTP 默认路径?

要修改 FTP 服务的默认路径,需编辑 vsftpd 配置文件(通常位于/etc/vsftpd/vsftpd.conf),找到或添加local_root 配置项,并设置为您希望的路径,若要将默认路径设为/myftp,则添加或修改如下行:

   local_root=/myftp

保存更改后,重启 vsftpd 服务以使新配置生效:

   sudo systemctl restart vsftpd

2、如何限制 FTP 用户只能访问特定目录?

要限制 FTP 用户只能访问特定目录,可以使用chroot 功能,确保chroot_local_user=YES 已启用,在用户的个人配置文件(通常位于/etc/vsftpd/user_conf/ 目录下,文件名与用户名相同)中添加或修改local_root 配置项,指向您希望用户访问的目录,若想让用户username 只能访问/specificdir,则在/etc/vsftpd/user_conf/username 文件中添加或修改:

   local_root=/specificdir

保存更改后,同样需要重启 vsftpd 服务以应用新配置:

   sudo systemctl restart vsftpd
分享:
扫描分享到社交APP
上一篇
下一篇