配置ssh修改登錄用戶根目錄


如果我們需要給某個用戶提供訪問權限,但是又不想讓他看所有的資源,可以通過配置ssh,修改登錄用戶的根目錄。

 

1、這里建一個測試賬號test

ubuntu@localhost:~$ tail -n 1 /etc/passwd
test:x:1001:1001:,,,:/home/test:/bin/bash
ubuntu@localhost:~$ ls -l /home/
total 8
drwxr-xr-x  4 test   test   4096 Feb 19 15:53 test
drwxr-xr-x 10 ubuntu ubuntu 4096 Feb 19 16:07 ubuntu

 

2、在test目錄下創建一個jail目錄,用作test用戶登陸的根目錄,然后搭建一個chroot環境,為了方便,這里將根目錄綁定到jail目錄

ubuntu@localhost:~$ sudo mount --bind / /home/test/jail
ubuntu@localhost:~$ ls /home/test/jail/
bin  boot  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old
ubuntu@localhost:~$

 

3、修改jail路徑上的目錄的所有者為root:root,這里test到原所有者是test

ubuntu@localhost:~$ ls -l /home
total 8
drwxr-xr-x  4 test   test   4096 Feb 19 15:53 test
drwxr-xr-x 10 ubuntu ubuntu 4096 Feb 19 16:07 ubuntu
ubuntu@localhost:~$ sudo chown root:root /home/test
ubuntu@localhost:~$ ls -l /home
total 8
drwxr-xr-x  4 root   root   4096 Feb 19 15:53 test
drwxr-xr-x 10 ubuntu ubuntu 4096 Feb 19 16:07 ubuntu

 

4、修改sshd配置文件,在/etc/ssh/sshd_config末尾加上下面語句

Match User test
    ChrootDirectory %h/jail

 

5、重啟sshd服務,使用test賬戶連接,可以看到,新的根目錄的proc沒有掛載proc系統

test@localhost:~$ ls /
bin  boot  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old
test@localhost:~$ ls /proc/

 


免責聲明!

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



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