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

Содержание

Журнал

Вторник (02/20/07)

/dev/ttyv1
10:46:28
#kinit admin
admin@COSMO.LAN's Password:
kinit: NOTICE: ticket renewable lifetime is 1 week
10:46:40
#smbclient -k andromeda
andromeda: Not enough '\' characters in service
Usage: [-?|--help] [--usage] [-R|--name-resolve NAME-RESOLVE-ORDER]
        [-M|--message HOST] [-I|--ip-address IP] [-E|--stderr] [-L|--list HOST]
        [-t|--terminal CODE] [-m|--max-protocol LEVEL] [-T|--tar <c|x>IXFqgbNan]
        [-D|--directory DIR] [-c|--command STRING] [-b|--send-buffer BYTES]
        [-p|--port PORT] [-g|--grepable] [-d|--debuglevel DEBUGLEVEL]
        [-s|--configfile CONFIGFILE] [-l|--log-basename LOGFILEBASE]
        [-V|--version] [-O|--socket-options SOCKETOPTIONS]
        [-n|--netbiosname NETBIOSNAME] [-W|--workgroup WORKGROUP]
        [-i|--scope SCOPE] [-U|--user USERNAME] [-N|--no-pass] [-k|--kerberos]
        [-A|--authentication-file FILE] [-S|--signing on|off|required]
        [-P|--machine-pass] service <password>
10:47:29
#smbclient -kL andromeda
OS=[Windows Server 2003 3790] Server=[Windows Server 2003 5.2]
        Sharename       Type      Comment
        ---------       ----      -------
        Pub             Disk
OS=[Windows Server 2003 3790] Server=[Windows Server 2003 5.2]
        IPC$            IPC             NETLOGON        Disk            ADMIN$          Disk            SYSVOL          Disk            C$              Disk
        Server               Comment
        ---------            -------
        Workgroup            Master
        ---------            -------
10:47:43
#smbclient -k //andromeda/pub
OS=[Windows Server 2003 3790] Server=[Windows Server 2003 5.2]
smb: \> cd -l
cd \-l\: NT_STATUS_OBJECT_NAME_NOT_FOUND
smb: \> dir
  .                                   D        0  Tue Feb 20 10:48:13 2007
  ..                                  D        0  Tue Feb 20 10:48:13 2007
  Privet-Nastoyaschim-Unixoidam.txt      A        0  Tue Feb 20 10:48:03 2007
  wewewewew                           D        0  Tue Feb 20 10:47:54 2007
                39197 blocks of size 1048576. 36173 blocks available
smb: \> ls
...
smb: \> ls
  .                                   D        0  Tue Feb 20 11:07:44 2007
  ..                                  D        0  Tue Feb 20 11:07:44 2007
  a_on_vse_ZELENIY                    D        0  Tue Feb 20 10:50:03 2007
  data                                D        0  Tue Feb 20 11:07:44 2007
  Illuminator                         D        0  Tue Feb 20 10:49:49 2007
  Privet-Nastoyaschim-Unixoidam.txt      A        0  Tue Feb 20 10:48:03 2007
  wewewewew                           D        0  Tue Feb 20 10:47:54 2007
                39197 blocks of size 1048576. 36173 blocks available
smb: \> exit
прошла 31 минута
11:19:22
#vi smb.conf
11:22:18
#testparm -sv smb.conf
        winbind cache time = 300
        winbind enum users = No
        winbind enum groups = No
        winbind use default domain = No
        winbind trusted domains only = No
        winbind nested groups = Yes
        winbind nss info = template
        winbind refresh tickets = No
        winbind offline logon = No
        comment =
...
        read only = No
        browseable = No
[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
[dostup]
        path = /tmp
        valid users = user
11:22:52
#testparm -s smb.conf
Load smb config files from smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
ERROR: both 'wins support = true' and 'wins server = <server list>' cannot be set in the smb.conf file. nmbd will abort with this setting.
Server role: ROLE_DOMAIN_MEMBER
[global]
...
        read only = No
        browseable = No
[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
[dostup]
        path = /tmp
        valid users = user
11:23:19
#net ads join -U admin
admin's password:
The workgroup in smb.conf does not match the short
domain name obtained from the server.
Using the name [COSMO] from the server.
You should set "workgroup = COSMO" in smb.conf.
Using short domain name -- COSMO
Joined 'FBSD2' to realm 'COSMO.LAN'
11:24:37
#vi smb.conf
26c26,27
<    workgroup = MYGROUP
---
>   ; workgroup = MYGROUP
>    workgroup = COSMO 
11:25:47
#net ads testjoin
Join is OK
11:26:21
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: FAILED
11:35:21
#/usr/local/etc/rc.d/samba stop
Stopping smbd.
Stopping nmbd.
11:35:29
#/usr/local/etc/rc.d/samba start
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
11:35:35
#less /etc/hosts
11:39:11
#vi smb.conf
11:42:34
#testparm -v | grep winbind
Load smb config files from /usr/local/etc/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
ERROR: both 'wins support = true' and 'wins server = <server list>' cannot be set in the smb.conf file. nmbd will abort with this setting.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
        winbind separator = \
        winbind cache time = 300
        winbind enum users = No
        winbind enum groups = No
        winbind use default domain = No
        winbind trusted domains only = No
        winbind nested groups = Yes
        winbind nss info = template
        winbind refresh tickets = No
        winbind offline logon = No
11:43:09
#testparm -v | grep idmap
Load smb config files from /usr/local/etc/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
ERROR: both 'wins support = true' and 'wins server = <server list>' cannot be set in the smb.conf file. nmbd will abort with this setting.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
        ldap idmap suffix =
        idmap backend =
        idmap uid =
        idmap gid =
11:43:36
#testparm -v | grep template
Load smb config files from /usr/local/etc/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
ERROR: both 'wins support = true' and 'wins server = <server list>' cannot be set in the smb.conf file. nmbd will abort with this setting.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
        usershare template share =
        template homedir = /home/%D/%U
        template shell = /bin/false
        winbind nss info = template
11:44:41
#vi smb.conf
11:48:50
#/usr/local/etc/rc.d/samba stop
Stopping smbd.
Stopping nmbd.
11:49:05
#/usr/local/etc/rc.d/samba start
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
11:49:12
#vi smb.conf
11:50:07
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: FAILED
11:50:21
#testparm
Load smb config files from /usr/local/etc/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
ERROR: both 'wins support = true' and 'wins server = <server list>' cannot be set in the smb.conf file. nmbd will abort with this setting.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
^C
11:50:38
#vim /usr/local/etc/smb.conf
11:51:08
#vi /usr/local/etc/smb.conf
11:51:44
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
11:51:54
#vi /usr/local/etc/smb.conf
11:52:40
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ....... done
Starting nmbd.
Starting smbd.
11:52:47
#grep idmap /usr/local/etc/rc.d/samba
samba_idmap=$(${samba_parm} 'idmap uid' ${samba_config} 2>/dev/null)
    if [ -n "${samba_idmap}" ]; then
    # XXX: Never delete winbindd_idmap, winbindd_cache and group_mapping
11:53:06
#vi /usr/local/etc/rc.d/samba
11:54:30
#testparm
Load smb config files from /usr/local/etc/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[dostup]"
Unknown parameter encountered: "writeble"
Ignoring unknown parameter "writeble"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
[global]
...
        read only = No
        browseable = No
[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
[dostup]
        path = /tmp
        valid users = user
11:54:46
#less /etc/rc.conf
11:55:01
#vi /etc/rc.conf
16,17c16,17
< nmbd_enable="YES"
< smbd_enable="YES"
---
> samba_enable="YES"
> 
11:55:16
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
winbindd not running? (check /var/run/winbindd.pid).
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.
11:55:25
#wbinfo -u
COSMO\admin
COSMO\COSMO\support_388945a0
COSMO\krbtgt
11:55:50
#vim /usr/local/etc/smb.conf
187c187
< 
---
> winbind use default domain = yes
302c302
< writeble = yes
---
> writable = yes
11:56:27
#vi smb.conf
11:58:00
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
Stopping winbindd.
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.
11:58:11
#wbinfo -u
Admin
SUPPORT_388945a0
krbtgt
11:58:23
#wbinfo -g
BUILTIN\administrators
BUILTIN\users
DnsUpdateProxy
11:59:39
#vi /etc/nsswitch.conf
1c1,2
< group: compat
---
> #group: compat
> group: files winbind 
5c6,7
< passwd: compat
---
> #passwd: compat
> passwd: files winbind 
12:03:03
#cd /usr/local/etc/samba/

12:03:13
#ls -aGF
./  ../
12:03:17
#cd /etc/

12:03:38
#ls -aGF
./                   locate.rc            printcap
../                  login.access         profile
X11/                 login.conf           protocols
aliases@             login.conf.db        pwd.db
amd.map              mac.conf             rc
apmd.conf            mail/                rc.bsdextended
auth.conf            mail.rc              rc.conf
bluetooth/           make.conf            rc.d/
crontab              manpath.config       rc.firewall
csh.cshrc            manpath.config.bak   rc.firewall6
...
gnats/               opiekeys             skel/
group                pam.d/               snmpd.config
host.conf            passwd               spwd.db
hosts                pccard_ether*        ssh/
hosts.allow          periodic/            ssl/
hosts.equiv          pf.conf              sysctl.conf
hosts.lpd            pf.os                syslog.conf
inetd.conf           phones               termcap@
isdn/                portsnap.conf        ttys
localtime            ppp/                 usbd.conf
12:03:40
#cd /usr/local/etc/samba/

12:03:43
#pw usershow admin
^C
12:03:59
#ls -aGF
./  ../
12:04:03
#cd /usr/ports/net/samba3

12:04:30
#make install

12:04:37
#pkg_info -Lx samba
/usr/local/share/swat/using_samba/figs/sam2_0308.gif
/usr/local/share/swat/using_samba/figs/sam2_0309.gif
/usr/local/share/swat/using_samba/figs/sam2_0310.gif
/usr/local/share/swat/using_samba/figs/sam2_0311.gif
/usr/local/share/swat/using_samba/figs/sam2_0312.gif
/usr/local/share/swat/using_samba/figs/sam2_0313.gif
/usr/local/share/swat/using_samba/figs/sam2_0314.gif
/usr/local/share/swat/using_samba/figs/sam2_0315.gif
/usr/local/share/swat/using_samba/figs/sam2_0316.gif
/usr/local/share/swat/using_samba/figs/sam2_0317.gif
...
/usr/local/lib/samba/vfs/default_quota.so
/usr/local/lib/samba/vfs/expand_msdfs.so
/usr/local/lib/samba/vfs/extd_audit.so
/usr/local/lib/samba/vfs/fake_perms.so
/usr/local/lib/samba/vfs/full_audit.so
/usr/local/lib/samba/vfs/netatalk.so
/usr/local/lib/samba/vfs/readonly.so
/usr/local/lib/samba/vfs/recycle.so
/usr/local/lib/samba/vfs/shadow_copy.so
/usr/local/etc/rc.d/samba
12:05:02
#cd /usr/local/etc/

12:05:57
#ls -aGF
./               openldap/        rc.d/            smb.conf
../              pam.d/           samba/           smb.conf.sample
12:06:00
#less rc.d/samba
12:06:59
#vi /etc/rc.conf
12:07:44
#ls -aGF
./               openldap/        rc.d/            smb.conf
../              pam.d/           samba/           smb.conf.sample
12:07:50
#vi smb.conf
12:08:57
#pw groupshow -a
wheel:*:0:root
daemon:*:1:
kmem:*:2:
sys:*:3:
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
news:*:8:
man:*:9:
...
authpf:*:63:
_pflogd:*:64:
_dhcp:*:65:
uucp:*:66:
dialer:*:68:
network:*:69:
audit:*:77:
www:*:80:
nogroup:*:65533:
nobody:*:65534:
12:09:08
#/usr/local/etc/rc.d/samba restart
Performing sanity check on Samba configuration: OK
Stopping winbindd.
Stopping smbd.
Stopping nmbd.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.
12:09:29
#wbinfo -p
Ping to winbindd succeeded on fd 4

Статистика

Время первой команды журнала10:46:28 2007- 2-20
Время последней команды журнала12:09:29 2007- 2-20
Количество командных строк в журнале61
Процент команд с ненулевым кодом завершения, % 8.20
Процент синтаксически неверно набранных команд, % 3.28
Суммарное время работы с терминалом *, час 0.86
Количество командных строк в единицу времени, команда/мин 1.19
Частота использования команд
vi13|====================| 20.31%
/usr/local/etc/rc.d/samba11|=================| 17.19%
testparm7|==========| 10.94%
ls5|=======| 7.81%
cd5|=======| 7.81%
wbinfo4|======| 6.25%
grep4|======| 6.25%
less3|====| 4.69%
smbclient3|====| 4.69%
net2|===| 3.12%
vim2|===| 3.12%
pw2|===| 3.12%
kinit1|=| 1.56%
make1|=| 1.56%
pkg_info1|=| 1.56%
____
*) Интервалы неактивности длительностью 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$