Linuxカーネルイメージがデフォルトで読み取り専用ではないのはなぜですか?

Linuxカーネルイメージがデフォルトで読み取り専用ではないのはなぜですか?

先週、FUSEをインストールしましたが、ゲストのインストールを実行できませんでした。アプリケーションはユーザー空間からカーネルイメージを読み取ろうとします。わかりました chmod 755, 私はビジネス中です。それとも…気になります。カーネルが基本的にこのようにインストールされる技術的な理由は何ですか?なぜ世界の人々が読むことができないのですか?

-rw------- 1 root root  7104112 Dec 11 09:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root  7141424 Feb 12 19:57 vmlinuz-4.4.0-116-generic
-rw------- 1 root root  7144816 Apr  2 14:05 vmlinuz-4.4.0-119-generic

これに問題がある人は私だけではないだろう。

ベストアンサー1

インストール、umaskなどに問題はありません。

Ubuntuの場合:

これらのパラダイムの変化は「設計による」ものです。ローカル管理者の場合、この制限を軽減する方法は次のとおりですdpkg-statoverride

sudo dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)

すべての新しいカーネルでこのタスクが自動的に発生するようにするには、次のように生成します /etc/kernel/postinst.d/statoverride(chmod + xを忘れないでください)。

#!/bin/sh
version="$1" # passing the kernel version is required 
[ -z "${version}" ] && exit 0
dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-${version}

私の意見は、これが正しい解決策の1つであるということです。 Kees Cookのコメントには(少し変更され、フォーマットされた)引用があります。https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725。なぜこのように作られたのかなどの詳細については、こちらをご覧ください。

おすすめ記事