2017-06-02 147 views
0

我嘗試登錄在Debian 2.5 chroot的用戶訪問SFTP和操作按照本教程http://www.the-art-of-web.com/system/sftp-logging-chroot/rsyslog現在不發光任何日誌

我不能讓它工作至今

/etc/rsyslog.d/sftp.conf

module(load="imuxsock") 
input(type="imuxsock" Socket="/var/ftp/userA/dev/log" CreatePath="on") 
input(type="imuxsock" Socket="/var/ftp/userB/dev/log" CreatePath="on") 

if $programname == 'internal-sftp' then /var/log/sftp.log 
& stop 

套接字(同樣爲用戶B):

ls /var/ftp/userA/dev/ -lha 
total 8.0K 
drwxr-xr-x 2 root root 4.0K May 31 16:08 . 
drw-r-xr-x 4 root root 4.0K May 31 12:00 .. 
srw-rw-rw- 1 root root 0 May 31 16:08 log 

我把日誌文件777,以確保它不是一個權限問題

ls /var/log/sftp.log -lha 
-rwxrwxrwx 1 root root 0 May 31 14:50 /var/log/sftp.log 

的/ etc/SSH/sshd_config中

Subsystem sftp internal-sftp -l INFO -f AUTH 
Match Group ftpusers 
    ChrootDirectory %h 
    ForceCommand internal-sftp -u 0002 
    AllowTcpForwarding no 
    PermitTunnel no 
    X11Forwarding no 

然後

$sudo /etc/init.d/ssh restart 
[ ok ] Restarting ssh (via systemctl): ssh.service. 
$sudo /etc/init.d/rsyslog restart 
[ ok ] Restarting rsyslog (via systemctl): rsyslog.service. 

我無法找到任何有用in/var/log/messages和/ var/log/syslog

請大家幫忙!!

感謝

+0

請將您的問題移至[su](在此處刪除,重新發布)。這是[off-topic here](// stackoverflow.com/help/on-topic)。 –

回答

1

這顯然是錯誤的,它永遠不會爲真:

if $programname == 'internal-sftp' then /var/log/sftp.log 

internal-sftp只是在sshd_config的佔位符。運行sftp服務器的實際程序仍然是sshd

如果要區分sftp日誌,您將需要使用系統日誌工具(-f開關internal-sftp)做的,但我不知道這是否設置在Debian的支持(這個過程是在chroot環境讓你不可以訪問/dev/log中的日誌記錄套接字)。

+0

這就是整個想法,創建一個套接字以便chroot用戶可以寫入,並且通過一些rsyslog魔術將它寫入/ var/log/syslog,有許多教程指出可以這樣做(或者使用傳統rsyslog指令) – ninja

+0

我用-f,請考慮再讀一下我的設置...子系統sftp internal-sftp -l INFO -f AUTH – ninja

+0

但是'ForceCommand internal-sftp -u 0002' ......它們哪一個是有效的?有幾個錯誤阻止了這種日誌記錄的工作。確保你有最新的OpenSSH。 – Jakuje

相關問題