前言
在工作或者學習的時候,我們常常會遇到這樣的需求,限制一個Linux用戶,讓他只能在指定的目錄下進行添加、修改、刪除操作,并且只能使用sftp登錄服務器,不能用ssh操作。這些可以通過配置sftp服務實現。
方法如下
提供sftp服務的有vsftpd和internal-sftp,這里用的是系統自帶的internal-sftp,操作步驟如下:
1.創建新用戶ui,禁止ssh登錄,不創建家目錄
useradd -s /sbin/nologin -M www
2.設置用戶密碼
passwd www
3.創建用戶的根目錄,用戶就只能在此目錄下活動
mkdir /home/www
4.設置目錄權限,目錄的權限設定有兩個要點:
目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root
目錄開始一直往上到系統根目錄為止都不可以具有群組寫入權限
chown root:root /home/wwwchmod 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-sftpMatch 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服務
service sshd restart
8.測試:
用戶登錄后進入的是/home/www即用戶根目錄,根目錄是無法寫入的,所以先用root在/home/www新建一個ui目錄
mkdir /home/www/ui
修改目錄所有者和權限
chown ui:ui /home/www/uichmod 777 /home/www/ui#可以在其他目錄創建軟連接指向ui目錄#ln -s /home/www/ui /www/
sftp登錄www用戶,進入ui目錄,即可在/home/www/ui下,對文件進行添加、修改、刪除的操作
sftp -oPort=22 [email protected]> cd ui
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答