Назад | Перейти на главную страницу

Папки удаленных пользователей GCE снова появляются после перезагрузки

на вновь созданных экземплярах gce я нахожу очень грязный /home/ папка, содержащая один домашний каталог для каждого пользователя GCP с достаточными разрешениями (пока не слишком безумным), но также и для любого пользователя, которому когда-либо удавалось войти в систему по ssh через gcloud в любой gce того же проекта (даже если этот пользователь никогда не пробовал ssh-ing к этому экземпляру gce)

gcloud compute ssh username@gce-instance --project project-name

Последнее кажется мне необъяснимым, но в любом случае я решил удалить всех этих пользователей Linux на недавно созданном Ubuntu 18.04 gce с помощью deluser --remove-all-files команда, как показано здесь:

CURRENT_USER=username
for USER in `ls /home`
  do
    if [ $CURRENT_USER -neq $USER ]
      then 
        deluser --remove-all-files $USER
      fi
  done

Таким образом, все пользователи, кроме текущего, удаляются, а их домашние папки не отображаются в ls /home/, но это временно, потому что они снова появляются после следующей перезагрузки gce, все они.

Я посмотрел на journalctl, и заметил, что это связано с google-accounts deamon, который создает всех этих пользователей при запуске. Я заметил код, который делает это, в /usr/lib/python3/dist-packages/google_compute_engine/accounts/accounts_daemon.py, Я даже попытался создать экземпляр google_compute_engine.accounts.accounts_daemon.AccountsDaemon() из интерфейса командной строки python и запустите его HandleAccounts(res) метод и journalctl выглядело очень многообещающе:

Feb 27 15:32:57 gce-name google-accounts[1922]: WARNING Exception locking /var/lock/google_accounts.lock. File already locked.
Feb 27 15:33:18 gce-name google-accounts[1935]: WARNING Exception locking /var/lock/google_accounts.lock. File already locked.
Feb 27 15:33:35 gce-name google-accounts[1935]: WARNING Instance attributes were not found.
Feb 27 15:33:35 gce-name google-accounts[1935]: WARNING Project attributes were not found.
Feb 27 15:33:35 gce-name google-accounts[1935]: WARNING Instance attributes were not found.
Feb 27 15:33:35 gce-name google-accounts[1935]: WARNING Project attributes were not found.
Feb 27 15:33:36 gce-name google-accounts[1935]: INFO Removing user username_1.
Feb 27 15:33:36 gce-name google-accounts[1935]: INFO Removing user username_2.
### etc ###
Feb 27 15:33:36 gce-name google-accounts[1935]: INFO Removing user username_last.

К сожалению, после последнего очень уверенного sudo reboot now Я к своему ужасу обнаружил, что все папки снова вернулись внутрь /home/.

У меня закончились идеи, кто-нибудь может мне помочь?

Перейдите в консоль GCP и в Compute Engine перейдите к метаданным. вы найдете все SSH-KEY, которые были добавлены в качестве рычага проекта. Каждый раз, когда создается новая виртуальная машина, все пользователи с SSH-ключом на уровне проекта будут иметь доступ к виртуальной машине.

для получения дополнительной информации перейдите по этой ссылке: https://cloud.google.com/compute/docs/storing-retrieving-metadata