/l3/users/eb/2009/linux0/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 :16 :17 :18 :19 :20 :21 :22 :23 :24 :25 :26 :27 :28 :29 :30 :31 :32 :33 :34 :35 :36 :37 :38 :39 :40 :41 :42 :43 |
|
#ls -l
итого 3324 drwxr-xr-x 2 root root 4096 Май 25 16:40 17179869184 drwxr-xr-x 2 root root 4096 Май 25 16:40 345448 drwxr-xr-x 2 root root 4096 Май 25 16:40 345789358 -rw-r--r-- 1 root root 0 Май 29 14:52 ABCABCf -rw-r--r-- 1 root root 0 Май 29 14:50 ABCABC:gff -rw-r--r-- 1 root root 0 Май 29 14:50 ABCfff drwxr-xr-x 2 root root 4096 Июн 3 11:51 bin -rw-r--r-- 1 root root 3024896 Июн 1 10:34 etc.iso -rw-r--r-- 1 root root 0 Май 26 18:22 F ... -rw-r--r-- 1 root root 0 Май 26 18:22 F.7 -rw-r--r-- 1 root root 0 Май 26 18:22 F.8 -rw-r--r-- 1 root root 0 Май 26 18:22 F.9 -rw-r--r-- 1 root root 0 Май 29 14:50 ffff -rw-r--r-- 1 root root 0 Май 29 14:52 fffffff -rw-r--r-- 1 root root 12 Май 25 14:47 file -rw-r--r-- 1 root root 54606 Май 29 10:24 iceweasel.dot -rw-r--r-- 1 root root 12 Май 25 14:47 last-ping -rw-r--r-- 1 root root 4737 Май 29 10:19 screen.dot -rw-r--r-- 1 root root 271894 Май 29 10:20 screen.png |
#ls -l|less
|
#cd /home
|
#ls
approx quiz user user1 user2 user3 userX userY |
#cd quiz
|
#ls
quiz quiz2 quiz3 start-quiz |
#cat start-quiz
cat: start-quiz: Нет такого файла или каталога |
#cd start-quiz
bash: cd: start-quiz: Нет такого файла или каталога |
#cat /home/quiz/start-quiz
#!/usr/bin/perl $id = $ENV{"SSH_CLIENT"}; $id = (split(/\s+/, $id))[0]; if ($id) { $id .= "-"}; $quiz_file = "quiz"; $log_file = ".quiz/$id".time().'.log'; @Questions = (); $Score = 0; sub ask_question($) { ... } else { $question .= $_; }; } close(QUIZ); for $question (@Questions) { $Score += ask_question($question); } print "Your score: $Score\n"; |
#cat /home/quiz/start-quiz|less
|
#cat /home/quiz
cat: /home/quiz: Это каталог |
#cat /home/quiz/
.bash_history .hushlogin.10 .hushlogin.6 quiz .ssh/ .bash_logout .hushlogin.2 .hushlogin.7 .quiz/ start-quiz .bashrc .hushlogin.3 .hushlogin.8 .quiz1/ .viminfo .hushlogin .hushlogin.4 .hushlogin.9 quiz2/ .hushlogin.1 .hushlogin.5 .profile quiz3/ |
#cat /home/quiz/quiz
# 0.1 ÑÐ°Ñ ÐоÑле Ñого как crontab бÑл изменÑн, Ð´Ð»Ñ Ñого ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ пеÑеÑиÑаÑÑ, нÑжно ли пеÑезапÑÑкаÑÑ cron, и еÑли нÑжно, Ñо как? # /etc/init.d/crond restart # /etc/init.d/crontab restart # /etc/init.d/crontab reload # pkill -1 cron # pkill -1 crond #! ÐеÑ, не нÑжно пеÑезапÑÑкаÑÑ, crontab и Ñак пеÑеÑиÑÑваеÑÑÑ Ð§Ñо обознаÑÐ°ÐµÑ Ñимвол % в команде в crontab? ... # strace `which prg` #! ldd `which prg` # strings `which prg' # strace 'which prg' Ðак полÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ñй ÑпиÑок Ñайлов, коÑоÑÑе пÑоÑеÑÑ 1234 оÑкÑÑÐ²Ð°ÐµÑ Ð² Ñ Ð¾Ð´Ðµ Ñвоей ÑабоÑÑ (не ÑолÑко, коÑоÑÑе оÑкÑÑÑÑ ÑейÑаÑ). #! strace -p 1234 -o /tmp/1234.strace; grep open /tmp/1234.strace #* lsof -p 1234 # strings `which 1234` # strings 'which 1234' |
#netstat -lnp -A inet
|
#netstat -lnp -A inet
ÑÐ# =) |
#ssh 192.168.15.12
ssh: connect to host 192.168.15.12 port 22: Connection refused |
#/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd. |
#exit
exit Connection to 192.168.15.1 closed. |
#man ssh
|
#screen -x
|
#ыыcat /etc/ssh/sshd_config
# Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22222 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key ... PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes |
#ssh -w 192.168.16.1:192.168.16.2 -N -f 192.168.15.1
Bad tun device '192.168.16.1:192.168.16.2' |
#ssh -w 0Ð:92.168.16.1:192.168.16.2 -N -f 192.168.15.1
Bad tun device '0:192.168.16.1:192.168.16.2' |
#ssh -w 0 -N -f 192.168.15.1
Enter passphrase for key '/root/.ssh/id_dsa': channel 0: open failed: administratively prohibited: open failed |
#ssh 192.168.15.1
Enter passphrase for key '/root/.ssh/id_dsa': l3-agent is already running: pid=4276; pidfile=/root/.lilalo/l3-agent.pid |
#getent passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh ... bea:x:1013:1013::/home/bea:/bin/sh beckie:x:1014:1014::/home/beckie:/bin/sh becky:x:1015:1015::/home/becky:/bin/sh behdad:x:1016:1016::/home/behdad:/bin/sh belinda:x:1017:1017::/home/belinda:/bin/sh ben:x:1018:1018::/home/ben:/bin/sh benjamin:x:1019:1019::/home/benjamin:/bin/sh benny:x:1020:1020::/home/benny:/bin/sh benson:x:1021:1021::/home/benson:/bin/sh bernard:x:1022:1022::/home/bernard:/bin/sh |
#exit
exit Connection to linux1 closed. |
#ifconfig
dummy0 Link encap:Ethernet HWaddr a2:95:80:44:21:2b inet addr:1.2.3.4 Bcast:1.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::a095:80ff:fe44:212b/64 Scope:Link UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:1257 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:40224 (39.2 KiB) eth0 Link encap:Ethernet HWaddr 00:16:3e:04:00:12 inet addr:10.0.35.100 Bcast:10.255.255.255 Mask:255.0.0.0 ... collisions:0 txqueuelen:1000 RX bytes:78254616 (74.6 MiB) TX bytes:148269989 (141.4 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1606 errors:0 dropped:0 overruns:0 frame:0 TX packets:1606 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:79590 (77.7 KiB) TX bytes:79590 (77.7 KiB) |
#ifconfig -a | less
|
#ifconfig tun0 192.168.16.1
|
#ping 192.168.16.1
PING 192.168.16.1 (192.168.16.1) 56(84) bytes of data. 64 bytes from 192.168.16.1: icmp_seq=1 ttl=64 time=0.015 ms --- 192.168.16.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.015/0.015/0.015/0.000 ms |
#ssh -w 1:192.168.17.1 -N -f 192.168.15.1
Bad tun device '1:192.168.17.1' |
#alias exit='echo no exit'
|
#cat /etc/ssh/ssh
ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub |
#cat /etc/ssh/sshd_config
# Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22222 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key ... PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes |
#zless /usr/share/dict/propernames | head -100 | tail -20
Avery Axel Barbara Barbra Barney Barrett Barrio Barry Bart Barton Bea Beckie Becky Behdad Belinda Ben Benjamin Benny Benson Bernard |
#zless /usr/share/dict/propernames | head -100 | tail -20 | tr AB ab
avery axel barbara barbra barney barrett barrio barry bart barton bea beckie becky behdad belinda ben benjamin benny benson bernard |
#eval `< ~/.ssh-agent `
Agent pid 13439 |
#ssh-agent > ~/.ssh-agent
|
#eval `< ~/.ssh-agent `
Agent pid 15619 |
#ssh-add
Enter passphrase for /root/.ssh/id_dsa: Identity added: /root/.ssh/id_dsa (/root/.ssh/id_dsa) |
#ssh linux1
l3-agent is already running: pid=4276; pidfile=/root/.lilalo/l3-agent.pid |
#ls -l etc/
drwxr-xr-x 4 root root 4096 Ноя 25 2008 dbus-1 -rw-r--r-- 1 root root 2969 Мар 3 18:34 debconf.conf -rw-r--r-- 1 root root 12 Фев 26 17:58 debian_version -rw-r--r-- 1 root root 0 Апр 14 11:30 debsums-ignore drwxr-xr-x 3 root root 4096 Июн 2 16:48 default drwxr-xr-x 4 root root 4096 Ноя 25 2008 defoma -rw-r--r-- 1 root root 600 Авг 11 2008 deluser.conf drwxr-xr-x 4 root root 4096 Май 24 13:16 dhcp3 drwxr-xr-x 2 root root 4096 Апр 23 13:35 dictionaries-common drwxr-xr-x 2 root root 4096 Фев 28 02:05 dm ... drwxr-xr-x 2 root root 4096 Май 24 13:16 terminfo -rw-r--r-- 1 root root 12 Май 29 12:27 timezone -rw-r--r-- 1 root root 645 Мар 25 13:05 ts.conf -rw-r--r-- 1 root root 1260 Май 30 2008 ucf.conf drwxr-xr-x 4 root root 4096 Май 24 13:16 udev drwxr-xr-x 2 root root 4096 Май 24 13:16 vim -rw-r--r-- 1 root root 4221 Сен 8 2008 wgetrc drwxr-xr-x 8 root root 4096 Июн 3 12:24 X11 drwxr-xr-x 6 root root 4096 Ноя 25 2008 xdg drwxr-xr-x 2 root root 4096 Ноя 25 2008 xml |
#ssh linux1 apt-get install rsync
Чтение списков пакетов... Построение дерева зависимостей... Чтение информации о состоянии... НОВЫЕ пакеты, которые будут установлены: rsync обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 25 пакетов не обновлено. Необходимо скачать 333kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 614kB. Получено:1 http://10.0.35.1 sid/main rsync 3.0.5-1 [333kB] debconf: не удалось инициализировать интерфейс: Dialog ... debconf: не удалось инициализировать интерфейс: Readline debconf: (Этот интерфейс работает только с управляющего терминала.) debconf: будет использован интерфейс: Teletype dpkg-preconfigure: не удалось заново открыть stdin: Получено 333kБ за 0s (4400kБ/c) Выбор ранее не выбранного пакета rsync. (Чтение базы данных ... на данный момент установлено 55232 файлов и каталогов.) Распаковывается пакет rsync (из файла .../rsync_3.0.5-1_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет rsync (3.0.5-1) ... |
#rsync -au linux1:/etc/ etc/
|
#rsync -au linux1:/etc/ etc/
|
#echo apt-get install rsync #| ssh Linux1 sh -s
apt-get install rsync |
#man rsync
|
#vi /etc/shadow
--- /tmp/l3-saved-14901.12413.12484 2009-06-03 15:46:40.000000000 +0300 +++ /etc/shadow 2009-06-03 15:46:46.000000000 +0300 @@ -1,4 +1,4 @@ -root:$1$DPgGfQ3x$vLIZijcOZebrSTF.Y1UbC0:14392:0:99999:7::: +root:$1$DPgGf*Q3x$vLIZijcOZebrSTF.Y1UbC0:14392:0:99999:7::: daemon:*:14392:0:99999:7::: bin:*:14392:0:99999:7::: sys:*:14392:0:99999:7::: |
#reboot
|
#screen -ls
|
#screen -x
|
#screen -x
|
#screen -ls
|
#screen -x
|
#screen -x
|
#screen -x
|
#screen -x
|
#screen -ls
|
#ssh 192.168.15.254
The authenticity of host '192.168.15.254 (192.168.15.254)' can't be established. RSA key fingerprint is 7e:ed:6a:01:cb:0b:a2:37:07:c5:64:c0:e0:23:f1:e4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.15.254' (RSA) to the list of known hosts. We'd like to keep you up to date about: * Software feature updates * New product announcements * Special events Please register your products now at: www.ProCurve.com root@192.168.15.254's password: Permission denied, please try again. root@192.168.15.254's password: Permission denied, please try again. root@192.168.15.254's password: Received disconnect from 192.168.15.254: 2: Too many authentication failures for root |
#ssh 192.168.15.254
We'd like to keep you up to date about: * Software feature updates * New product announcements * Special events Please register your products now at: www.ProCurve.com root@192.168.15.254's password: Permission denied, please try again. root@192.168.15.254's password: Permission denied, please try again. root@192.168.15.254's password: |
#ps -aux |grep screen
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html root 10400 0.0 0.3 5892 1016 pts/8 S+ 17:13 0:00 screen root 10463 0.0 0.4 5892 1060 pts/5 S+ 17:13 0:00 screen -x root 10471 0.0 0.4 5892 1056 pts/4 S+ 17:13 0:00 screen -x root 10604 0.0 0.4 5892 1056 pts/12 S+ 17:14 0:00 screen -x root 10605 0.0 0.4 5892 1056 pts/7 S+ 17:14 0:00 screen -x root 10676 0.0 0.4 5892 1056 pts/16 S+ 17:14 0:00 screen -x root 10831 0.0 0.4 5888 1056 pts/14 S+ 17:14 0:00 screen -x root 10841 0.0 0.4 5892 1056 pts/18 S+ 17:14 0:00 screen -x root 10979 0.0 0.4 5888 1052 pts/22 S+ 17:14 0:00 screen -x root 10985 0.0 0.4 5892 1056 pts/24 S+ 17:14 0:00 screen -x root 11234 0.0 0.4 5892 1056 pts/26 S+ 17:16 0:00 screen -x root 11285 0.0 0.4 5892 1056 pts/28 S+ 17:18 0:00 screen -x root 11411 0.0 0.4 5888 1056 pts/30 S+ 17:33 0:00 screen -x root 11483 0.0 0.2 4924 768 pts/32 R+ 17:35 0:00 grep screen |
ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub
# Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22222 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
# 0.1 ÑÐ°Ñ ÐоÑле Ñого как crontab бÑл изменÑн, Ð´Ð»Ñ Ñого ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ пеÑеÑиÑаÑÑ, нÑжно ли пеÑезапÑÑкаÑÑ cron, и еÑли нÑжно, Ñо как? # /etc/init.d/crond restart # /etc/init.d/crontab restart # /etc/init.d/crontab reload # pkill -1 cron # pkill -1 crond #! ÐеÑ, не нÑжно пеÑезапÑÑкаÑÑ, crontab и Ñак пеÑеÑиÑÑваеÑÑÑ Ð§Ñо обознаÑÐ°ÐµÑ Ñимвол % в команде в crontab? # То же, ÑÑо Ñимвол * в обÑÑной командной ÑÑÑоке # Самого ÑÐµÐ±Ñ (Ñо еÑÑÑ %) # Ðо вÑполнÑеÑÑÑ Ð·Ð°Ð´Ð°Ñа #! ÐеÑевод ÑÑÑоки # ÐÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи ÐÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² Ñайле /etc/crontab: */2 * * * * * root date > /tmp/date ЧÑо бÑÐ´ÐµÑ Ð´ÐµÐ»Ð°ÑÑ ÑÑа запиÑÑ? # ÐÑÐ´ÐµÑ ÐºÐ°Ð¶Ð´ÑÑ Ð²ÑоÑÑÑ Ð¼Ð¸Ð½ÑÑÑ Ð´Ð¾Ð¿Ð¸ÑÑваÑÑ ÑекÑÑее вÑÐµÐ¼Ñ Ð² Ñайл /tmp/date # ÐÑÐ´ÐµÑ ÐºÐ°Ð¶Ð´ÑÑ Ð¼Ð¸Ð½ÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ ÑекÑÑее вÑÐµÐ¼Ñ Ð² Ñайл /tmp/date # ÐÑÐ´ÐµÑ ÐºÐ°Ð¶Ð´Ñе полминÑÑÑ Ð´Ð¾Ð¿Ð¸ÑÑваÑÑ ÑекÑÑее вÑÐµÐ¼Ñ Ð² Ñайл /tmp/date # ÐÑÐ´ÐµÑ ÐºÐ°Ð¶Ð´ÑÑ Ð²ÑоÑÑÑ Ð¼Ð¸Ð½ÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ ÑекÑÑее вÑÐµÐ¼Ñ Ð² Ñайл /tmp/date # ÐÑÐ´ÐµÑ ÐºÐ°Ð¶Ð´Ñе полминÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ ÑекÑÑее вÑÐµÐ¼Ñ Ð² Ñайл /tmp/date #! Ðе бÑÐ´ÐµÑ ÑабоÑаÑÑ ÐаÑем иÑполÑзÑеÑÑÑ Ð¿ÑогÑамма anacron? # ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑÑÑÑÐ¸Ñ ÑÑ, но апеÑиодиÑеÑÐºÐ¸Ñ Ð´ÐµÐ¹ÑÑвий #! ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑÑÑÑÐ¸Ñ ÑÑ Ð´ÐµÐ¹ÑÑвий в ÑиÑÑÐµÐ¼Ð°Ñ , коÑоÑÑе пеÑиодиÑеÑки вÑклÑÑаÑÑÑÑ # ÐÐ»Ñ Ñого же, Ð´Ð»Ñ Ñего и cron, ÑолÑко Ñ Ð±Ð¾Ð»ÐµÐµ ÑоÑнÑми вÑеменнÑми инÑеÑвалами # ÐÑо более ÑÑаÑÐ°Ñ Ð²ÐµÑÑÐ¸Ñ cron, коÑоÑÐ°Ñ Ð½Ðµ иÑполÑзÑеÑÑÑ Ð² ÑовÑеменнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ # ÐÑо cron, коÑоÑÑй не ÑÑебÑÐµÑ Ð¿Ñав root'а Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ðак вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ iptables -F ÑеÑез 60 минÑÑ? # echo iptables -F | at +60 # echo iptables -F | at +3600 # echo iptables -F | at now+3600 # echo iptables -F | at now + 3600 #! echo iptables -F | at now + 60 minutes # echo iptables -F | at now + 60 mins # echo iptables -F | at now+60m ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе, ÑÑÐ¾Ð±Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° k1 вÑполнÑлаÑÑ ÐºÐ°Ð¶Ð´Ñе 30 ÑекÑнд, какÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð²Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñе в /etc/crontab, пÑи ÑÑловии, ÑÑо команда ÑÑебÑÐµÑ Ð´Ð»Ñ Ñвоего вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ 10 до 15 ÑекÑнд. # * * * * * root k1& sleep 30& k1 #! * * * * * root k1& sleep 30; k1 # * * * * * root k1; sleep 30& k1 # * * * * * root k1; sleep 30; k1 # * * * * * root k1& sleep 30& k1 # Так ÑделаÑÑ Ð½ÐµÐ»ÑзÑ, поÑÐ¾Ð¼Ñ ÑÑо crontab Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑолÑко Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм инÑеÑвалом 60 ÑекÑнд ÐÑ (полÑзоваÑÐµÐ»Ñ user) напиÑали ÑÑдо-ÑкÑÐ¸Ð¿Ñ /usr/local/bin/wonder-greetings и Ñ Ð¾ÑиÑе ÑÑÐ¾Ð±Ñ Ð¾Ð½ вÑполнÑлÑÑ Ð¸Ð· cron'а. ÐÑ Ñ Ð¾ÑиÑе ÑÑÐ¾Ð±Ñ Ð¾Ð½ пÑивеÑÑÑвовал ваÑÐ¸Ñ Ð´ÑÑзей (jid'Ñ ÐºÐ¾ÑоÑÑÑ Ð¿ÐµÑеÑиÑÐ»ÐµÐ½Ñ ÑеÑез пÑобел в Ñайле /home/user/my-friend) Ñ ÑÑÑа и желал им ÑÑаÑÑÑÑ Ð¸ здоÑовÑÑ. ÐÐ»Ñ ÑÑого Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ root Ð²Ñ Ð½Ð°ÑÑÑоили пÑогÑÐ°Ð¼Ð¼Ñ sendxmpp и добавили в /etc/crontab ÑакÑÑ Ð·Ð°Ð¿Ð¸ÑÑ: 8 10 * * * root wonder-greetings | sendxmpp `cat /home/user/my-friends` ÐÑÑалÑной /etc/crontab Ð²Ñ Ð½Ðµ ÑÑогали и вÑе запиÑи оÑÑавили в Ñом виде, в каком они Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ. ЧÑо пÑоизойдÑÑ? # ÐаждÑй Ð´ÐµÐ½Ñ Ð² 8:10 дÑÑзÑÑм бÑÐ´ÐµÑ ÑаÑÑÑлаÑÑÑÑ Ð¿Ð¾ джаббеÑÑ Ð¿ÑивеÑÑÑвие # ÐаждÑй Ð´ÐµÐ½Ñ 10:08 дÑÑзÑÑм бÑÐ´ÐµÑ ÑаÑÑÑлаÑÑÑÑ Ð¿Ð¾ джаббеÑÑ Ð¿ÑивеÑÑÑвие #! ÐиÑего, не бÑÐ´ÐµÑ ÑÑо ÑабоÑаÑÑ, cron не найдÑÑ ÑкÑÐ¸Ð¿Ñ # ÐиÑего, не бÑÐ´ÐµÑ ÑÑо ÑабоÑаÑÑ, нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ñимвол ` в ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ cron <!--30--> Ðа какÑÑ ÑиÑÑаÑÐ¸Ñ Ð¸Ð· пÑогÑаммного миÑа Ð¿Ð¾Ñ Ð¾Ð¶Ð° ÑиÑÑаÑиÑ, когда на пеÑекÑÑÑÑке маÑÐ¸Ð½Ñ Ð¿ÐµÑегоÑодили доÑÐ¾Ð³Ñ Ð´ÑÑг дÑÑгÑ, и никÑо не Ð¼Ð¾Ð¶ÐµÑ ÑдвинÑÑÑÑÑ, поÑÐ¾Ð¼Ñ ÑÑо ÐµÐ¼Ñ Ð¼ÐµÑÐ°ÐµÑ Ð´ÑÑÐ³Ð°Ñ Ð¼Ð°Ñина. Ð Ñак по кÑÑгÑ. # fstat # fileblock # superblock #! deadlock # inode # timeout ÐÑ Ð·Ð°Ð¿ÑÑкаеÑе пÑогÑÐ°Ð¼Ð¼Ñ vipw, а она подвиÑаеÑ. ÐÑ Ð¿ÑедполагаеÑе, ÑÑо она ÑÑо Ð´ÐµÐ»Ð°ÐµÑ Ð¸Ð·-за Ñого, ÑÑо ждÑÑ, ÑÑо дÑÑгой пÑоÑеÑÑ Ð¾ÑпÑÑÑÐ¸Ñ Ð±Ð»Ð¾ÐºÐ¸ÑовкÑ, коÑоÑÐ°Ñ ÐµÐ¹ нÑжна. С помоÑÑÑ ÐºÐ°ÐºÐ¾Ð¹ пÑогÑÐ°Ð¼Ð¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ в ÑÑом ÑбедиÑÑÑÑ Ð¸Ð»Ð¸ ÑÑо опÑовеÑгнÑÑÑ? #! strace # lsof # sockstat # lockstat # fstat # fuser ЧÑо позволÑÐµÑ Ð¾ÑÑледиÑÑ Ð¿ÑогÑамма strace? # ÐÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ # ÐÐ°Ð±Ð¾Ñ ÑиÑÑемнÑÑ Ð¸Ð½ÑеÑÑейÑов, ÑеÑез коÑоÑÑе пÑÐ¾Ñ Ð¾Ð´ÑÑ Ð´Ð°Ð½Ð½Ñе, пÑежде Ñем попаÑÑÑ Ð½Ð° жÑÑÑкий диÑк # ÐÑкÑÑÑÐ¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑÑ Ñайлов # ÐбÑаÑÐµÐ½Ð¸Ñ Ðº модÑлÑм ÑдÑа ЧÑо Ñакое ÑиÑÑемнÑй вÑзов? #! ÐбÑаÑение пÑоÑеÑÑа к ÑдÑÑ, когда Ñ Ð½ÐµÐ³Ð¾ Ñ Ñамого не Ñ Ð²Ð°ÑÐ°ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñий на вÑполнение какой-Ñо опеÑаÑии # ÐÑзов обÑÑнÑм пÑоÑеÑÑом пÑоÑеÑÑа-демона # Ð# ÐбÑаÑение к пÑогÑаммной библиоÑеке Ðожно ли подклÑÑиÑÑÑÑ Ðº ÑабоÑаÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ Ð¸ поÑмоÑÑеÑÑ, ÑÑо он делаеÑ? # ÐеÑ, нелÑзÑ, Ð´Ð»Ñ ÑÑого нÑжно оÑÑанавливаÑÑ Ð¿ÑоÑеÑÑ #! Ðа, можно; Ð´Ð»Ñ ÑÑого нÑжно иÑполÑзоваÑÑ strace # Ðа, можно; Ð´Ð»Ñ ÑÑого нÑжно иÑполÑзоваÑÑ ldconfig # Ðа, можно; Ð´Ð»Ñ ÑÑого нÑжно иÑполÑзоваÑÑ lsof # Ðа, можно; Ð´Ð»Ñ ÑÑого нÑжно иÑполÑзоваÑÑ ld Ðакой пÑогÑаммой пÑоÑмоÑÑеÑÑ ÑпиÑок оÑкÑÑÑÑÑ Ñайлов? # fuser # fstat #! lsof # sockstat # vmstat #* ls -l /proc/*/fd | awk "[print $11}" Ðак поÑмоÑÑеÑÑ ÑпиÑок оÑкÑÑÑÑÑ Ñайлов в опÑеделÑнном каÑалоге /dir? # fuser /dir # ldof /dir #! lsof | grep /dir # lsof +/dir Ðак пÑоÑмоÑÑеÑÑ ÑÑÐµÐ´Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа 1234? #! cat /proc/1234/environ | tr '\0' \n' # env -p 1234 # strace -p 1234 | grep env # cat /proc/1234/mem | grep env # ÐÑоÑмоÑÑеÑÑ ÑÑÐµÐ´Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа нелÑзÑ, поÑÐ¾Ð¼Ñ ÑÑо ÑÑо закÑÑÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ðак поÑмоÑÑеÑÑ, какие библиоÑеки иÑполÑзÑÐµÑ Ð¿ÑогÑамма prg? # ldd 'which prg' # strings `which prg` # strace `which prg` #! ldd `which prg` # strings `which prg' # strace 'which prg' Ðак полÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ñй ÑпиÑок Ñайлов, коÑоÑÑе пÑоÑеÑÑ 1234 оÑкÑÑÐ²Ð°ÐµÑ Ð² Ñ Ð¾Ð´Ðµ Ñвоей ÑабоÑÑ (не ÑолÑко, коÑоÑÑе оÑкÑÑÑÑ ÑейÑаÑ). #! strace -p 1234 -o /tmp/1234.strace; grep open /tmp/1234.strace #* lsof -p 1234 # strings `which 1234` # strings 'which 1234'
#!/usr/bin/perl $id = $ENV{"SSH_CLIENT"}; $id = (split(/\s+/, $id))[0]; if ($id) { $id .= "-"}; $quiz_file = "quiz"; $log_file = ".quiz/$id".time().'.log'; @Questions = (); $Score = 0; sub ask_question($) { my $question = $_[0]; my %answer_score; $i=1; $question =~ s{^(#!?)}{$1 eq '#!' and $answer_score{$i}=1;$i++}gme; print $question; $answer=<>; chomp $answer; open(LOG, ">>$log_file") or die "Can't open $log_file for writing"; print LOG $question; if ($answer_score{$answer}) { print LOG "+++ (", $answer,")\n"; } else { print LOG "--- (", join(" ", sort(keys(%answer_score))), ")\n"; } close(LOG); return $answer_score{$answer}; } open(QUIZ, $quiz_file); $question=""; while(<QUIZ>) { s/<!--.*-->//g; if (/^\s*$/) { if ($question) { push @Questions, $question; $question = ""; } } else { $question .= $_; }; } close(QUIZ); for $question (@Questions) { $Score += ask_question($question); } print "Your score: $Score\n";
Время первой команды журнала | 13:57:18 2009- 6- 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 17:52:33 2009- 6- 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 33.66 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.99 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 2.44 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.69 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008