考虑下面的这个sudo命令
sudo -iu bigadmin
bigadmin是一个普通用户,所有用户都可以使用特权访问权限。 现在的问题是像我提到的共享用户。所以任何类型的配置文件定制都不会起作用。
我想要做的是我建立的会话 - 我想运行一个包含所有变量的脚本。所以当我sudo它应该做这些事情
sudo -iu bigadmin ; . ./mycustomshell.sh
这是如何做得最好的。
答案 0 :(得分:3)
首先,确保导出mycustomshell.sh
中的所有变量。然后,首先获取它,然后运行sudo -iu bigadmin
,以便sudo
启动的shell继承mycustomshell
导出的变量。
另一个选择是调用bash
作为
sudo -iu bigadmin bash --rcfile mycustomshell.sh
但是,这会导致bash
忽略.bashrc
,因此您可能希望在.bashrc
的开头明确地提取mycustomershell.sh
以进行补偿。
答案 1 :(得分:1)
这个 bash 命令对 shell 脚本很有用。它运行作为参数给出的 sudo 密码,并在给定文件的末尾添加一行。
echo $password | echo 'net.ipv4.ping_group_range=0 2147483647' | sudo -S tee -a /etc/sysctl.conf