sftp 多用戶,多目錄不同權限設置


#!/bin/bash

 

##創建用戶,-g 用戶組; -d 指定家目錄; -s 不登陸; -M 不創建家目錄

useradd u_zyjr -d/data/u_zyjr -s /sbin/nologin

useradd u_jtsw -d/data/u_jtsw -s /sbin/nologin

useradd u_dyls -d/data/u_dyls -s /sbin/nologin

 

##創建總賬戶,可以查看其它用戶目錄

useradd u_boc -d/data/u_boc -s /sbin/nologin

 

##創建各用戶家目錄目

mkdir -p /data/{u_zyjr,u_jtsw,u_dyls}

sleep 2

##創建各用戶的家目錄下上傳下載目錄

mkdir -p/data/u_zyjr/{upload,download}

mkdir -p/data/u_jtsw/{upload,download}

mkdir -p/data/u_dyls/{upload,download}

 

##設置用戶私人目錄的所屬人

chown -R u_zyjr:u_zyjr/data/u_zyjr/*

chown -R u_jtsw:u_jtsw/data/u_jtsw/*

chown -R u_dyls:u_dyls/data/u_dyls/*

 

#設置其它非組成員不可訪問,770

chmod -R 770/data/u_zyjr/*

chmod -R 770/data/u_jtsw/*

chmod -R 770/data/u_dyls/*

 

##把用戶u_boc添加到上述用戶組,以便可以訪問其所有目錄。

usermod -G u_zyjr,u_jtsw,u_dylsc u_boc

 

##分別給用戶創建密碼

passwd u_zyjr

passwd u_jtsw

passwd u_dylsc

passwd u_boc

 

##配置文件/etc/ssh/sshd_config更改及添加如下

 #Subsystem sftp /usr/lib/openssh/sftp-server   注釋掉

Subsystem       sftp    internal-sftp

#Match Group u_boc   ---這里都可以更改為Group 組控制

Match u u_boc

ChrootDirectory /data     

 

Match User u_zyjr

ChrootDirectory /data/u_zyjr

 

Match User u_jtsw

ChrootDirectory /data/u_jtsw

 

Match User  u_dyls

ChrootDirectory /data/u_dyls

 

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

 

 

###注意事項

Match Group sftp                         # 這一行是指定以下的子行配置是匹配 sftp 用戶組的。Match user userA,userB 則是匹配用戶。
ChrootDirectory /data/sftp/%u     # 設定屬於用戶組 sftp 的用戶訪問的根文件夾。%h 代表用戶 home 目錄,%u 代表用戶名。
ForceCommand internal-sftp      # 該行強制執行內部 sftp,並忽略任何 ~/.ssh/rc 文件中的命令。
AllowTcpForwarding no              # 是否允許 TCP 轉發,默認值為 "yes", 禁止 TCP 轉發並不能增強安全性,除非禁止了用戶對 shell 的訪問,因為用戶可以安裝他們自己的轉發器。
X11Forwarding no                      # 是否允許進行 X11 轉發。默認值是 "no",設為 "yes" 表示允許。如果允許 X11 轉發並且 sshd(8)代理的顯示區被配置為在含有通配符的地址(X11UseLocalhost)上監聽。那么將可能有額外的信息被泄漏。由於使用 X11 轉發的可能帶來的風險,此指令默認值為"no"。需要注意的是,禁止 X11 轉發並不能禁止用戶轉發 X11 通信,因為用戶可以安裝他們自己的轉發器。


ChrootDirectory 設置的目錄權限及其所有的上級文件夾權限,屬主和屬組必須是 root;
ChrootDirectory 設置的目錄權限及其所有的上級文件夾權限,只有屬主能擁有寫權限,權限最大設置只能是 755。

 

####測試

1)linux 命令測試

 

 2)

使用windows客戶端winscp測試:c 登陸后以下圖所示,登陸后的目錄定位到了指定的目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM