最新記事
カテゴリ
最新記事
カテゴリ
文書の過去の版を表示しています。
Debian 標準のテキストエディタは nano なのを変更するには update-alternatives で切り替える.
# update-alternatives --config editor
これは Raspbian の場合ですが,ufw が CIFS と言う名称で定義されていますので,以下のコマンドを実行.
/etc/ufw/applications.d/ 以下に色いろあると思います.
# ufw allow CIFS
Debian jessie は systemd が導入されました.このため,Debian jessie では,systemd-journald と,rsyslogd の二つのログプロセスが動作していることになります (実際二つのログプロセスが動いています)
どれがどう切り分けられているのか,気になったので調べてみました.
rsyslog-8.4.2/plugins/imuxsock/imuxsock.c に,以下の記述があります.
/* defines */ #ifndef _PATH_LOG #ifdef BSD #define _PATH_LOG "/var/run/log" #else #define _PATH_LOG "/dev/log" #endif #endif #ifndef SYSTEMD_JOURNAL #define SYSTEMD_JOURNAL "/run/systemd/journal" #endif #ifndef SYSTEMD_PATH_LOG #define SYSTEMD_PATH_LOG SYSTEMD_JOURNAL "/syslog" #endif ... /* activate current listeners */ static inline rsRetVal activateListeners() { ... listeners[0].sockName = UCHAR_CONSTANT(_PATH_LOG); if(runModConf->pLogSockName != NULL) listeners[0].sockName = runModConf->pLogSockName; else if(sd_booted()) { struct stat st; if(stat(SYSTEMD_PATH_LOG, &st) != -1 && S_ISSOCK(st.st_mode)) { listeners[0].sockName = (uchar*) SYSTEMD_PATH_LOG; } }
Linux では,標準ではログのためのソケットは /dev/log ですが,rsyslog では,sd_booted() の戻り値が真の場合,“/run/systemd/journal/socket” と言うファイルが存在して,さらにそれがソケットを指していれば,それをログのためのソケットとして使うようです.
sd_booted() の実体は,rsyslog-8.4.2/runtime/sd-daemon.c にあります.
_sd_export_ int sd_booted(void) { #if defined(DISABLE_SYSTEMD) || !defined(__linux__) return 0; #else struct stat st; /* We test whether the runtime unit file directory has been * created. This takes place in mount-setup.c, so is * guaranteed to happen very early during boot. */ if (lstat("/run/systemd/system/", &st) < 0) return 0; return !!S_ISDIR(st.st_mode); #endif }
“/run/systemd/system/” と言う名前のディレクトリがあるかどうかで決まります.
要は,rsyslog は,自身で systemd が動いているかを “/run/systemd/system/” ディレクトリの有無で判定し,もしこのディレクトリが存在しているならば,“/run/systemd/journal/socket” をログのためのソケットとして使うようです.
標準で読み取るログのためのソケットは “/dev/log” から “