Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam. Gdzie w Linuxie znajdują się ostatnio podłączone urządzenia (cokolwiek, usb, sata czy nawet stworzone wirualne interfejsy). Szukałem w internecie żeby wykorzystać do tego find i przeszukać /dev/ i wyświetlić np. pliki utworzone w ciągu ostatniej minuty, ale nie chce mi to zadziałać. Miałby ktoś może jakiś pomysł? Wgl podstawowe pytanie czy szukać w /dev/ czy może /sys ??
Offline
W dmesg i /var/log/{messages,syslog} będziesz miał każde zdarzenie z dokładna datą wystąpienia, poszukaj logów udeva.
Przykładowo Pendrak u mnie:
[12099.771038] usb 2-1: new high-speed USB device number 2 using ehci-pci [12099.887797] usb-storage 2-1:1.0: USB Mass Storage device detected [12099.888872] scsi6 : usb-storage 2-1:1.0 [12100.891648] scsi 6:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2 [12100.892447] sd 6:0:0:0: Attached scsi generic sg2 type 0 [12100.896770] sd 6:0:0:0: [sdb] 3903578 512-byte logical blocks: (1.99 GB/1.86 GiB) [12100.897391] sd 6:0:0:0: [sdb] Write Protect is off [12100.897397] sd 6:0:0:0: [sdb] Mode Sense: 16 07 09 51 [12100.898210] sd 6:0:0:0: [sdb] Incomplete mode parameter data [12100.898215] sd 6:0:0:0: [sdb] Assuming drive cache: write through [12100.904040] sd 6:0:0:0: [sdb] Incomplete mode parameter data [12100.904046] sd 6:0:0:0: [sdb] Assuming drive cache: write through [12100.906154] sdb: sdb1 sdb2 sdb3 [12100.909510] sd 6:0:0:0: [sdb] Incomplete mode parameter data [12100.909515] sd 6:0:0:0: [sdb] Assuming drive cache: write through [12100.909520] sd 6:0:0:0: [sdb] Attached SCSI removable disk [12101.137138] EXT4-fs (sdb3): mounting ext3 file system using the ext4 subsystem [12101.176070] EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended [12101.177594] EXT4-fs (sdb3): recovery complete [12101.179148] EXT4-fs (sdb3): mounted filesystem with ordered data mode. Opts: (null) [12101.179191] grsec: mount of /dev/sdb3 to /media/Pendrak3 by /bin/mount[mount:8022] uid/euid:0/0 gid/egid:0/0, parent /usr/libexec/udisks-daemon[udisks-daemon:2949] uid/euid:0/0 gid/egid:0/0 [12101.270654] FAT-fs (sdb2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. [12101.270692] grsec: mount of /dev/sdb2 to /media/PENDRAK2 by /bin/mount[mount:8031] uid/euid:0/0 gid/egid:0/0, parent /usr/libexec/udisks-daemon[udisks-daemon:2949] uid/euid:0/0 gid/egid:0/0 [12101.368778] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. [12101.368818] grsec: mount of /dev/sdb1 to /media/PENDRAK1 by /bin/mount[mount:8038] uid/euid:0/0 gid/egid:0/0, parent /usr/libexec/udisks-daemon[udisks-daemon:2949] uid/euid:0/0 gid/egid:0/0
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-03-23 13:46:54)
Offline
no zapomniałem dodać, że potrzebne mi to do skryptu i chciałbym łatwo za pomocą liczby określić, że w jakimś czasie coś zostało podłączone/odłączone od komputera (nie ważne co).
przed chwilą przetestowałem
watch "find /dev | wc -l"
i w sumie to działało - liczba się zmieniała w zależności gdy coś podłączyłem/odłączyłem, lecz nie wiem czy to jest dobry sposób.
Offline
use force luke ;)
Zrób sobie urządzenie fifo np /dev/logger, popraw wpisy w syslogu tak żeby udev wysyłał swoje logi do /dev/logger. Następnie pseudo daemon w perlu który czyta /dev/logger, zapisuje dane do "normalnego loga" i dodatkowo jak wylapie info o podłączeniu jakiego urządzenia uruchamia wybraną akcje (zapisanie tej linijki do dodatkowego loga, dopisanie coś do pliku, reset kompa - cokolwiek ;))
Tu masz coś podobnego opisane [url]http://www.debian.pl/content/306-Implementacja-systemu-aktywnego-przeciwdzialania-intruzom-(IPS)-w-Pythonie-czesc-1[/url]
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00110 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.16.70.99' WHERE u.id=1 |
0.00099 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.70.99', 1732880377) |
0.00050 | SELECT * FROM punbb_online WHERE logged<1732880077 |
0.00047 | SELECT topic_id FROM punbb_posts WHERE id=260967 |
0.00041 | SELECT id FROM punbb_posts WHERE topic_id=25482 ORDER BY posted |
0.00063 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25482 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00074 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25482 ORDER BY p.id LIMIT 0,25 |
0.00090 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25482 |
Total query time: 0.00594 s |