本文研究的主要是在Linux下通過受限bash創(chuàng)建指定權(quán)限的賬號的相關(guān)內(nèi)容,具體介紹如下。
在日常業(yè)務(wù)運(yùn)維中,有時(shí)為了配合解決問題,需要給非運(yùn)維人員開通系統(tǒng)賬號,用于查詢?nèi)罩净虼a。通常為了系統(tǒng)安全或避免不必要的誤操作等目的,會將賬號權(quán)限降至最低。下面介紹下在Linux下通過受限bash創(chuàng)建指定權(quán)限賬號的操作記錄:
[root@mq-server ~]# ln -s /bin/bash /bin/rbash
[root@mq-server ~]# useradd -s /bin/rbash wangshibo
[root@mq-server ~]# passwd wangshibo
[root@mq-server ~]# mkdir /home/wangshibo/bin
[root@mq-server ~]# chown root. /home/wangshibo/.bash_profile
[root@mq-server ~]# chmod 755 /home/wangshibo/.bash_profile
[root@mq-server ~]# vim /home/wangshibo/.bash_profile //復(fù)制下面的內(nèi)容覆蓋原內(nèi)容
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$HOME/bin
export PATHbr data-filtered="filtered">
[root@mq-server ~]# ln -s /bin/cat /home/wangshibo/bin/cat
[root@mq-server ~]# ll /home/wangshibo/
total 4
drwxr-xr-x 2 root root 4096 Nov 25 23:38 bin
[root@mq-server ~]# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat
如上設(shè)置后,可以發(fā)現(xiàn)創(chuàng)建的wangshibo用戶家目錄下的文件權(quán)限是root.root,上面只設(shè)置了wangshibo用戶的cat權(quán)限,并且只能cat查看wangshibo用戶家目錄/home/wangshibo下的文件。除了cat命令外。不能執(zhí)行其他命令!
[wangshibo@mq-server ~]$ cat /var/log/messages
cat: /var/log/messages: Permission denied
[wangshibo@mq-server ~]$ ls
-rbash: /home/wangshibo/bin/ls: No such file or directory
[wangshibo@mq-server ~]$ touch test
-rbash: /home/wangshibo/bin/touch: No such file or directory
如果要想在其家目錄下有其他命令的執(zhí)行權(quán),那么需要添加這些命令的軟鏈接到/home/wangshibo/bin目錄下(可以通過which命令查看二進(jìn)制命令的全路徑)
[root@mq-server ~]# ln -s /bin/ls /home/wangshibo/bin
[root@mq-server ~]# ln -s /bin/touch /home/wangshibo/bin
[root@mq-server ~]# ln -s /bin/mkdir /home/wangshibo/bin
[root@mq-server ~]# ln -s /usr/bin/vim /home/wangshibo/bin/
[root@mq-server ~]# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat
lrwxrwxrwx 1 root root 7 Nov 25 23:44 ls -> /bin/ls
lrwxrwxrwx 1 root root 10 Nov 25 23:45 mkdir -> /bin/mkdir
lrwxrwxrwx 1 root root 10 Nov 25 23:44 touch -> /bin/touch
lrwxrwxrwx 1 root root 12 Nov 25 23:45 vim -> /usr/bin/vim
這樣,wangshibo用戶就擁有了上面加入的命令的執(zhí)行權(quán)
[root@mq-server ~]# su - wangshibo
[wangshibo@mq-server ~]$ ls
bin
[wangshibo@mq-server ~]$ touch test
[wangshibo@mq-server ~]$ mkdir ops
[wangshibo@mq-server ~]$ vim test
[wangshibo@mq-server ~]$ cat test
dsfdsafsadf
[wangshibo@mq-server ~]$ rm -f test
-rbash: rm: command not found
[wangshibo@mq-server ~]$ ls /usr/
bin etc games include lib lib64 libexec local sbin share src tmp
[wangshibo@mq-server ~]$ cat /var/log/messages
cat: /var/log/messages: Permission denied
以上就是腳本之家分享給大家的關(guān)于Linux下通過受限bash創(chuàng)建指定權(quán)限的賬號代碼詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!