我创建了一个rbash用户(受限用户) vega,并为以下命令创建了软链接: awk、ls、free、top等。我试图运行一个脚本,用于资源利用和一些命令使用awk。
如果我通过admin运行以下命令,就能够得到结果:
admin@VD1-21-2-1:/home/vega$ free -m |grep Mem |awk '{print $3/$2 * 100.0}'
16.4827
admin@VD1-21-2-1:/home/vega$ top -b -n 1 -d1 |grep "Cpu(s)"| awk -F' ' '{print $2}'|awk -F' ' '{print $1}'
0.3
当我通过我创建的受限用户执行它们时,我会得到以下错误:
vega@VD1-21-2-1:~$ free -m |grep Mem |awk '{print $3/$2 * 100.0}'
-su: /usr/bin/awk: Permission denied
vega@VD1-21-2-1:~$ top -b -n 1 -d1 |grep "Cpu(s)"| awk -F' ' '{print $2}'|awk -F' ' '{print $1}'
-su: /usr/bin/awk: Permission denied
-su: /usr/bin/awk: Permission denied
我在下面的软链接中使用了以下命令:
sudo ln -s /bin/ls /home/vega/bin
sudo ln -s /bin/top /home/vega/bin
sudo ln -s /bin/free /home/vega/bin
sudo ln -s /bin/awk /home/vega/bin
sudo ln -s /bin/ssh /home/vega/bin
如何解决此权限被拒绝的错误,并且命令应该给出正确的输出。
回答@terdon:嗨,我试过你的步骤,下面是:
vega@VD1-21-2-1:~$ echo $PATH /home/vega/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
without sudo it is not working:
admin@VD1-21-2-1:/home/vega$ ln -s /bin/ls /home/vega/bin ln: failed to create symbolic link '/home/vega/bin/ls': Permission denied
还通过root进行了尝试:
root@VD1-21-2-1:~# ln -s /bin/ls /home/vega/bin ln: failed to create symbolic link '/home/vega/bin/ls': File exists
简单地说,我想要一个受限的用户访问我所有的命令,没有任何问题?
发布于 2022-11-04 08:21:45
awk不在/bin中,它在/usr/bin中。所以你需要的命令是
sudo ln -fs /usr/bin/awk /home/vega/bin
-f标志将强制替换链接,考虑到您已经拥有无效的软链接,您可能需要替换该链接。
您可以使用以下方法检查任何可执行文件的位置:
which awk
这会告诉你它的位置。
请注意ssh也在/usr/bin中。
https://askubuntu.com/questions/1438877
复制相似问题