ユーザーにapt / apt-get実行権限を付与して、ルートなしでapt housekeepingコマンド(、)を実行できますかapt-get autoremove
?apt-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として実行する必要があります。構成に応じて、これは次のことを意味します。autoremove
autoclean
sudo apt-get autoremove
ユーザーがapt-get
rootとしてコマンドを実行できるようにすることは、実際に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
。