Pracuję dla małej firmy programistycznej. Mamy produkt, który domyślnie zapisuje do katalogu logs w katalogu instalacyjnym (wiem, że to może nie być najlepszy sposób, ale na razie został naprawiony):/opt/<program>/logs
Mam użytkownika, który chce, aby każdy jego użytkownik (w systemie Linux) podczas uruchamiania naszego programu zapisywał dzienniki w katalogu użytkowników na sesję, na przykład /home/<user>/<program>/logs
. Czy istnieje dobry sposób na skonfigurowanie tego, polegając na tym, że mój program zawsze /opt/<program>/logs
domyślnie pisze do ?
Nie jestem ekspertem od Linuksa, ale myślę, że można to zrobić.
Czy lepiej byłoby o to zapytać na płycie Linux SE?
Każda pomoc jest mile widziana!
UWAGA - te dzienniki są tworzone dla programu, gdy jest uruchomiony, bez względu na to, kto jest zalogowany, aby z niego korzystać. Wszyscy idą do tego samego katalogu: /opt/<program>/logs
. Jeśli utworzę dowiązanie symboliczne, wszystko, co robi, powiela dzienniki do innego katalogu. Potrzebuję dzienników każdego użytkownika do sesji w odpowiednim /home/<user>/<program>/logs
katalogu.
Spróbuj usunąć katalog / logs /, przejdź do / opt / program i wpisz
ln -s ~ / logs
Musisz jednak dodać
mkdir ~ / logs
do każdego skryptu startowego każdego użytkownika.
źródło
Jak wygląda dziennik? Czy istnieje możliwość sprawdzenia, który użytkownik utworzył wpis?
Możesz użyć,
syslog-ng
aby szukać plików w/opt/<program>/logs
zależności od pozycji (np. Wyrażenie regularne), zapisując drugi plik dziennika$USERHOME/logs
.Jeśli tylko jeden użytkownik korzysta z Twojego programu, możesz mu przyznać uprawnienia do odczytu tego katalogu i jego plików. Ale jeśli istnieją sensowne wpisy od innych użytkowników, jest to zły pomysł.
źródło