私はそれが奇妙に聞こえることを知っています。しかし、私は適切に私のプレイブックをセットアップした後、現在のユーザーを削除する必要があります。現在のsudoerを削除するにはどうすればいいですか?
私はサーバーを更新し、ユーザーと管理者を適切に構成するためのプレイブックを持っています。私は与えられたユーザーをroot
にしてadmin
をメインのsudoerに設定しました。
root
またはadmin
でない場合にのみ、私のプレイブックの最後にansible_ssh_user
を削除する必要がありますか?
次のソリューションは、
---
- hosts: all
become: yes
become_user: root
tasks:
- include_vars: secrets.yml
- name: add admin user
user: name={{ ADMIN_USERNAME }} password={{ ADMIN_PASSWORD | password_hash('sha512') }} shell=/bin/bash
- name: delete current sudoer if not admin or root
user: name={{ ansible_ssh_user }} state=absent remove=yes
when: ({{ ansible_ssh_user }}!={{ ADMIN_USERNAME }}) or ({{ ansible_ssh_user }}!={{ ADMIN_USERNAME }})
動作しないことが返されます。
userdel: user admin is currently used by process 23537
あなたが取得(またはいただきました!間違っている)されているものを提供することができ、エラーが動作しますか? – user2599522
私は実際には無能者特有ではないと思います。ユーザーが現在ログインしている間にユーザーを削除すると問題が増えます。これはLinuxでは可能ではないと思いますが(https://unix.stackexchange.comはおそらくそこの情報源となるでしょう)。私が考えることができるのは、 "このユーザーを削除するルートcronジョブを設定し、ユーザーがいない場合はcronジョブを削除する"のような狂ったハックです。 –
@ XiongChiamiovか、管理者名で現在のsudoerの名前を変更することはできますか? –