SFTP多用户权限 linux环境 一站式解决方案
生活随笔
收集整理的這篇文章主要介紹了
SFTP多用户权限 linux环境 一站式解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、方案1
- 1. 創建用戶組
- 2. 添加用戶并設置為sftp組
- 3. 設置用戶密碼
- 4. 創建用戶目錄。并設置權限
- 5. 修改SSH配置
- 6. 在/etc/ssh/sshd_config添加用戶組配置
- 7. 最后重啟SSH
- 二、方案2(推薦)
- 2.1. 創建用戶組
- 2.2. 添加用戶并設置為sftp組
- 2.3. 設置用戶密碼
- 2.4. 創建用戶目錄。并設置權限
- 2.5. 修改SSH配置
- 2.6. 在/etc/ssh/sshd_config添加用戶組配置
- 7.最后重啟SSH
linux 文件服務器需要創建多個sftp用戶,每個用戶分別給予各個廠商,用戶之間無權限操作對方目錄的權限。
例如:sftp1用戶無法操作sftp2用戶的目錄以及下面的數據文件,相反,一樣!
一、方案1
基于sftp組,每個用戶之間無操作對方目錄以及文件的權限,但是,雙方用戶目錄可見。
例如:sftp1用戶可以看到sftp2用戶的操作目錄,只是無權限訪問
1. 創建用戶組
groupadd sftp2. 添加用戶并設置為sftp組
useradd -g sftp -s /sbin/nologin -M sftp1 useradd -g sftp -s /sbin/nologin -M sftp2注:(/sbin/nologin為禁止登錄shell的用戶)3. 設置用戶密碼
passwd sftp1 passwd sftp24. 創建用戶目錄。并設置權限
mkdir -pv /home/sftp/sftp1 mkdir -pv /home/sftp/sftp2chown sftp1:sftp /home/sftp/sftp1 chown sftp2:sftp /home/sftp/sftp2chmod 700 /home/sftp/sftp1 chmod 700 /home/sftp/sftp2usermod -d /home/sftp/sftp1 sftp1 usermod -d /home/sftp/sftp2 sftp25. 修改SSH配置
先備份配置文件 cp -avi /etc/ssh/sshd_config /etc/ssh/sshd_config_bakvim /etc/ssh/sshd_config 找到關鍵詞 Subsystem 將 Subsystem sftp /usr/libexec/openssh/sftp-server 修改為 Subsystem sftp internal-sftp6. 在/etc/ssh/sshd_config添加用戶組配置
Match Group sftp #限制的用戶組 X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /home/sftp #所有sftp用戶的根目錄,也就是sftp組的根目錄7. 最后重啟SSH
service sshd restart二、方案2(推薦)
基于sftp用戶,每個用戶之間操作目錄不可見,無操作對方目錄以及文件的權限。
例如:sftp1用戶看不到sftp2用戶的操作目錄,也無權限操作對方的目錄以及數據文件。
2.1. 創建用戶組
groupadd sftp2.2. 添加用戶并設置為sftp組
useradd -g sftp -s /sbin/nologin -M sftp1 useradd -g sftp -s /sbin/nologin -M sftp2注:(/sbin/nologin為禁止登錄shell的用戶)2.3. 設置用戶密碼
passwd sftp1 passwd sftp22.4. 創建用戶目錄。并設置權限
mkdir -pv /home/sftp/sftp1 mkdir -pv /home/sftp/sftp2chown root:root /home/sftp/sftp1 chown root:root /home/sftp/sftp2mkdir /home/sftp/sftp1/send mkdir /home/sftp/sftp2/sendchown sftp1.sftp /home/sftp/sftp1/send chmod 775 /home/sftp/sftp1/sendchown sftp2.sftp /home/sftp/sftp2/send chmod 775 /home/sftp/sftp2/send2.5. 修改SSH配置
先備份配置文件 cp -avi /etc/ssh/sshd_config /etc/ssh/sshd_config_bakvim /etc/ssh/sshd_config 找到關鍵詞 Subsystem 將 Subsystem sftp /usr/libexec/openssh/sftp-server 修改為 Subsystem sftp internal-sftp2.6. 在/etc/ssh/sshd_config添加用戶組配置
#sftp1用戶配置 Match User sftp1 ChrootDirectory /home/sftp/sftp1 #sftp1用戶登錄的根目錄 AllowTcpForwarding no X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp#sftp2用戶配置 Match User sftp2 ChrootDirectory /home/sftp/sftp2 #sftp2用戶登錄的根目錄 AllowTcpForwarding no X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp7.最后重啟SSH
service sshd restart總結
以上是生活随笔為你收集整理的SFTP多用户权限 linux环境 一站式解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Springboot全局异常统一处理返回
- 下一篇: linux 环境搭建 Sentinel