Я использую виртуальную машину на Google Cloud Platform. После создания к ней можно получить доступ через SSH через веб-интерфейс GCP. Когда я получаю доступ через SSH, я могу использовать sudo
для выполнения привилегированных действий. Когда я получаю доступ через метод графического интерфейса, такой как Chrome Desktop или VNC, у меня нет привилегии sudo. Однако я получаю свое то же имя пользователя whoami
в любом случае.
Я в замешательстве, потому что у меня есть некоторые предположения:
whoami
указывает текущего пользователя по его имени.- Во всей системе существует только один пользователь с заданным именем, и наоборот.
sudo
применяется к текущему пользователю (тому же, что иwhoami
)- Аутентификация пользователя и свойства sudo одинаковы во всей системе.
Если это правда, то я не понимаю, почему существует разное sudo
поведение при входе в систему разными способами.
Обновление 3:
Я запустил sudo usermod -aG sudo username
и после перезагрузки у пользователя везде есть привилегии sudo. В файлах sudoers ничего не изменилось. Я не подумал проверить файл groups перед внесением изменений.
Думаю, теперь все в порядке с практической точки зрения. Я все еще не понимаю, как один и тот же пользователь может иметь разные привилегии sudo в разных местах.
Обновление 2:
В /etc/sudoers
незакомментированных строках (и директиве) есть:
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
в sudoers.d
содержитgoogle_sudoers
%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL
Версия ОС: Debian 10 (buster) Linux 4.19.0-17-cloud-amd64
Обновлять:
К сожалению, возможно, это вызвано некоторыми функциями, которые Google добавил в отношении группы google-sudoers.
Соответствующие журналы из/var/log/auth.log
gpasswd[2309]: user user_me added by root to group google-sudoers
Успешное sudo:
sudo: user_me : TTY=pts/2 ; PWD=/home/user_me ; USER=root ; COMMAND=/usr/bin/echo test
sudo: pam_unix(sudo:session): session opened for user root by user_me(uid=0)
sudo: pam_unix(sudo:session): session closed for user root
Неудачное sudo:
sudo: user_me : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/user_me ; USER=root ; COMMAND=/usr/bin/echo test
Я до сих пор не понимаю, как поведение одного и того же пользователя может быть разным.