Centos
如何僅在 Centos / linux 安裝上創建具有特定 /dir/ 訪問權限的 FTP 使用者
所以我在 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
.