
root以外のユーザーがaptまたはrpmを使用してシステム全体にパッケージをインストールすることを許可できますか?
私が働いているLinuxシステムの設定は現在時代遅れであり、管理者はユーザーの要求に応じてユーザーのすべてのインストールを実行するのに疲れているため、すべてのユーザーに完全なsudo権限を付与することを検討しています。これには明らかなセキュリティ上の欠点がある。その場合、一般ユーザーがソフトウェアをインストール、アップグレード、アンインストールする方法があるかどうか疑問に思います。
答え1
sudo を使用して、許可されるコマンドを指定できます。たとえば、無制限のアクセスを許可する必要はありません。
ユーザー名すべて = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
これによりユーザー名sudo apt-get
パスワードなしで実行できますが、sudo aptitude
他のコマンドは許可されません。
また、使用することができますパッケージキット結合するポルキット sudoよりも細かい制御が可能です。
ユーザーがパッケージをインストール/削除できるようにするのは危険です。 libc6、dpkg、rpmなどの必須ソフトウェアを削除するだけで、システムが簡単に機能しなくなる可能性があります。定義されたアーカイブから任意のソフトウェアをインストールすると、攻撃者は古いソフトウェアまたは悪用可能なソフトウェアをインストールしてrootアクセス権を取得する可能性があります。最も重要な質問は、従業員に対する信頼がどれくらいになるかと思います。
もちろん、管理チームは、パペット、シェフ、宇宙遊泳研究などの構成管理システムを使用してシステムを管理することもできます。これにより、中央システムでシステムを構成および管理できます。
答え2
マニュアルページから:
aptdcon
:aptdaemonを使用して、ソフトウェアのインストールやアンインストールなどのパッケージ管理タスクを実行できます。このプログラムを実行するためにroot権限は必要ありません。
答え3
username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm
答え4
私は似たようなものを見つけましたが、何も出てこなかったので、次の簡単な解決策「softwarechannels」を作成しました。
https://github.com/alfem/softwarechannels
これは、一般(管理者ではない)ユーザーが制限されたディレクトリからパッケージをインストールできるようにする非常に単純なシステムです。
単純なテキストファイルに「チャンネル」(パッケージグループ)を定義し、ユーザーにソフトウェアチャネルを起動する権限を付与するだけです。
Unixグループに一致するチャンネルのパッケージのみを表示できます。