Linux设置SFTP服务用户目录权限
我們有時會遇到這樣的需求,限制一個Linux用戶,讓他只能在指定的目錄下進(jìn)行添加、修改、刪除操作,并且只能使用sftp登錄服務(wù)器,不能用ssh操作。這些可以通過配置sftp服務(wù)實現(xiàn)。
提供sftp服務(wù)的有vsftpd和internal-sftp,這里用的是系統(tǒng)自帶的internal-sftp,操作步驟如下:
1.創(chuàng)建新用戶ui,禁止ssh登錄,不創(chuàng)建家目錄
useradd -s /sbin/nologin -M www2.設(shè)置用戶密碼
passwd www3.創(chuàng)建用戶的根目錄,用戶就只能在此目錄下活動
mkdir /home/www4.設(shè)置目錄權(quán)限,目錄的權(quán)限設(shè)定有兩個要點:
目錄開始一直往上到系統(tǒng)根目錄為止的目錄擁有者都只能是root
目錄開始一直往上到系統(tǒng)根目錄為止都不可以具有群組寫入權(quán)限
5.配置sshd_config
vim /etc/ssh/sshd_config6.修改為下面內(nèi)容,保存退出
#注釋掉這行 #Subsystem sftp /usr/libexec/openssh/sftp-server #添加在配置文件末尾 Subsystem sftp internal-sftp #指定使用sftp服務(wù)使用系統(tǒng)自帶的internal-sftp Match User www #匹配用戶,如果要匹配多個組,多個組之間用逗號分割 ChrootDirectory /home/www #用chroot將指定用戶的根目錄,chroot的含義:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/ ForceCommand internal-sftp #指定sftp命令 X11Forwarding no #這兩行,如果不希望該用戶能使用端口轉(zhuǎn)發(fā)的話就加上,否則刪掉 AllowTcpForwarding no7.重啟sshd服務(wù)
service sshd restart8.測試:
用戶登錄后進(jìn)入的是/home/www即用戶根目錄,根目錄是無法寫入的,所以先用root在/home/www新建一個ui目錄
修改目錄所有者和權(quán)限
chown ui:ui /home/www/ui chmod 777 /home/www/ui #可以在其他目錄創(chuàng)建軟連接指向ui目錄 #ln -s /home/www/ui /www/sftp登錄www用戶,進(jìn)入ui目錄,即可在/home/www/ui下,對文件進(jìn)行添加、修改、刪除的操作
sftp -oPort=22 ui@123.56.18.72 sftp> cd ui?
?
查看更多:
開發(fā)一個微信小程序?qū)嵗坛?/p>
HTTP協(xié)議整理
PHP安全之Web攻擊
秒殺系統(tǒng)設(shè)計優(yōu)化
MySQL優(yōu)化
Linux下常見的IO模型
轉(zhuǎn)載于:https://www.cnblogs.com/quanzhiguo/p/7157496.html
總結(jié)
以上是生活随笔為你收集整理的Linux设置SFTP服务用户目录权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bazel构建工具的安装
- 下一篇: Linux 查看网卡流量【转】