Bagaimana saya bisa mengatur Pusat Perangkat Lunak untuk memungkinkan pengguna non-root untuk menginstal hal-hal dari repo Ubuntu tanpa harus mengetikkan kata sandi mereka?
Saya sepenuhnya menyadari implikasi keamanan, dan saya bersedia mengambil risiko. Fedora 12 dikirimkan dengan sesuatu seperti ini. (Dengan memodifikasi konfigurasi PolicyKit, saya percaya)
Jawaban:
Anda dapat mengubah izin PolicyKit untuk memungkinkan pengguna mengakses backend aptdaemon yang digunakan oleh Pusat Perangkat Lunak.
dpkg --listfiles aptdaemon
menunjukkan bahwa/usr/share/polkit-1/actions/org.debian.apt.policy
file menentukan tindakan yang mungkin pada backend aptdaemon.Melihat dalam file itu,
< action id="">
tag menentukan tindakan yang mungkin. Anda mungkin inginorg.debian.apt.install-packages
mengizinkan pengguna untuk menginstal paket baru dari arsip, danorg.debian.apt.update-cache
untuk memungkinkan pengguna untuk memperbarui daftar paket.Lihat
man pklocalauthority
dokumen mana cara mengatur izin lokal pada tindakan PolicyKit. Memasukkan yang berikut ini/etc/polkit-1/localauthority/50-local.d/10-allow-users-to-install.pkla
akan memungkinkan pengguna yang masuk ke mesin lokal untuk menginstal paket setelah mengetik kata sandi mereka sendiri (bahkan ketika mereka tidak dalam grup admin) dan untuk memperbarui cache paket tanpa mengetikkan kata sandi apa pun.sumber
/usr/share/polkit-1/actions/org.kubuntu.qaptworker.policy
Identity=*
agar ini berfungsi, diadaptasi dari askubuntu.com/a/123260 . Juga, apakah ada cara untuk mendapatkan lebih banyak output log kit kebijakan misalnya/var/log/auth.log
(atau file log lainnya)? Saya hanya mendapatkanauthentication fails
pesan, tetapi tidak ada alasan mengapa gagal ...Saya tidak berpikir saat ini dimungkinkan untuk melakukannya melalui GUI, tetapi berikut ini harus bekerja, meskipun sedikit kumuh. YMMV.
Tambahkan baris berikut ke / etc / sudoers (gunakan
sudo visudo
untuk mengedit file):Maka Anda hanya perlu membuat dan menambahkan pengguna spesifik ke
packageinstallers
grup:Sekarang
jdoe
dapat melakukan hal berikut:dan Anda dapat mengedit item menu desktop untuk Pusat Perangkat Lunak sehingga ia memanggil pada
software-center
prepending perintah dengangksudo
.PolicyKit memungkinkan Anda untuk melakukannya tanpa sudo, tapi itu di luar pemahaman saya pada saat ini.
sumber
Jawaban RAOF hanya berlaku untuk Ubuntu. Kubuntu menggunakan QAptWorker sebagai backend (diamati untuk Natty dan Oneiric). Untuk mengizinkan instalasi non-root, buat yang
/etc/polkit-1/localauthority/50-local.d/10-allow-non-root-install-packages.pkla
berisi:Saya ingin memperbolehkan beberapa pengguna non-admin untuk menginstal perangkat lunak sementara tidak memberikan akses sudo secara langsung. Itu dilakukan dengan memasukkan baris berikutnya di kedua grup konfigurasi:
Jika ada grup yang harus diberi izin, gunakan
unix-group
sebagai gantiunix-user
.sumber
sudo -i
saya bahkan tidak memiliki akses ke/etc/polkit-1/localauthority
(Ubuntu 17.10): "Tidak akan mencoba memproses direktori / etc / polkit-1 / localauthority"Jika Anda hanya memerlukan izin umum untuk mengizinkan / melarang instalasi paket, buka PolicyKit.
Sayangnya PolicyKit tidak memiliki kontrol yang baik atas paket yang akan diinstal. Jika Anda ingin memberikan izin kepada pengguna Anda untuk menginstal hanya satu set aplikasi terbatas, Anda harus menggunakan
sudo
dan menginstal sesuatu seperti perangkat lunak ...Saya juga mencari sesuatu seperti itu, tetapi karena saya tidak menemukan apa pun, saya memberi kode solusi mudah ini "softwarechannels", tersedia di sini di GitHub
Ini adalah sistem yang sangat sederhana untuk memungkinkan pengguna umum (non-admin) menginstal paket dari katalog terbatas.
Cukup tentukan 'saluran' (grup paket) dalam file teks sederhana dan berikan izin kepada pengguna Anda untuk meluncurkan perangkat lunak.
Mereka hanya akan melihat paket di saluran yang cocok dengan grup unix mereka.
sumber