на вновь созданных экземплярах 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