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 -v
tidak mengungkapkan informasi tambahan apa pun.
Sistem adalah RHEL6 64-bit.
sudo -l
Jawaban:
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
nobody
digunakan 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 adalahAtau, pindahkan file rpm ke direktori lokal.
sumber