yoo*_*oon 3 linux sudo bash environment-variables
我为 sudo 设置了一个别名:
alias sudo='sudo PATH=$MY_PATH'
Run Code Online (Sandbox Code Playgroud)
我通过运行检查这是否运行良好sudo printenv PATH。
但是,我在运行时遇到错误sudo su - USER2。
sudo:抱歉,您不能设置以下环境变量:PATH
我可以通过运行找到解决方法sudo -i su - USER2,但我想知道为什么会出现此错误。
我提到了https://www.sudo.ws/man/1.8.28/sudoers.man.html#Denied_command_log_entries但无法得到原因。
抱歉,您不能设置以下环境变量
用户在命令行上指定了 sudoers 不允许的环境变量。
为什么仅在使用命令时 sudoers 才会拒绝 PATH su?
任何链接或评论表示赞赏。
小智 5
您甚至可以在 sudoers 文件中解决此问题。
我需要执行命令
sudo ACCEPT_EULA=Y apt install -y msodbcsql18 mssql-tools18
Run Code Online (Sandbox Code Playgroud)
我通过将其设置为 sudoers.d/file 解决了这个问题
byznys_mail_sender ALL=NOPASSWD:SETENV: /usr/bin/apt install -y msodbcsql18 mssql-tools18
Run Code Online (Sandbox Code Playgroud)
SETENV 是实现这一点的关键。它允许用户修改环境。https://www.sudo.ws/docs/man/1.8.32/sudoers.man/#SETENV
| 归档时间: |
|
| 查看次数: |
5241 次 |
| 最近记录: |