sftp取代ftp的之后的权限设置
一,openssh 版本要4.81以上
不是這個版本的話,要升級。
二,我們的客戶網(wǎng)站全部放在/home目錄下,建立網(wǎng)站目錄文件夾并且每個網(wǎng)站文件夾命令為www.a.com www.b.com
三,以2個網(wǎng)站例,首先添加2個普通用戶
[root@localhost ~]# useradd -d /www.a.com -s /sbin/nologin -M usera
[root@localhost ~]# passwd usera
解釋-d /www.a.com 這里一定是指用戶家目錄一定是在根目錄并且他的名稱和/home用戶的網(wǎng)站文件夾名一樣,這樣用戶第一次登陸SFTP可以定位到他的網(wǎng)站注目錄,-s /sbin/nologin 禁止用戶ssh登陸 -M 參數(shù)是不會在/根目錄創(chuàng)建www.a.com真實文件夾 usera為用戶名 passwd usera設置用戶密碼
[root@localhost ~]# useradd -d /www.b.com -s /sbin/nologin -M userb
[root@localhost ~]# passwd userb
四,配置sshd_config
[root@localhost ~]# vi /etc/ssh/sshd_config ?
# 將以下行注釋,更換成internal-sftp ?
# Subsystem sftp /usr/libexec/openssh/sftp-server ?
Subsystem sftp internal-sftp ?
# 添加以下行 ?
Match User usera,userb ?
ChrootDirectory /home ?
AllowTcpForwarding no ?
ForceCommand internal-sftp
五,配置目錄權限
[root@localhost ~]# chown root:root /home
[root@localhost ~]# chmod 0755 /home
目錄權限需要注意:
a. 由ChrootDirectory指定的目錄開始一直往上到系統(tǒng)根目錄為止的目錄擁有者都只能是root
b. 由ChrootDirectory指定的目錄開始一直往上到系統(tǒng)根目錄為止都不可以具有群組寫入權限
六,網(wǎng)站目錄文件夾權限重點哦
[root@localhost ~]# chmod o-x www.a.com www.b.com
[root@localhost ~]# chown -R usera.apache www.a.com
[root@localhost ~]# chown -R userb.apache www.b.com
drwxrwxrw- 4 usera ? apache ?4096 Oct 19 ?2012 www.a.com
drwxrwxrw- 4 userb ? apache ?4096 Jul ?9 02:23 www.b.com
解釋下 drwxrwxrw- 776權限 文件目錄 用戶可讀、寫、執(zhí)行,群組可讀、執(zhí)行你再加個寫也行,反正一定要有X權限,其他用戶 注意這里一定要去掉他所有權限 --- ?usera apache 注意哦 所屬用戶和組一定是該網(wǎng)站的用戶組就是提供web服務的組,是apache就寫這個是nginx 就寫nginx名稱不一定是這樣,到系統(tǒng)查看一下提供web服務的組是哪個 后面的參數(shù)不用解釋了吧 對了 usera,和userb一定不要加入到提供web服務的組,就是我們設置的網(wǎng)站文件目錄的組 (有點饒)
七,設置www.a.com sgid權限
[root@localhost ~]# chmod g+s -R www.a.com www.b.com
drwxr-s--- 4 usera ? apache ?4096 Oct 19 ?2012 www.a.com
drwxr-s--- 4 userb ? apache ?4096 Oct 19 ?2012 www.b.com
八,禁止客戶修改自身主目錄文件權限
為了防止客戶修改自身主目錄的文件,其他擁有者權限帶可讀、寫、執(zhí)行,因為客戶用FTP客戶端軟件連接進來他是可以修改自身文件權限,但是不能修改別人的文件權限
比如這樣了
drwxrwsrwx 4 usera ? ?apache 4096 Oct 19 ?2012 www.a.com 即777最高權限
這樣的話那么其他用戶登陸進來是可以進入他的目錄并且可以寫入文件和下載,刪除等操作
解決方案是利用chattr命令 禁止用戶更改該文件夾權限,
[root@localhost ~]# chattr +i ?www.a.com ?這樣就行了,對了即使root用戶也無法更改該文件權限了,并且 www.a.com 目錄下是無法寫入和刪除文件
所以我們在執(zhí)行上一條命令之前最好是在www.a.com目錄里面新建一個目錄 比如
[root@localhost ~]# mkdir /home/www.a.com/web 這樣的話我們可以上傳文件到www.a.com目錄下的web目錄里面。并且把web目錄作為網(wǎng)站的根目錄
解除鎖定文件權限修改方法
[root@localhost ~]# chattr -i
九,成功
這樣你用usera或者userb登陸sftp ,以usera為例子,第一次他首先是進入他自己的/home/www.a.com目錄,你可以在該目錄里面刪除、下載、上傳、編輯文件等所有操作。你還可以向上翻,可以翻到他的上級目錄/home里。那你就可以看到/home里面有www.a.com,www.b.com兩個文件夾對沒錯,你不但看到了自己網(wǎng)站本身目錄還看到了userb的網(wǎng)站目錄,但是你無法進入到他的目錄里面。也無法下載該目錄到。更加無法刪除,上傳、編輯文件。反之,userb用戶登陸進去也是跟usera一樣的命運,這樣后續(xù)的添加用戶操作亦是如此。
十,配置好了然后重啟sshd服務或者加載他的配置
service sshd reload/restart (加載配置/重啟服務)
/etc/init.d/sshd reload/restart 上面的命令無法請試用這條命令
十一,其他設置
進入www.a.com目錄新建logs和web文件夾用于放至日志和網(wǎng)站文件,另外自己可以一個文本文件用于給用戶閱讀的相關幫助信息,為了防止
用戶刪除可以執(zhí)行chattr +i . 命令
轉載于:https://blog.51cto.com/webjin/1271660
總結
以上是生活随笔為你收集整理的sftp取代ftp的之后的权限设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 中的 Service 全
- 下一篇: 企业过快移向MBaaS很危险