ルート(または他のユーザー)にフェンスメッセージを送信し、元のユーザーを認識しないようにするにはどうすればよいですか。
以下をご覧ください。壁にルートのメッセージを表示したいが、まだadmin1が表示されます。何を見逃していますか?
-c、tmux、runuserにコマンドを送信して、さまざまなsudo -i、-sを試しましたが、結果は常に同じです。 sudoersまたは他のもののグローバル設定ですか?
文脈上、これは私が理解できず、答えもないテスト問題です!
[admin1@RHELPOC ~]$ sudo su - [root@RHELPOC ~]# id uid=0(root)
gid=0(root) groups=0(root)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@RHELPOC ~]# wall "whoisthis"
Broadcast message from admin1@RHELPOC (pts/0) (Fri Jan 8 13:58:40
2021): whoisthis
答え1
wall
getlogin
メッセージのユーザー名を取得し、呼び出しが失敗したgetpwuid
場合にのみgetlogin
置き換えるために使用されます。ここ)。
getlogin
返品プロセス制御端末にログインするためのユーザー名(からgetlogin マンページ)「ログインシェル」su
でなくても、ユーザーとグループIDが0のシェルのみを実行するため、次のsu -
結果は変わりませんgetlogin
。シェルをログインシェルで起動します。環境は実際のログインに似ています。(からソビエト機械のヘルプページ)。
getpwuid(getuid())
getlogin
実際には「正しい」ユーザーを返しますが、呼び出しが失敗した場合にのみ呼び出されます。
したがって、wall
「ルートから開始」するには、実際にはTTYにrootとしてログインする必要があります。そのコマンドを使ってログインすることもできますが、login
Fedoraの端末では動作しないようです。
編集:Fedoraに何が問題なのかわかりません。login
Ubuntu VMで期待どおりに動作しますか?
vtrefny@ubuntu:~$ sudo login
ubuntu login: root
Password:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-58-generic x86_64)
...
root@ubuntu:~# wall "aaaa"
Broadcast message from root@ubuntu (pts/0) (Fri Jan 8 21:57:39 2021):
aaaa
したがって、答えはlogin
動作するシステムで使用することです:-)