背景:在vcenter6.5中創(chuàng)建兩個(gè)虛擬機(jī),如下圖,
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
目的:創(chuàng)建一名用戶同時(shí)能夠?qū)崿F(xiàn)chroot來限制ssh及sftp至指定目錄,可以實(shí)現(xiàn)系統(tǒng)安全。
其中,我們將在pool-test(ip:172.16.6.11)中進(jìn)行配置,用vsan-test1(ip:172.16.6.10)用來測試。
接下來開始在pool-test中開始進(jìn)行配置ssh
首先,建立一個(gè)指定目錄
mkdir /home/share_conext
列出指定目錄必須包含支持用戶會話所必需的文件和目錄
ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
用 mknod 命令創(chuàng)建 /dev 下的文件。-m 標(biāo)志用來指定文件權(quán)限位,c意思是字符文件,兩個(gè)數(shù)字分別是文件指向的主要號和次要號
mkdir -p /home/share_conext/dev/ cd /home/share_conext/dev/ mknod -m 666 null c 1 3 mknod -m 666 tty c 5 0 mknod -m 666 zero c 1 5 mknod -m 666 random c 1 8 ls
在 chroot 監(jiān)獄中設(shè)置合適的權(quán)限。注意 chroot 監(jiān)獄和它的子目錄以及子文件必須被 root 用戶所有,并且對普通用戶或用戶組不可寫:
chown root:root /home/share_conext/ chmod 755 /home/share_conext/
為SSH設(shè)置交互式shell
mkdir -p /home/share_conext/bin cp -v /bin/bash /home/share_conext/bin/
mkdir -p /home/share_conext/lib64 ldd /bin/bash
將識別出的共享庫復(fù)制到lib64目錄下方
cp -v /lib64/libtinfo.so.5 /lib64/libdl.so.2 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 /share_conext/lib64
創(chuàng)建并配置sshuser用戶并設(shè)置安全密碼
useradd sshuser passwd sshuser
mkdir /home/share_conext/etc cp -vf /etc/{group,passwd} /home/share_conext/etc/
注:若添加更多用戶,則需要再次執(zhí)行上步操作。
配置ssh使用chroot
vi /etc/ssh/sshd_config
在文件中修改 Match User sshuser,及指定目錄 ChrootDirectory /home/share_context/
并保存退出
重啟sshd.service
systemctl restart sshd.service
在vsan-test1中進(jìn)行測試
ssh sshuser@172.16.6.11
可以看到當(dāng)前目錄已經(jīng)是“根目錄”了。
接下來開始在pool-test中配置sftp
vi /etc/ssh/sshd_config
在文件中添加
# 找到如下行,并注釋掉 Subsystem sftp /usr/libexec/openssh/sftp-server # 添加如下幾行 Subsystem sftp internal-sftp #指定使用sftp服務(wù)使用系統(tǒng)自帶的internal-sftp Match Group sshuser #之前默認(rèn)創(chuàng)建的組 ForceCommand internal-sftp #指定sftp命令
然后,重啟sshd服務(wù)
service restart sshd.service
重啟完畢后用戶sshuser就可以正常通過sftp客戶端登錄了。
但是因?yàn)?home/share_conext都屬于root用戶組,所以無寫權(quán)限。進(jìn)行如下處理:
在/home/share_conext目錄下創(chuàng)建上傳目錄,并修改目錄權(quán)限控制
mkdir /home/share_conext/write/ chown sshuser:sshuser /home/share_conext/write chmod 777 /home/share_conext/write
至此,可以使用sftp登錄,并能夠進(jìn)行上傳文件或者下載文件。
在vsan-test1中驗(yàn)證
sftp sshuser@172.16.6.11
驗(yàn)證下載功能
在pool-test中的/home/share_conext/write/下生成兩個(gè)文件
vi /home/share_conext/write/helloworld.py vi /home/share_conext/write/hehe.txt ls /home/share_conext/write/
切換到vsan-test中
get write/helloworld.py /home/ #指定文件存儲的目錄
查看
驗(yàn)證上傳功能
在剛才的/home/中創(chuàng)建startd.py
重新連接
sftp sshuser@172.16.6.11 put /home/startd.py /write/ # 因?yàn)榇藭r(shí)的根目錄是share_conext/ ,所以可以直接寫成/write/
切換到pool-test虛擬機(jī)中查看剛才上傳的文件
至此已經(jīng)全部配置完畢了!
注:部分內(nèi)容參考鏈接http://blog.csdn.net/akeyile2010/article/details/50751834、http://blog.sina.com.cn/s/blog_67e34ceb01013m3v.html、http://jingyan.baidu.com/article/fa4125acf068c328ac7092d8.html