Centos

如何僅在 Centos / linux 安裝上創建具有特定 /dir/ 訪問權限的 FTP 使用者

  • September 2, 2021

所以我在 VPS - CentOS Linux 安裝上。我在伺服器上有 vsFTPd。我目前可以通過我的 root 使用者對伺服器進行 SFTP 訪問,但現在我正在嘗試創建一個新使用者,該使用者僅對伺服器上的特定目錄具有 FTP 訪問權限,我已經完成了以下操作:

1. mkdir /var/www/mydomain.com
2. mkdir /var/www/mydomain.com/html
3. useradd <-username>
4. passwd <-username>
5. chown –R <-username> /var/www/mydomain.com
5. groupadd <-groupname>
6. gpasswd -a <-username> <-groupname>
7. chgrp -R <-groupname> /var/www/mydomain.com
8. chmod -R g+rw /var/www/mydomain.com

我正在努力做的是創建只能訪問的使用者 /var/www/mydomain.com- 我觀察到使用者正確登錄到正確的文件夾,但是使用者可以瀏覽“返回”到其他目錄。我希望使用者停留在特定文件夾中並且無法“瀏覽”回來

有任何想法嗎?

我發現了關於 chrooting 的不同文章,但根本沒有想出在上麵包含的步驟中使用它。

這很簡單。

您必須在 vsftpd.conf 文件中添加以下選項

chroot_local_user=YES

配置文件中的文件是不言自明的:

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().

這意味著,使用者將只能訪問您配置為使用者 HOME 的文件夾。下面,我有一個使用者密碼條目的範例:

upload_ftp:x:1001:1001::/var/www/sites/:/bin/bash

使用以下命令設置使用者的主目錄

usermod -d /var/www/my.domain.example/ exampleuser

**注意:**在我的範例中,此使用者也是 Linux 中某些計劃任務的有效使用者。如果你沒有這個需求,請將使用者的 shell/sbin/nologin改成bash.

引用自:https://unix.stackexchange.com/questions/83221