Linux - 設定SFTP服務使用者目錄許可權

weixin_33686714發表於2018-01-08

我們有時會遇到這樣的需求,限制一個Linux使用者,讓他只能在指定的目錄下進行新增、修改、刪除操作,並且只能使用sftp登入伺服器,不能用ssh操作。這些可以通過配置sftp服務實現。

建立新使用者www,禁止ssh登入,不建立家目錄

[root@local ~]# useradd -s /sbin/nologin -M www
[root@local ~]# passwd www
更改使用者 www 的密碼 。
新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。

建立使用者的根目錄,使用者就只能在此目錄下活動

mkdir /var/www

設定目錄許可權,目錄的許可權設定有兩個要點:
目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root
目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權

[root@local ~]# chown root:root /var/www
[root@local ~]# chmod 755 /var/www

如果是777,www使用者就可以新建資料夾。如果是755,www使用者就不可以新建資料夾。

422101-20180108161217738-1722776315.png

422101-20180108161222238-974954011.png

配置sshd_config

vim /etc/ssh/sshd_config

修改一下內容

# Subsystem     sftp    /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match User www
ChrootDirectory /var/www
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

重啟sshd服務

systemctl restart sshd.service

建立目錄測試

[root@local ~]# mkdir /var/www/tpadmin
[root@local ~]# chown www:www /var/www/tpadmin
[root@local ~]# chmod 777 /var/www/tpadmin

422101-20180108160025332-2126342750.png

相關文章