• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            無法遞歸的五點半

            for_each(day.begin(),day.end(),bind2nd(Add(),me))

            導航

            <2007年3月>
            25262728123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統計

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            文章分類

            相冊

            收藏夾

            C++

            Unix/Linux

            個人主頁

            其他

            軟件工程

            網絡管理

            綜合

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            OpenSSH下SFTP的配置

            OpenSSH網站上那只SSH刺河豚將FTP埋葬

            有關sftp有人推薦www.ssh.com的實現,不過我更喜歡開源的產品,特別是Open系列的安全產品。

            需求

            首先我們明確我們的目標,我們是希望通過SFTP代替FTP,需求是這樣的:
            1. 這些用戶只能通過SFT訪問服務器
            2. 用戶要鎖定在相應的目錄下
            我想通常的思路是這樣的:
            1. 打開OpenSSH的SFTP
            2. 將這些用戶設置在一個
            3. 讓OpenSSH識別這個組,只允許這些用戶使用SFTP
            4. 最后系統要自動的將用戶chroot在用戶目錄下

            配置

            我開始都覺得是不是要求太高,不過OpenSSH可以解決以上所有問題。話說回來,如果不能解決怎么可以把FTP埋葬呢。

            SSHD_CONFIG

            sshd通常是打開了sftp的,不過我們應該使用internal-sftp在sshd_conf中作如下配置:
             1 # Subsystem sftp /usr/lib/openssh/sftp-server # 注釋掉
             2 Subsystem sftp internal-sftp
             3 
             4 ##
             5 Match group sftponly
             6     ChrootDirectory /sftphome/%u
             7     X11Forwarding no
             8     AllowTcpForwarding no
             9     ForceCommand internal-sftp
            10 
            解釋一下:當sshd匹配到sftponly組中的用戶,就會強制使用sftp(ForceCommand的作用),并將用戶限定在/sftphome/下相應用戶的目錄下(ChrootDirectory的作用)。

            創建用戶

            我們需要創建相應的用戶了:

            #useradd -G sftponly -d /sftphome/sftpuser  -s /usr/sbin/nologin sftpuser
            #tail /etc/password

            sftpuser:x:
            1000:1000::/sftphome/sftpuser:/usr/sbin/nologin
            #passwd sftpuser
            你可以在其他機器上用sftp登錄試試了。你的連接將會被reset!去看看sshd的日志,你會發現pam.d的認證是通過了的,但是chroot失敗了。按網絡上的說法
            #chown root /sftphome/sftpuser
            #chmod 
            755 /sftphome/sftpuser
            再試,可以登錄。新的問題是不能在此目錄下寫入。對的嘛,755對于組用戶是不能寫啊。再試試775,剛才的問題就來又了,chroot失敗。

            以上內容網絡上一google一大把。

            可以登錄不能寫這個問題真讓人困惑!后來我想可能應該這樣理解:既然要chroot,那個目錄不屬于root肯定是不行的(說錯了,猛拍磚)。那我們就不能為用戶提供完整的sftp服務了嗎?我想可以這樣
            #mkdir /sftphome/sftpuser/space
            #chown sftpuser.sftpuser /sftphome/sftpuser/space
            由系統管理員為sftp用戶提供一個目錄,并設置其用戶屬性,用戶在這個目錄下用戶是可寫的。當然可以創建很多個。

            這樣算不算解決這個問題呢?暫且如此吧。如果您有好方法,一定告知哦。


            posted on 2009-12-02 21:04 五點半 閱讀(5382) 評論(3)  編輯 收藏 引用 所屬分類: 開發環境

            評論

            # re: OpenSSH下SFTP的配置 2010-09-03 01:50 Holden

            chown sftpuser.sftpuser /sftphome/sftpuser/space 應為
            chown sftpuser:sftponly /sftphome/sftpuser/space?  回復  更多評論   

            # re: OpenSSH下SFTP的配置 2010-09-03 08:54 lambdacpp

            @Holden
            應該都是可以的。
              回復  更多評論   

            # re: OpenSSH下SFTP的配置 2010-09-19 10:34 kangzj

            應該沒有啥好辦法了  回復  更多評論   

            亚洲国产精品高清久久久| 99久久国产综合精品五月天喷水 | 国产精品福利一区二区久久| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲精品乱码久久久久久| 久久99国产精品二区不卡| 亚洲精品国产综合久久一线| 亚洲国产另类久久久精品黑人 | 久久99精品久久久久久齐齐| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 国产精品久久久久久五月尺| 无码日韩人妻精品久久蜜桃| 国产女人aaa级久久久级| 无码人妻久久久一区二区三区| 国产视频久久| 亚洲av成人无码久久精品| 久久九九免费高清视频| 99精品久久精品一区二区| 亚洲国产精品无码久久青草| 久久综合久久综合九色| 麻豆亚洲AV永久无码精品久久| 亚洲国产婷婷香蕉久久久久久| 四虎国产精品免费久久久| 国内精品久久人妻互换| 色婷婷久久综合中文久久蜜桃av | 久久这里只精品国产99热| 色狠狠久久AV五月综合| 久久精品国产亚洲AV不卡| 久久久久国产一级毛片高清版| 久久妇女高潮几次MBA| 天天影视色香欲综合久久| 99久久婷婷国产综合精品草原| 久久狠狠高潮亚洲精品| 亚洲AV无码1区2区久久| 精品国产乱码久久久久软件| 亚洲国产日韩欧美久久| 伊人久久大香线蕉综合5g| 久久久久亚洲国产| 亚洲精品无码久久千人斩| 久久精品天天中文字幕人妻| 国产婷婷成人久久Av免费高清|