以下失败:
sudo -u chris ls /root
ls: cannot open directory '/root': Permission denied
Run Code Online (Sandbox Code Playgroud)
虽然以下成功:
sudo ls /root
...
Run Code Online (Sandbox Code Playgroud)
我不理解为什么。我假设除了具有 root 权限之外,还-u只是将$USER/running 用户更改为提供的参数。这种行为背后的原因是什么?
Ste*_*itt 23
sudo -u chris以 user 身份运行给定的命令chris,而不是以 root 身份并USER设置为chris。因此,如果chris无法访问/root,sudo -u chris则不会更改。
见man sudo:
-u 用户, --user =用户
以默认目标用户(通常是root)以外的用户身份运行命令。
sudo不是专门的“以 root 身份运行”工具;它是一个“以其他用户或组身份运行”的工具。
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |