咱們有時會遇到這樣的需求,限制一個Linux用戶,讓他只能在指定的目錄下進行添加、修改、刪除操做,而且只能使用sftp登陸服務器,不能用ssh操做。這些能夠經過配置sftp服務實現。html
提供sftp服務的有vsftpd和internal-sftp,這裏用的是系統自帶的internal-sftp,操做步驟以下:linux
1.建立新用戶ui,禁止ssh登陸,不建立家目錄小程序
useradd -s /sbin/nologin -M www
2.設置用戶密碼vim
passwd www
3.建立用戶的根目錄,用戶就只能在此目錄下活動微信小程序
mkdir /home/www
4.設置目錄權限,目錄的權限設定有兩個要點:
目錄開始一直往上到系統根目錄爲止的目錄擁有者都只能是root
目錄開始一直往上到系統根目錄爲止都不能夠具備羣組寫入權限安全
chown root:root /home/www chmod 755 /home/www
5.配置sshd_config服務器
vim /etc/ssh/sshd_config
6.修改成下面內容,保存退出微信
#註釋掉這行 #Subsystem sftp /usr/libexec/openssh/sftp-server #添加在配置文件末尾 Subsystem sftp internal-sftp #指定使用sftp服務使用系統自帶的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 #這兩行,若是不但願該用戶能使用端口轉發的話就加上,不然刪掉 AllowTcpForwarding no
7.重啓sshd服務ssh
service sshd restart
8.測試:
用戶登陸後進入的是/home/www即用戶根目錄,根目錄是沒法寫入的,因此先用root在/home/www新建一個ui目錄post
mkdir /home/www/ui
修改目錄全部者和權限
chown ui:ui /home/www/ui chmod 777 /home/www/ui #能夠在其餘目錄建立軟鏈接指向ui目錄 #ln -s /home/www/ui /www/
sftp登陸www用戶,進入ui目錄,便可在/home/www/ui下,對文件進行添加、修改、刪除的操做
sftp -oPort=22 ui@123.56.18.72
sftp> cd ui
查看更多:
開發一個微信小程序實例教程
HTTP協議整理
PHP安全之Web攻擊
秒殺系統設計優化
MySQL優化
Linux下常見的IO模型