为什么我在 RHEL7 中找不到(使用哪个)usermod 作为普通用户

为什么我在 RHEL7 中找不到(使用哪个)usermod 作为普通用户

任何想法为什么该which命令无法usermod在 rhel 7 中找到该命令。这是我所做的(以及相应的输出)

[ec2-user@ip-10-0-4-109 ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
[ec2-user@ip-10-0-4-109 ~]$ which usermod
/usr/bin/which: no usermod in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin)
[ec2-user@ip-10-0-4-109 ~]$ sudo su
[root@ip-10-0-4-109 ec2-user]# which usermod
/sbin/usermod
[root@ip-10-0-4-109 ec2-user]# readlink -f /sbin/
/usr/sbin

所以问题的要点是usermod物理上位于/usr/sbin/usermod.该目录/usr/sbin位于ec2-user搜索路径中。但由于某种原因,which当我将其运行为ec2-user.

知道为什么 RHEL 7 上会发生这种情况吗?我也有 Ubuntu 14.04,它按预期工作(root 和普通用户都可以usermod在 中看到/usr/sbin)。

在最初的帖子之后,我还发现了什么:+++++++++++++++++++++++++++++++++++++++++ ++

我发现了一些补充信息,我认为这可能与此有关:

在 RHEL 7 上,权限位为usermod

-rwxr-x---. 1 root root 113800 Jun 28  2016 /usr/sbin/usermod

在 Ubuntu 14.04 上,权限位为usermod

-rwxr-xr-x 1 root root 110296 May 16 19:37 /usr/sbin/usermod

所以我猜测普通用户没有读取权限usermod可能会导致此问题?

答案1

usermod是一个只能从 root 运行的程序。要查找位置:

sudo which usermod
/usr/sbin/usermod

相关内容