buka .rpm gagal: Izin ditolak

10

Setiap kali saya mencoba menginstal beberapa .rpm yang saya unduh, saya mendapatkan:

> sudo rpm -i something.rpm
error: open of something.rpm failed: Permission denied

Tampaknya pilihan rpm tidak masalah. Saya sudah chmodded the .rpm pertama (777) tetapi tidak ada bedanya. Apa yang saya lewatkan? Penggunaan rpm -i -vtidak mengungkapkan informasi tambahan apa pun.

Sistem adalah RHEL6 64-bit.

ek
sumber
Bisakah Anda menunjukkan output darisudo -l
Not Now
SELinux, mungkin?
derobert

Jawaban:

11

Jika file rpm Anda ada di direktori home Anda dan direktori home Anda ada di NFS, root mungkin tidak memiliki akses ke sana. Ini entah bagaimana tidak biasa: biasanya, root dapat mengakses setiap file. Tetapi dalam pengaturan umum, ketika root mengakses direktori yang dipasang di atas NFS, hak-hak pengguna nobodydigunakan alih-alih pengguna root. Tujuan utamanya adalah untuk memastikan bahwa root pada klien tidak dapat memanipulasi file sebagai root pada server. Ini diimplementasikan sebagai "root memiliki izin siapa pun" daripada "root dapat memiliki izin siapa pun execpt root's" terutama karena ini lebih mudah (meskipun ada alasan lain: beberapa server NFS menerapkan ini untuk pengguna selain dari root, sehingga untuk lindungi semua pengguna sistem di server).

Jika ini masalahnya, Anda harus membuat file rpm dan direktori yang berisi file tersebut dapat diakses untuk di-root. Itu berarti membuat mereka dapat diakses oleh pengguna nobody, dan biasanya satu-satunya cara untuk melakukannya adalah membuat file dan direktori dapat dibaca dunia. Lebih tepatnya, izin minimalnya adalah

chmod a+x .
chmod a+r something.rpm

Atau, pindahkan file rpm ke direktori lokal.

mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm
Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Benar-benar tepat, terima kasih atas jawaban cepatnya.
Oak