usermod
通过 sudo 命令成功。
sudo usermod -aG some_group some_user
Run Code Online (Sandbox Code Playgroud)
但是如果通过su来执行的话,就会出现错误。
su
...I enter root password...
usermod -aG some_group some_user
bash: usermod: command not found
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
如何配置我的系统?
事实上,我有一个无法更改的脚本。该脚本使用 su 下的 usermod 命令。
您需要$PATH
的设置root
。这没有问题,sudo
因为它有自己的$PATH
.
su
默认情况下不更改$PATH
。你必须让它启动一个登录 shell:
su -
Run Code Online (Sandbox Code Playgroud)
而不是仅仅
su
Run Code Online (Sandbox Code Playgroud)
如果您无法更改su
通话,请$PATH
在通话前进行更改。如果usermod
位于/usr/sbin/usermod
则执行以下操作:
PATH=/usr/sbin:$PATH
su
Run Code Online (Sandbox Code Playgroud)