Вы (вполне понятно )сбиты с толку тем фактом, что некоторые встроенные команды существуют как как встроенные , так и как внешние команды. Итак, хотя вы правы в том, что, например, есть команда /bin/[
, это не означает, что ее «фактическое местоположение» находится в /bin
.
Любой простой способ проверить это — запустить type
с переключателем -a
, который покажет все доступные экземпляры команды. В моей системе Arch это показывает:
$ type -a [
[ is a shell builtin
[ is /sbin/[
[ is /usr/sbin/[
[ is /usr/bin/[
Обратите внимание, что /sbin
, /usr/sbin
и /bin
— все символические ссылки, указывающие на /usr/bin
, поэтому существует только один внешний[
:
$ readlink -f /usr/sbin /sbin /bin/
/usr/bin
/usr/bin
/usr/bin
Как вы можете видеть, [
является как встроенной, так и внешней командой, и то же самое верно для различных других встроенных команд оболочки. Однако это не меняет того факта, что они также являются встроенными оболочками, скомпилированными в саму оболочку.
Как упоминалось в комментариях:
$id appuser
uid=1000(appuser) gid=1001(appuser) groups=1001(appuser)
И из выводаgrep -v "#" /etc/sudoers
эта строка показывает, что этот пользователь был добавлен индивидуально.
appuser ALL=(ALL) ALL
Вы можете посмотреть конфигурацию sudo на файл sudeoers
Пользователи sudo
и имеющиеся у них права могут быть индивидуально определены в /etc/sudoers
и/или в дополнительных файлах в каталоге /etc/sudoers.d
.