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?
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
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