Ubuntu
sentuh: tidak dapat menyentuh `/var/run/test.pid ': Izin ditolak
Saya mulai start-stop-daemon dan suka menulis file PID di / var / run start-stop-daemon dijalankan sebagai pengguna-program-saya
Pengaturan / var / run adalah root root drwxr-xr-x 9
Saya suka menghindari menempatkan pengguna-program-saya di grup root.
sumber
/var/run/mydaemon
direktori itu hilang./tmp
atau~
.ini tidak akan berfungsi, karena akan hilang pada reboot berikutnya (
/var/run
adalah tmpfs di Ubuntu).Satu-satunya solusi yang layak adalah menjalankan mkdir dan chmod sebagai bagian dari skrip startup.
sumber
Anda bisa mencoba ini. Buat direktori / var / run / test / dan kemudian ubah izin direktori ini ke pengguna yang sama dengan program Anda berjalan. "chown / var / run / test /". Sekarang di aplikasi Anda, ubah lokasi file PID ke /var/run/test/test.pid. Ini akan membuat semuanya bekerja untuk Anda.
sumber
Bagaimana dengan menggunakan bit "sticky" di / var / run?
chmod + t / var / run?
Mungkin mengacaukan beberapa aplikasi lain, tetapi sepertinya itu akan menjadi solusi lain.
Saya akan tetap dengan membuat folder / var / run terpisah untuk saat ini.
sumber
Entri di dalam
/etc/permissions
bersifat permanen. Buat entri di sana untuk membuat kepemilikan dan izin untuk direktori permanen.sumber
Untuk menghindari menempatkan pengguna program Anda di grup root, izinkan orang lain menulis akses:
sumber
chmod 757
juga hanya akan berfungsi sampai reboot berikutnya. Maaf tentang membuat jawaban baru, tetapi sepertinya tidak ada cara untuk membalas komentar lainnya.chmod
pada/var/run
. Penulis mungkin bermaksud untuk subdirektori aplikasi. Tidak yakin apa yang terjadi.