摘要:第一步創建服務用戶組創建服務根目錄此目錄及上級目錄的所有者必須為,權限不高于,此目錄的組最好設定為第二步備份配置文件然后編輯這一步,注釋掉文件中的此行代碼添加如下代碼功能可簡述為凡是在用戶組里的用戶,都可以使用服務使用服務連接上之
第一步:創建sftp服務用戶組,創建sftp服務根目錄
groupadd sftp #此目錄及上級目錄的所有者(owner)必須為root,權限不高于755,此目錄的組最好設定為sftp mkdir /srv/sftp chown -R root:sftp /srv/sftp chmod -R 0755 /srv/sftp
第二步:備份sshd配置文件然后編輯
mv /etc/ssh/sshd_config ~/backup/sshd_config_xxx vim /etc/ssh/sshd_config
這一步,注釋掉/etc/ssh/sshd_config文件中的此行代碼:
Subsystem sftp /usr/libexec/openssh/sftp-server
添加如下代碼:
Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /srv/sftp/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
功能可簡述為:凡是在用戶組sftp里的用戶,都可以使用sftp服務
使用sftp服務連接上之后,可訪問目錄為/srv/sftp/username
舉個例子:
用戶test是一個sftp組的用戶,那么他通過sftp連接服務器上之后,只能看到/srv/sftp/test目錄下的內容
用戶test2也是一個sftp組的用戶,那么他通過sftp連接服務器之后,只能看到/srv/sftp/test2目錄下的內容
第三步:添加有效的sftp用戶,且給予用戶寫權限
#此例將創建一個名稱為test的sftp帳號 #創建test的家目錄:test目錄的所有者必須是root,組最好設定為sftp,權限不高于755 mkdir /srv/sftp/test chmod 0755 /srv/sftp/test chown root:sftp /srv/sftp/test #添加用戶 使用參數 -s/sbin/nologin禁止用戶通過命令行登錄 useradd -gsftp -d/srv/sftp/test -s/sbin/nologin test
關于寫權限,如下解決方案并不是很完美
#在test目錄下創建一個可以寫的目錄 mkdir /srv/sftp/test/write chown -R test:sftp /srv/sftp/test/write
這樣test用戶就可以在自己家目錄里的write目錄下擁有寫入權限了
最后再強調一下,sftp服務的根目錄的所有者必須是root,權限不能超過755(上級目錄也必須遵循此規則),sftp的用戶目錄所有者也必須是root,且最高權限不能超過755.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17340.html
閱讀 2858·2021-07-30 15:30
閱讀 553·2019-08-30 15:55
閱讀 1621·2019-08-26 17:04
閱讀 632·2019-08-26 11:36
閱讀 2063·2019-08-26 10:58
閱讀 3548·2019-08-23 14:34
閱讀 1557·2019-08-22 18:48
閱讀 2522·2019-08-21 17:51