Ini baru saja terjadi yang membuat saya gila selama hampir 2 jam: Saya menjalankan firebird 2.5 di server saya dan saya memiliki direktori khusus di rumah saya di mana saya meletakkan database untuk dibaca oleh daemon.
Direktori ini dimiliki oleh firebird: firebird karena semua basis data di dalamnya dan memiliki 700 izin (file dbs memiliki 600).
Beberapa hari yang lalu saya menghapus daftar izin dari direktori rumah saya chmod o-x xxx
dan hari ini Firebird mulai menolak untuk membuka basis data dengan:
-Error while trying to open file
-Permission denied
Butuh beberapa saat untuk menghubungkan dua hal karena:
- Basis data di dalamnya dimiliki oleh pengguna firebird yang benar.
- Direktori induk juga dimiliki oleh firebird.
- Semua izinnya ok.
- Saya selalu percaya Anda dapat memiliki direktori induk dengan izin lebih sedikit daripada anak.
Jadi ini "agak" bug firebird dan saya akan melaporkannya atau ini adalah kesalahan saya?
linux
file-permissions
firebird
pragmatic_programmer
sumber
sumber
Anda perlu menjalankan izin untuk dapat melintasi direktori.
Ignacio Vazquez-Abrams
Saya tahu itu, pertanyaannya adalah apakah firebird daemon memerlukan izin traverse untuk membuka database dengan path absolut .. seharusnya tidak perlu menurut pendapat saya.
pragmatic_programmer
EACCES Akses yang diminta ke file tidak diizinkan, atau izin pencarian ditolak untuk salah satu direktori di path awalan pathname , atau file belum ada dan akses tulis ke direktori induk tidak diizinkan. (penekanan milikku)
Ignacio Vazquez-Abrams
Tidak tahu bahwa izin pencarian diperlukan di semua orang tua .. IMHO tidak terlalu logis. Pokoknya itu penyebabnya, terima kasih! Kirim jawabannya jika Anda ingin diterima.
pragmatic_programmer