私はしばらく前にこの違いに気づきましたが、これまではなぜそうなのでしょうか?という質問を一度もしませんでした。
dmesg
Linux Mint 18(Ubuntuベース)ではsudo
。
GNU / Linux Debian 9では、例えばsudoを使用する必要がありますdmesg
。
この動作のコーディングがどこにあるのか疑問に思います。そして変えることができますか?
答え1
これは、dmesg_restrict
sysctl
次の資料に記載されている項目によって制御されます。カーネル文書。デフォルト値はCONFIG_SECURITY_DMESG_RESTRICT
通常、最新のディストリビューションで有効になっているカーネル構成値によって決まります。
以下を実行すると、現在の値を表示できます。
/sbin/sysctl kernel.dmesg_restrict
root
(as) を使用して値を変更します。
sysctl -w kernel.dmesg_restrict=1
(制限の有効化)または
sysctl -w kernel.dmesg_restrict=0
(無効にして以前の動作を復元します)。
/etc/sysctl.conf
この変更を永続的に適用するには(起動時に自動的に適用する)、次の設定ファイルに記録します/etc/sysctl.d
。
echo kernel.dmesg_restrict=0 | sudo tee -a /etc/sysctl.d/99-dmesg.conf
答え2
最新のカーネルのデフォルトのカーネル構成は次のとおりです。CONFIG_SECURITY_DMESG_RESTRICT=y
答え3
/sbin/sysctl
他の人が答えたように、実行時に値を確認して変更するために使用できます。
ただし、これらの変更を再起動後も維持するには、次の場所に追加する必要があります。/etc/sysctl.conf