java执行shell命令权限不够_Shell脚本获得超级用户权限而不作为sudo运行

这是预期的行为吗?

是的,确实这是一种预期的行为 . 用户对sudo的缓存凭据负责 .

可配置吗?

是的,它是可配置的 .

我认为您的安全问题是有效的 . 如果脚本是使用显式 sudo 命令编写的,则在之前运行 sudo 命令的终端(在某个超时内)运行 script.sh 将为脚本提供超级用户权限 .

通过运行sudo,可以避免任何脚本在以sudo身份运行时不提示输入密码:

sudo -k script.sh

无论以前的sudo命令或会话如何,它都会要求输入密码 .

并且运行script.sh而不使用sudo,即只使用script.sh并仍然提示输入sudo命令的密码:

You can change the timeout value (the duration sudo maintains the session) permanently:

跑 sudo visudo

然后换行:

Defaults env_reset

Defaults env_reset,timestamp_timeout=0

保存并退出(ctrl X然后Y)

这将确保sudo每次运行时都要求输入密码 .

Or If you don't want to change it permanently and want your script to prompt for password at least once (while maintaining a session), then you can change your script like this:

sudo -k first-command-with-sudo

sudo second-command

sudo third

and so on

无论以前的sudo命令或会话如何,此脚本都将至少提示输入一次密码 .

In case you are unaware of (or don't have access to) the content of the script script.sh (it can have sudo commands inside it or not)

并且您希望确保任何sudo命令肯定会提示输入密码至少一次,然后在运行脚本之前运行 sudo -K (大写K) .

现在如果你运行 script.sh 并且它包含一个sudo命令,它肯定会提示输入密码 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值