kra*_*xor 7 server ssh logging sftp 14.04
我使用带有 chroot 用户的 OpenSSH 的内置 sftp 子系统进行了 SFTP 设置。
以前用FTP的时候,可以在日志中看到用户访问了哪些文件。
如何使用 OpenSSH/SFTP 实现相同的目标?
我的相关部分/etc/ssh/sshd_config:
Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
默认情况下sshd记录到系统日志,日志级别为 INFO 和系统日志工具 AUTH。所以从sshd寻找日志数据的地方在
/var/log/auth.log
可以使用 SyslogFacility 和 LogLevel 指令覆盖这些默认值。下面是授权日志中典型的服务器启动条目。
在大多数情况下,默认的日志记录级别是可以的。
以下应该只给你 ssh 相关的日志行
grep 'sshd' /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)
保险起见,获取最后几百行然后搜索(因为如果日志文件太大,整个文件的grep会消耗更多系统资源,更不用说运行时间更长)
tail -500 /var/log/auth.log | grep 'sshd'
Run Code Online (Sandbox Code Playgroud)
编辑:
从 man sshd_config
LogLevel
Gives the verbosity level that is used when logging messages from
sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
higher levels of debugging output. Logging with a DEBUG level
violates the privacy of users and is not recommended.
Run Code Online (Sandbox Code Playgroud)
所以你可以在sshd_config. 但似乎它不跟踪文件。
你可以调查一下:
1) 要在您的主文件夹中查找不属于您的登录用户的所有文件,请键入:
find ~ -type f ! -user $USER
Run Code Online (Sandbox Code Playgroud)
1.1) 要查找不属于任何合法用户的所有文件(它们不应该存在),请键入:
find ~ -type f -nouser
Run Code Online (Sandbox Code Playgroud)
2) 由于系统上的文件具有三个时间戳,分别称为mtime(文件修改时间)、ctime(inode 更改时间和权限)和atime(文件访问时间),因此可以通过查询来了解文件是如何被修改的。经常争论哪些最适合使用,但可能找出文件何时被访问或修改的最佳方法是使用find命令搜索atimeand mtime,您在几天前指定,以及其他find选项aminand mmin,与您在几分钟前指定的。
对于每一个这些命令,相同的命令开关用于:例如,-atime 1将匹配那些被访问的文件恰好1天前; 指定更多或小于,追加一个+或一个-分别。下面的例子可以澄清这一切(指定-type d目录):
find ~ -type f -atime 1
find ~ -type f -amin -23
find ~ -type f -mtime 2
find ~ -type f -mmin -45
Run Code Online (Sandbox Code Playgroud)
为了结合我到目前为止的方法,您可以从您的主文件夹中输入以下命令;第一个搜索由不是您的用户的人访问的文件,第二个搜索由您的用户以外的人在不到两天前修改的任何文件。
find ~ -type f -atime -2 ! -user $USER
find ~ -type f -mtime -2 ! -user $USER
Run Code Online (Sandbox Code Playgroud)