溫馨提示×

centos7 vsftp如何限制用戶目錄

小樊
145
2025-01-01 14:03:52
欄目: 智能運維

要在 CentOS 7 上使用 vsftpd 限制用戶目錄,請按照以下步驟操作:

  1. 首先,確保已經安裝了 vsftpd 和相關依賴包。如果沒有,請使用以下命令安裝:
sudo yum install vsftpd
sudo yum install vsftpd-mysql
  1. 創建一個新的 MySQL 數據庫和用戶,用于存儲 FTP 用戶信息。使用以下命令創建數據庫和用戶:
sudo mysql -u root -p

在 MySQL 提示符下,執行以下命令:

CREATE DATABASE ftpusers;
CREATE USER 'ftpuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON ftpusers.* TO 'ftpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

your_password 替換為您想要設置的密碼。

  1. 創建一個新的系統用戶,用于限制 FTP 用戶目錄。使用以下命令創建新用戶:
sudo useradd -m ftpuser -d /home/ftpuser -s /sbin/nologin

/home/ftpuser 替換為您想要設置的目錄路徑。

  1. 將新創建的系統用戶添加到 MySQL 數據庫中:
sudo mysql -u root -p ftpusers -e "INSERT INTO users (username, password, homedir, shell) VALUES ('ftpuser', 'your_password', '/home/ftpuser', '/sbin/nologin');"

your_password 替換為您在第 2 步中設置的密碼。

  1. 配置 vsftpd 以使用 MySQL 數據庫。編輯 /etc/vsftpd/vsftpd.conf 文件,取消以下行的注釋,并填寫正確的數據庫連接信息:
mysql_enable=YES
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
  1. /etc/vsftpd/user_list 文件中添加允許和拒絕的用戶。如果文件不存在,請創建一個。使用以下命令添加用戶:
sudo echo "ftpuser" >> /etc/vsftpd/user_list
sudo chmod 644 /etc/vsftpd/user_list

如果您想要拒絕某個用戶訪問 FTP 服務器,只需在 user_list 文件中添加該用戶的用戶名,無需添加密碼。

  1. 重啟 vsftpd 服務以應用更改:
sudo systemctl restart vsftpd

現在,您已經成功配置了 CentOS 7 上的 vsftpd,限制了用戶目錄。只有 ftpuser 可以訪問其主目錄(在本例中為 /home/ftpuser),并且無法訪問其他用戶的目錄或系統目錄。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女