インターネットの電源を切った状態で端末で次のコマンドを実行します。
while true;do sudo -n uptime 2>/dev/null;echo "`date`($((i++)))";sleep 0.1;done
さて、インターネットの電源を入れてください(ここではWIFIがあります)。
ログは5〜10秒ごとに発生します。
sudoにネットワークを無視させる方法は?
また、なぜこのように動作するのですか?
観察:Ubuntu 22.04
PS:私はsudo -n uptime
sudoアクセス権を持っている場合は端末に警告するために使用します(すべて赤でマークしました)。そのため、端末で実行されるすべてのコマンドでこの問題が発生します。
WIFIがオンのときの遅延ログ:
Fri 5 Jan 00:07:41 -03 2024(0)
Fri 5 Jan 00:07:47 -03 2024(1)
Fri 5 Jan 00:07:52 -03 2024(2)
Fri 5 Jan 00:07:57 -03 2024(3)
Fri 5 Jan 00:07:57 -03 2024(4)
Fri 5 Jan 00:08:02 -03 2024(5)
Fri 5 Jan 00:08:02 -03 2024(6)
Fri 5 Jan 00:08:13 -03 2024(7)
Fri 5 Jan 00:08:18 -03 2024(8)
Fri 5 Jan 00:08:18 -03 2024(9)
Fri 5 Jan 00:08:23 -03 2024(10)
Fri 5 Jan 00:08:28 -03 2024(11)
Fri 5 Jan 00:08:28 -03 2024(12)
Fri 5 Jan 00:08:34 -03 2024(13)
Fri 5 Jan 00:08:39 -03 2024(14)
Fri 5 Jan 00:08:44 -03 2024(15)
Fri 5 Jan 00:08:44 -03 2024(16)
WIFIがオフの場合:
Fri 5 Jan 00:11:45 -03 2024(21)
Fri 5 Jan 00:11:45 -03 2024(22)
Fri 5 Jan 00:11:46 -03 2024(23)
Fri 5 Jan 00:11:46 -03 2024(24)
Fri 5 Jan 00:11:46 -03 2024(25)
Fri 5 Jan 00:11:46 -03 2024(26)
Fri 5 Jan 00:11:46 -03 2024(27)
Fri 5 Jan 00:11:46 -03 2024(28)
Fri 5 Jan 00:11:46 -03 2024(29)
Fri 5 Jan 00:11:46 -03 2024(30)
Fri 5 Jan 00:11:47 -03 2024(31)
Fri 5 Jan 00:11:47 -03 2024(32)
Fri 5 Jan 00:11:47 -03 2024(33)
Fri 5 Jan 00:11:47 -03 2024(34)
Fri 5 Jan 00:11:47 -03 2024(35)
Fri 5 Jan 00:11:47 -03 2024(36)
Fri 5 Jan 00:11:47 -03 2024(37)
Fri 5 Jan 00:11:47 -03 2024(38)
Fri 5 Jan 00:11:47 -03 2024(39)
Fri 5 Jan 00:11:48 -03 2024(40)
Fri 5 Jan 00:11:48 -03 2024(41)
Fri 5 Jan 00:11:48 -03 2024(42)
Fri 5 Jan 00:11:48 -03 2024(43)
Fri 5 Jan 00:11:48 -03 2024(44)
Fri 5 Jan 00:11:48 -03 2024(45)
Fri 5 Jan 00:11:48 -03 2024(46)
Fri 5 Jan 00:11:48 -03 2024(47)
Fri 5 Jan 00:11:49 -03 2024(48)
Fri 5 Jan 00:11:49 -03 2024(49)
Fri 5 Jan 00:11:49 -03 2024(50)
Fri 5 Jan 00:11:49 -03 2024(51)
Fri 5 Jan 00:11:49 -03 2024(52)
Fri 5 Jan 00:11:49 -03 2024(53)
Fri 5 Jan 00:11:49 -03 2024(54)
Fri 5 Jan 00:11:49 -03 2024(55)
Fri 5 Jan 00:11:50 -03 2024(56)
Fri 5 Jan 00:11:50 -03 2024(57)
Fri 5 Jan 00:11:50 -03 2024(58)
Fri 5 Jan 00:11:50 -03 2024(59)
Fri 5 Jan 00:11:50 -03 2024(60)
Fri 5 Jan 00:11:50 -03 2024(61)
Fri 5 Jan 00:11:50 -03 2024(62)
Fri 5 Jan 00:11:50 -03 2024(63)
Fri 5 Jan 00:11:50 -03 2024(64)
Fri 5 Jan 00:11:51 -03 2024(65)
Fri 5 Jan 00:11:51 -03 2024(66)
Fri 5 Jan 00:11:51 -03 2024(67)
Fri 5 Jan 00:11:51 -03 2024(68)
Fri 5 Jan 00:11:51 -03 2024(69)
Fri 5 Jan 00:11:51 -03 2024(70)
Fri 5 Jan 00:11:51 -03 2024(71)
Fri 5 Jan 00:11:51 -03 2024(72)
Fri 5 Jan 00:11:52 -03 2024(73)
Fri 5 Jan 00:11:52 -03 2024(74)
Fri 5 Jan 00:11:52 -03 2024(75)
Fri 5 Jan 00:11:52 -03 2024(76)
Fri 5 Jan 00:11:52 -03 2024(77)
Fri 5 Jan 00:11:52 -03 2024(78)
Fri 5 Jan 00:11:52 -03 2024(79)
Fri 5 Jan 00:11:52 -03 2024(80)
Fri 5 Jan 00:11:52 -03 2024(81)
Fri 5 Jan 00:11:53 -03 2024(82)
Fri 5 Jan 00:11:53 -03 2024(83)
Fri 5 Jan 00:11:53 -03 2024(84)
Fri 5 Jan 00:11:53 -03 2024(85)
Fri 5 Jan 00:11:53 -03 2024(86)
Fri 5 Jan 00:11:53 -03 2024(87)
Fri 5 Jan 00:11:53 -03 2024(88)
Fri 5 Jan 00:11:53 -03 2024(89)
Fri 5 Jan 00:11:54 -03 2024(90)
Fri 5 Jan 00:11:54 -03 2024(91)
Fri 5 Jan 00:11:54 -03 2024(92)
Fri 5 Jan 00:11:54 -03 2024(93)
Fri 5 Jan 00:11:54 -03 2024(94)
Fri 5 Jan 00:11:54 -03 2024(95)
Fri 5 Jan 00:11:54 -03 2024(96)
Fri 5 Jan 00:11:54 -03 2024(97)
Fri 5 Jan 00:11:54 -03 2024(98)
Fri 5 Jan 00:11:55 -03 2024(99)
答え1
sudo
UbuntuがDebianと同じデフォルト設定を使用すると仮定すると、fqdn
そのフラグはデフォルトで有効になります。
マニュアルsudoers(5)
ページには、このフラグが有効になっているとDNS関連の問題が発生する可能性があることが示されています。
ホスト名解決にDNSを使用するときにfqdnを開くには、sudoerがDNSルックアップを実行する必要があります。これにより、DNSが停止した場合(コンピュータがネットワークから切断された場合など)、sudoが利用できなくなる可能性があります。ホストファイルと同様に、DNSが知っている「標準」名を使用する必要があります。つまり、パフォーマンスの問題とDNSですべてのエイリアスを取得できないため、ホストエイリアス(CNAMEエントリ)を使用することはできません。
このフラグはデフォルトでオンになっています。
このフラグを使用すると、sudoersファイル定義およびsudoersユーザー権限仕様のホスト名フィールドで完全修飾fqdn
ドメイン名を使用できます。Host_Alias
ただし、これはまた、sudo
ホスト名の正規正規化形式を見つける必要があることを意味します。リストにない場合は、/etc/hosts
DNS検索が必要です。
DHCPサーバーからホスト名を取得できないと仮定すると、次の行を次の行に追加できます/etc/hosts
。
127.0.1.1 main-hostname.fully.qualified.domain main-hostname [any other forms here...]
あるいは、定義でホスト名を使用しない場合sudoers
(単一のスタンドアロンシステムで予想されるように)、sudoersファイルに次の行を追加する必要があります。
Defaults !fqdn
このfqdn
オプションを無効にします。