Linux下通過受限bash建立指定許可權的賬號

2021-09-07 15:55:49 字數 2931 閱讀 9649

在日常業務運維中,有時為了配合解決問題,需要給非運維人員開通系統賬號,用於查詢日誌或**。通常為了系統安全或避免不必要的誤操作等目的,會將賬號許可權降至最低。下面介紹下在linux下通過受限bash建立指定許可權賬號的操作記錄:

[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 //複製下面的內容覆蓋原內容

# .bash_profile

# get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrcfi

# user specific environment and startup programs

path=$home/bin

export path

[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

如上設定後,可以發現建立的wangshibo使用者家目錄下的檔案許可權是root.root

,上面只設定了wangshibo使用者的cat許可權,並且只能cat檢視wangshibo使用者家目錄/home/wangshibo下的檔案。除了cat命令外。不能執行其他命令!

[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

如果要想在其家目錄下有其他命令的執行權,那麼需要新增這些命令的軟鏈結到/home/wangshibo/bin目錄下(可以通過which命令檢視二進位制命令的全路徑)

[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使用者就擁有了上面加入的命令的執行權

[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

Linux下通過受限bash建立指定許可權的賬號

在日常業務運維中,有時為了配合解決問題,需要給非運維人員開通系統賬號,用於查詢日誌或 通常為了系統安全或避免不必要的誤操作等目的,會將賬號許可權降至最低。下面介紹下在linux下通過受限bash建立指定許可權賬號的操作記錄 root mq server ln s bin bash bin rbash...

linux下bash萬用字元介紹

linux下bash的萬用字元介紹 在bash shell環境下,我們可用萬用字元來簡化命令輸入。匹配任意單個字元。匹配任意字串。set 匹配set中的任意字元。set 是取反操作,匹配不在set中的任意字元,如 a z 匹配所有小寫字元 0 9 匹配所有數字 akz 匹配a,k,z三個字元 匹配句...

Linux下bash配置及執行順序

1 bash history 記錄了使用者以前輸入的命令,2 bash login 如果 bash profile找不到,則bash嘗試讀取這個指令碼 3 bash logout 當使用者退出 shell 時,要執行的命令,4 bash profile 當使用者登入 shell 時,要執行的命令,5...