centos下配置sftp且限制使用者訪問目錄

來源:互聯網
上載者:User

標籤:blog   使用   os   strong   檔案   for   代碼   div   

第一步:建立sftp服務使用者組,建立sftp服務根目錄

groupadd sftp#此目錄及上級目錄的所有者(owner)必須為root,許可權不高於755,此目錄的組最好設定為sftpmkdir /srv/sftpchown -R root:sftp /srv/sftpchmod -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-sftpMatch 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,許可權不高於755mkdir /srv/sftp/testchmod 0755 /srv/sftp/testchown 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.

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.