ルートなしで自動削除して自動クリーンアップ

ルートなしで自動削除して自動クリーンアップ

ユーザーにapt / apt-get実行権限を付与して、ルートなしでapt housekeepingコマンド(、)を実行できますかapt-get autoremoveapt-get autoclean

このコマンドを実行するにはroot / sudoを使用する必要があるようです。それ以外の場合は失敗します。

$ sudo cat /etc/sudoers
...
%sudo   ALL=(ALL:ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
user  ALL=(ALL:ALL) ALL
user  ALL= (ALL) NOPASSWD: /usr/bin/apt-get 

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
user  ALL=(ALL) NOPASSWD: ALL

$ /usr/bin/apt-get autoremove
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

 

答え1

はい、およびをapt-get含むほとんどのコマンドはrootとして実行する必要があります。構成に応じて、これは次のことを意味します。autoremoveautoclean

sudo apt-get autoremove

ユーザーがapt-getrootとしてコマンドを実行できるようにすることは、実際にrootアクセス権全体を付与するのと同じです。 (ユーザーはパッケージを準備してインストールできます。パッケージには、root-suidシェルを含むユーザーが必要なものをすべて含めることができます。別のオプションは、プロファイルの競合が発生するように準備するdpkgことです。この場合、root-suidシェルは次のようになります。シェルを開く必要があります。)これらのリスクを回避するには、コマンド全体を指定する必要がありますsudoers

user  ALL= (ALL) NOPASSWD: /usr/bin/apt-get autoremove
user  ALL= (ALL) NOPASSWD: /usr/bin/apt-get autoclean

少なくともautoclean

関連情報