我有Linux机器red-hat 5.X
请提出建议-如果有人想通过sftp或ftp从我的计算机复制文件,我可以识别哪个命令,是否可以在Linux机器上进行验证?
谢谢
当然,您可以使用它lsof
来查看服务器上当前正在进行的活动。这是到SFTP服务器的空闲连接的输出结果。
$ sudo /usr/sbin/lsof -p $(pgrep sftp)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sftp-serv 30268 sam cwd DIR 0,19 20480 28312529 /home/sam (mulder:/export/raid1/home/sam)
sftp-serv 30268 sam rtd DIR 253,0 4096 2 /
sftp-serv 30268 sam txt REG 253,0 51496 48727430 /usr/libexec/openssh/sftp-server
sftp-serv 30268 sam mem REG 253,0 109740 46368404 /lib/libnsl-2.5.so
sftp-serv 30268 sam mem REG 253,0 613716 48382913 /usr/lib/libkrb5.so.3.3
sftp-serv 30268 sam mem REG 253,0 1205988 48387619 /usr/lib/libnss3.so
sftp-serv 30268 sam mem REG 253,0 33968 48377969 /usr/lib/libkrb5support.so.0.1
sftp-serv 30268 sam mem REG 253,0 15556 48387614 /usr/lib/libplc4.so
sftp-serv 30268 sam mem REG 253,0 11524 48387615 /usr/lib/libplds4.so
sftp-serv 30268 sam mem REG 253,0 190712 48383685 /usr/lib/libgssapi_krb5.so.2.2
sftp-serv 30268 sam mem REG 253,0 1706232 46368382 /lib/libc-2.5.so
sftp-serv 30268 sam mem REG 253,0 50848 46367899 /lib/libnss_files-2.5.so
sftp-serv 30268 sam mem REG 253,0 46624 46367905 /lib/libnss_nis-2.5.so
sftp-serv 30268 sam mem REG 253,0 1298276 46368392 /lib/libcrypto.so.0.9.8e
sftp-serv 30268 sam mem REG 253,0 232156 48387613 /usr/lib/libnspr4.so
sftp-serv 30268 sam mem REG 253,0 45432 46368394 /lib/libcrypt-2.5.so
sftp-serv 30268 sam mem REG 253,0 121324 48387616 /usr/lib/libnssutil3.so
sftp-serv 30268 sam mem REG 253,0 75088 46368385 /lib/libz.so.1.2.3
sftp-serv 30268 sam mem REG 253,0 137944 46368395 /lib/libpthread-2.5.so
sftp-serv 30268 sam mem REG 253,0 15308 46368401 /lib/libutil-2.5.so
sftp-serv 30268 sam mem REG 253,0 20668 46368384 /lib/libdl-2.5.so
sftp-serv 30268 sam mem REG 253,0 130860 46368381 /lib/ld-2.5.so
sftp-serv 30268 sam mem REG 253,0 157336 48382170 /usr/lib/libk5crypto.so.3.1
sftp-serv 30268 sam mem REG 253,0 93508 46368390 /lib/libselinux.so.1
sftp-serv 30268 sam mem REG 253,0 233296 46368389 /lib/libsepol.so.1
sftp-serv 30268 sam mem REG 253,0 7812 46368391 /lib/libcom_err.so.2.1
sftp-serv 30268 sam mem REG 253,0 84904 46368388 /lib/libresolv-2.5.so
sftp-serv 30268 sam mem REG 253,0 7880 46368387 /lib/libkeyutils-1.2.so
sftp-serv 30268 sam 0u unix 0xcb014040 0t0 104100868 socket
sftp-serv 30268 sam 1u unix 0xcb014040 0t0 104100868 socket
sftp-serv 30268 sam 2u unix 0xd8077580 0t0 104100870 socket
sftp-serv 30268 sam 3u unix 0xcb014040 0t0 104100868 socket
sftp-serv 30268 sam 4u unix 0xcb014040 0t0 104100868 socket
现在,当当前正在从服务器复制一些文件时:
$ sudo /usr/sbin/lsof -p $(pgrep sftp)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sftp-serv 30268 sam cwd DIR 0,19 20480 28312529 /home/sam (mulder:/export/raid1/home/sam)
...
sftp-serv 30268 sam 5r REG 0,19 3955027 9257067 /home/sam/which witch is wich-dDSr2oxZeAM.mp3 (mulder:/export/raid1/home/sam)
显示复制文件which witch is wich-dDSr2oxZeAM.mp3
的行位于输出的底部。
当我使用SFTP到put
文件时,它显示如下:
sftp-serv 30268 sam 5r REG 0,19 1933312 9257073 /home/sam/bob.mp3 (mulder:/export/raid1/home/sam)
看到不同了吗?
我也没有,因此此方法只能告诉您当前是否通过put
或访问文件,get
但无法区分两者。但是,这将告诉您连接是否处于“活动”状态,即是否存在从SFTP服务器读取/写入文件的情况。
当我想观看SFTP服务器时,通常使用这种方法。
$ sudo watch "/usr/sbin/lsof -p $(pgrep sftp)"
这将lsof
每2秒运行一次命令,以“轮询”任何活动。
如果一次连接的用户超过1个$(pgrep sftp)
,则如果有多个sftp-server
实例,则可能需要修改并选择一个特定的PID 。另外,您还必须确定哪个用户正在通过SFTP访问文件。为此,您可以查看输出中的“ USER”列lsof
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句