Журнал лабораторных работ

Содержание

Журнал

Пятница (12/01/06)

/dev/pts/1
12:33:26
#echo 0 >> /proc/sys/net/ipv4/ip_forward

12:33:56
#cat /proc/sys/net/ipv4/ip_forward
0
12:34:11
#echo 1 > /proc/sys/net/ipv4/ip_forward

12:35:05
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         linux1.linux.it 0.0.0.0         UG    0      0        0 eth0
12:36:18
#sysctl
usage:  sysctl [-n] [-e] variable ...
        sysctl [-n] [-e] [-q] -w variable=value ...
        sysctl [-n] [-e] -a
        sysctl [-n] [-e] [-q] -p <file>   (default /etc/sysctl.conf)
        sysctl [-n] [-e] -A
12:36:43
#cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
12:37:24
#cat /etc/sysctl.conf

12:38:43
#sysctl -a
net.ipv4.route.redirect_load = 20
net.ipv4.route.gc_interval = 60
net.ipv4.route.gc_timeout = 300
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.max_size = 32768
net.ipv4.route.gc_thresh = 2048
net.ipv4.route.max_delay = 10
net.ipv4.route.min_delay = 2
error: unknown error 22 reading key 'net.ipv4.route.flush'
net.ipv4.icmp_ignore_bogus_error_responses = 0
...
fs.dir-notify-enable = 1
fs.leases-enable = 1
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.dentry-state = 12326 9636    45      0       0       0
fs.file-max = 101984
fs.file-nr = 885        0       101984
fs.inode-state = 11600  2       0       0       0       0       0
fs.inode-nr = 11600     2
error: unknown error 22 reading key 'fs.binfmt_misc.register'
12:39:06
#cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
прошла 21 минута
/dev/pts/1
13:00:36
#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
13:02:58
#!watch
watch iptables -L -v
13:05:26
#man iptables
13:06:39
#watch iptables -L -v

13:06:39
#nmap 192.168.2.200
Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2006-12-01 14:11 MSK
Interesting ports on linux200.linux.it (192.168.2.200):
(The 1655 ports scanned but not shown below are in state: closed)
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
32779/tcp open  sometimes-rpc21
MAC Address: 00:11:09:80:D7:36 (Micro-Star International)
Nmap run completed -- 1 IP address (1 host up) scanned in 0.459 seconds
прошло 19 минут
/dev/pts/1
13:26:26
#cat /etc/exports
/misc/RHEL-4-AS         192.168.2.0/24(ro)
прошло 32 минуты
/dev/pts/1
13:58:28
#cat /etc/exports
/misc/RHEL-4-AS         192.168.2.0/24(ro)
13:58:35
#mount 192.168.2.254:/misc/RHEL-4-AS /mnt

14:00:03
#ls /mnt
autorun   lost+found      README-es.html  README-ja.html     README-zh_CN.html
EULA      README-bn.html  README-fr.html  README-ko.html     README-zh_TW.html
GPL       README-de.html  README-gu.html  README-pa.html     RedHat
images    README-en       README-hi.html  README-pt_BR.html  SRPMS
isolinux  README-en.html  README-it.html  README-ta.html
прошло 57 минут
/dev/pts/1
14:57:57
#iptables
iptables v1.2.11: no command specified
Try `iptables -h' or 'iptables --help' for more information.
14:59:19
#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             213.180.192.0/20    tcp dpt:http
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
14:59:21
#iptables -D FORWARD 1

14:59:34
#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Среда (12/06/06)

/dev/pts/1
15:41:29
#cat /proc/sys/kernel/
acct                    msgmni                  random/
cad_pid                 ngroups_max             real-root-dev
cap-bound               osrelease               sem
core_pattern            ostype                  shmall
core_uses_pid           overflowgid             shmmax
ctrl-alt-del            overflowuid             shmmni
domainname              panic                   suid_dumpable
exec-shield             panic_on_oops           sysrq
exec-shield-randomize   pid_max                 tainted
hostname                print-fatal-signals     threads-max
hotplug                 printk                  vdso
modprobe                printk_ratelimit        version
msgmax                  printk_ratelimit_burst
msgmnb                  pty/
15:41:29
#cat /proc/sys/
debug/  dev/    fs/     kernel/ net/    proc/   sunrpc/ vm/
15:41:29
#cat /proc/sys/net/
core/       ethernet/   ipv4/       ipv6/       token-ring/ unix/
15:41:29
#cat /proc/sys/net/ipv
ipv4/ ipv6/
15:41:29
#cat /proc/sys/net/ipv4/
conf/                              tcp_fack
icmp_echo_ignore_all               tcp_fin_timeout
icmp_echo_ignore_broadcasts        tcp_frto
icmp_ignore_bogus_error_responses  tcp_keepalive_intvl
icmp_ratelimit                     tcp_keepalive_probes
icmp_ratemask                      tcp_keepalive_time
igmp_max_memberships               tcp_low_latency
igmp_max_msf                       tcp_max_orphans
inet_peer_gc_maxtime               tcp_max_syn_backlog
inet_peer_gc_mintime               tcp_max_tw_buckets
...
ip_autoconfig                      tcp_orphan_retries
ip_conntrack_max                   tcp_reordering
ip_default_ttl                     tcp_retrans_collapse
ip_dynaddr                         tcp_retries1
ip_forward                         tcp_retries2
ipfrag_high_thresh                 tcp_rfc1337
ipfrag_low_thresh                  tcp_rmem
ipfrag_secret_interval             tcp_sack
ipfrag_time                        tcp_stdurg
ip_local_port_range                tcp_synack_retries
15:41:29
#cat /proc/sys/net/ipv4/ip_
ip_autoconfig        ip_dynaddr           ip_nonlocal_bind
ip_conntrack_max     ip_forward           ip_no_pmtu_disc
ip_default_ttl       ip_local_port_range
15:41:29
#[root@linux0:~]# cat /proc/sys/net/ipv4/ip_forward
1
15:43:32
# /proc/sys/net/ipv4/ip_forward

15:43:39
#echo 0 > /proc/sys/net/ipv4/ip_forward

15:43:49
#echo 1 > /proc/sys/net/ipv4/ip_forward

15:45:01
#vi /etc/sysctl.conf
15:46:04
#vi /etc/sysctl.conf
15:47:08
#[root@linux0:~]# vi /etc/sysctl.conf

15:47:17
#sysctrl
bash: sysctrl: command not found
15:47:26
#sysctl
usage:  sysctl [-n] [-e] variable ...
        sysctl [-n] [-e] [-q] -w variable=value ...
        sysctl [-n] [-e] -a
        sysctl [-n] [-e] [-q] -p <file>   (default /etc/sysctl.conf)
        sysctl [-n] [-e] -A
15:47:35
#sysctl -a
net.ipv4.route.redirect_load = 20
net.ipv4.route.gc_interval = 60
net.ipv4.route.gc_timeout = 300
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.max_size = 32768
net.ipv4.route.gc_thresh = 2048
net.ipv4.route.max_delay = 10
net.ipv4.route.min_delay = 2
error: unknown error 22 reading key 'net.ipv4.route.flush'
net.ipv4.icmp_ignore_bogus_error_responses = 0
...
fs.dir-notify-enable = 1
fs.leases-enable = 1
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.dentry-state = 8750  6940    45      0       0       0
fs.file-max = 101984
fs.file-nr = 870        0       101984
fs.inode-state = 8429   289     0       0       0       0       0
fs.inode-nr = 8429      289
error: unknown error 22 reading key 'fs.binfmt_misc.register'
15:47:43
#man sysctl
15:48:18
#echo 1 > /proc/sys/net/ipv4/ip_forward

15:48:29
#sysctl -w net.ipv4.ip_forward=0
net.ipv4.ip_forward = 0
15:48:51
#less /etc/sysctl.conf | grep forward
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
15:49:07
#echo 1 > /proc/sys/net/ipv4/ip_forward

15:49:24
#less /etc/sysctl.conf | grep forward

15:51:16
#echo 1 > /proc/sys/net/ipv4/ip_forwa

15:51:22
#ex
Entering Ex mode.  Type "visual" to go to Normal mode.
:
E501: At end-of-file
:::
:
E501: At end-of-file
:
E501: At end-of-file
:q

Четверг (12/07/06)

/dev/pts/1
11:45:04
#set | grep DISPLAY

11:45:17
#xclock
Error: Can't open display:
/dev/pts/1
11:45:32
#set | grep DISPLAY
DISPLAY=localhost:10.0
11:45:35
#xclock

11:45:46
#[root@linux0:~]# set | grep DISPLAY

/dev/pts/1
11:55:30
#start
start_udev  startx
11:55:30
#start
start_udev  startx
11:55:30
#i
Display all 108 possibilities? (y or n)
11:55:30
#system-config-net
system-config-netboot        system-config-network-druid
system-config-network        system-config-network-gui
system-config-network-cmd    system-config-network-tui
11:55:30
#system-config-network

11:57:08
#system-config-network

Пятница (12/08/06)

/dev/pts/1
09:08:51
#chkconfig nfs --list
nfs             0:выкл      1:выкл      2:вкл        3:вкл        4:вкл        5:вкл        6:выкл
09:09:10
#cat /etc/exports
/misc/RHEL-4-AS         192.168.2.0/24(ro)

Файлы

  • /etc/exports
  • /etc/sysctl.conf
  • /proc/sys/
  • /proc/sys/kernel/
  • /proc/sys/net/
  • /proc/sys/net/ipv
  • /proc/sys/net/ipv4/
  • /proc/sys/net/ipv4/ip_
  • /proc/sys/net/ipv4/ip_forward
  • /etc/exports
    >
    /misc/RHEL-4-AS         192.168.2.0/24(ro)
    
    /etc/sysctl.conf
    >
    # Kernel sysctl configuration file for Red Hat Linux
    #
    # For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
    # sysctl.conf(5) for more details.
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 1
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    # Controls whether core dumps will append the PID to the core filename.
    # Useful for debugging multi-threaded applications.
    kernel.core_uses_pid = 1
    
    /proc/sys/
    >
    debug/  dev/    fs/     kernel/ net/    proc/   sunrpc/ vm/
    
    /proc/sys/kernel/
    >
    acct                    msgmni                  random/
    cad_pid                 ngroups_max             real-root-dev
    cap-bound               osrelease               sem
    core_pattern            ostype                  shmall
    core_uses_pid           overflowgid             shmmax
    ctrl-alt-del            overflowuid             shmmni
    domainname              panic                   suid_dumpable
    exec-shield             panic_on_oops           sysrq
    exec-shield-randomize   pid_max                 tainted
    hostname                print-fatal-signals     threads-max
    hotplug                 printk                  vdso
    modprobe                printk_ratelimit        version
    msgmax                  printk_ratelimit_burst
    msgmnb                  pty/
    
    /proc/sys/net/
    >
    core/       ethernet/   ipv4/       ipv6/       token-ring/ unix/
    
    /proc/sys/net/ipv
    >
    ipv4/ ipv6/
    
    /proc/sys/net/ipv4/
    >
    conf/                              tcp_fack
    icmp_echo_ignore_all               tcp_fin_timeout
    icmp_echo_ignore_broadcasts        tcp_frto
    icmp_ignore_bogus_error_responses  tcp_keepalive_intvl
    icmp_ratelimit                     tcp_keepalive_probes
    icmp_ratemask                      tcp_keepalive_time
    igmp_max_memberships               tcp_low_latency
    igmp_max_msf                       tcp_max_orphans
    inet_peer_gc_maxtime               tcp_max_syn_backlog
    inet_peer_gc_mintime               tcp_max_tw_buckets
    inet_peer_maxttl                   tcp_mem
    inet_peer_minttl                   tcp_moderate_rcvbuf
    inet_peer_threshold                tcp_no_metrics_save
    ip_autoconfig                      tcp_orphan_retries
    ip_conntrack_max                   tcp_reordering
    ip_default_ttl                     tcp_retrans_collapse
    ip_dynaddr                         tcp_retries1
    ip_forward                         tcp_retries2
    ipfrag_high_thresh                 tcp_rfc1337
    ipfrag_low_thresh                  tcp_rmem
    ipfrag_secret_interval             tcp_sack
    ipfrag_time                        tcp_stdurg
    ip_local_port_range                tcp_synack_retries
    
    /proc/sys/net/ipv4/ip_
    >
    ip_autoconfig        ip_dynaddr           ip_nonlocal_bind
    ip_conntrack_max     ip_forward           ip_no_pmtu_disc
    ip_default_ttl       ip_local_port_range
    
    /proc/sys/net/ipv4/ip_forward
    >
    0
    

    Статистика

    Время первой команды журнала12:33:26 2006-12- 1
    Время последней команды журнала09:09:10 2006-12- 8
    Количество командных строк в журнале59
    Процент команд с ненулевым кодом завершения, %20.34
    Процент синтаксически неверно набранных команд, % 1.69
    Суммарное время работы с терминалом *, час 1.31
    Количество командных строк в единицу времени, команда/мин 0.75
    Частота использования команд
    cat13|==================| 18.06%
    ip_forward7|=========| 9.72%
    echo7|=========| 9.72%
    sysctl5|======| 6.94%
    iptables5|======| 6.94%
    grep5|======| 6.94%
    [root@linux0:~]#3|====| 4.17%
    start2|==| 2.78%
    xclock2|==| 2.78%
    man2|==| 2.78%
    system-config-network2|==| 2.78%
    set2|==| 2.78%
    vi2|==| 2.78%
    less2|==| 2.78%
    system-config-net1|=| 1.39%
    chkconfig1|=| 1.39%
    route1|=| 1.39%
    >1|=| 1.39%
    ex1|=| 1.39%
    mount1|=| 1.39%
    nmap1|=| 1.39%
    i1|=| 1.39%
    watch1|=| 1.39%
    ls1|=| 1.39%
    ip_forwa1|=| 1.39%
    sysctrl1|=| 1.39%
    !watch1|=| 1.39%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ 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
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$