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

Содержание

Журнал

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

/dev/pts/16
17:05:36
#vim /etc/ldap.conf
17:06:19
#vim /etc/ldap.conf
17:07:04
#slappasswd
New password:
Re-enter new password:
{SSHA}N5yiaAM6V3R5maIGYxG/uegUbR1xrX26
17:07:30
#slappasswd
New password:
Re-enter new password:
Password values do not match
17:07:44
#slappasswd
New password:
Re-enter new password:
{SSHA}wCDkMdnLOsXLNXcKvhHUmwkd57oPr4QD
17:07:54
#vim /etc/lib
17:07:54
#vim /etc/libnss-ldap.secret
17:08:32
#exit

17:08:38
#geten
getenforce  getent
17:08:38
#geten
getenforce  getent
17:08:38
#getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
...
pvm:x:24:24::/usr/share/pvm3:/bin/bash
user:x:500:500:user:/home/user:/bin/bash
squid:x:23:23::/var/spool/squid:/sbin/nologin
user1$:x:501:501::/dev/null:/bin/false
winxp03$:x:502:501::/dev/null:/bin/false
truslan1:x:503:503::/home/truslan1:/bin/bash
truslan2:x:504:504::/home/truslan2:/bin/bash
domainuser1:x:505:511::/home/domainuser1:/bin/bash
ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false
apache:x:48:48:Apache:/var/www:/sbin/nologin
17:08:45
#getent passwd | less
17:09:11
#ls -lt /var/log/
итого 1760
-rw-------  1 root  root   740492 Дек 13 17:05 messages
-rw-------  1 root  root   179951 Дек 13 17:05 secure
-rw-------  1 root  root   179360 Дек 13 17:05 cron
-rw-r--r--  1 root  root  2920292 Дек 13 17:04 lastlog
-rw-rw-r--  1 root  utmp   175488 Дек 13 17:04 wtmp
-rw-------  1 root  root    15497 Дек 13 17:03 maillog
-rw-r--r--  1 root  root    45143 Дек 13 16:29 Xorg.0.log
-rw-r--r--  1 root  root    42269 Дек 13 16:23 Xorg.2.log
-rw-r--r--  1 root  root    42269 Дек 13 15:08 Xorg.2.log.old
...
-rw-------  1 root  root      208 Дек  9 20:49 boot.log
drwxr-xr-x  2 lp    sys       112 Дек  8 18:17 cups
-rw-r--r--  1 root  root      176 Дек  8 18:16 fix-nvidia.log
drwxr-x---  2 root  root       80 Дек  8 18:13 audit
drwxr-xr-x  2 uucp  uucp      120 Дек  8 08:02 uucp
-rw-r--r--  1 root  root    46574 Дек  8 08:02 scrollkeeper.log
drwxr-xr-x  2 root  root       80 Дек  8 07:54 mail
-rw-------  1 root  root        0 Дек  8 07:50 spooler
drwx------  2 root  root       48 Окт 20  2005 ppp
drwxr-xr-x  2 root  root       48 Окт 19  2005 vbox
17:09:23
#ls -lt /var/log/ | head
итого 1760
-rw-------  1 root  root   740492 Дек 13 17:05 messages
-rw-------  1 root  root   179951 Дек 13 17:05 secure
-rw-------  1 root  root   179360 Дек 13 17:05 cron
-rw-r--r--  1 root  root  2920292 Дек 13 17:04 lastlog
-rw-rw-r--  1 root  utmp   175488 Дек 13 17:04 wtmp
-rw-------  1 root  root    15497 Дек 13 17:03 maillog
-rw-r--r--  1 root  root    45143 Дек 13 16:29 Xorg.0.log
-rw-r--r--  1 root  root    42269 Дек 13 16:23 Xorg.2.log
-rw-r--r--  1 root  root    42269 Дек 13 15:08 Xorg.2.log.old
17:09:27
#date
Чтв Дек 13 17:09:31 EET 2007
17:09:31
#vim /etc/ld
17:09:31
#vim /etc/openldap/
17:09:31
#vim /etc/openldap/slapd.conf
17:10:55
#vim /etc/ldap.conf
18c18
< base dc=example,dc=com
---
> base dc=mydc,dc=local
17:11:42
#getent passwd | less
17:11:54
#getent passwd | less
17:12:07
#vim /etc/ldap.conf
15c15
< host 127.0.0.1
---
> #host 127.0.0.1
23c23
< #uri ldap://127.0.0.1/
---
> uri ldap://127.0.0.1/
17:12:21
#getent passwd | less
17:12:31
#vim /etc/ldap.conf
17:12:39
#telnet 127.0.0.1 389
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
^]
telnet> q
Connection closed.
17:12:52
#vim /etc/ldap.conf
15c15
< #host 127.0.0.1
---
> host 127.0.0.1
23c23
< uri ldap://127.0.0.1/
---
> #uri ldap://127.0.0.1/
43c43
< #rootbinddn cn=manager,dc=example,dc=com
---
> rootbinddn cn=manager,dc=mydc,dc=local
17:14:30
#slappasswd
New password:
Re-enter new password:
Password values do not match
17:14:54
#mv /etc/ld
ldap.conf     ld.so.cache   ld.so.conf    ld.so.conf.d/
17:14:54
#mv /etc/libnss-ldap.secret /etc/ldap.secret

17:15:14
#getent passwd | less
17:15:24
#vim /etc/ldap.secret
17:15:37
#vim /etc/ldap.conf
43c43
< rootbinddn cn=manager,dc=mydc,dc=local
---
> rootbinddn cn=Manager,dc=mydc,dc=local
17:16:15
#getent passwd | less
17:16:18
#vim /etc/ldap.conf
/dev/pts/9
17:16:56
#ls -l /var/lib/ldap/
-rw-------  1 ldap ldap    98304 Дек 13 12:52 __db.003
-rw-------  1 ldap ldap   450560 Дек 13 12:52 __db.004
-rw-------  1 ldap ldap    24576 Дек 13 12:52 __db.005
-rw-------  1 ldap ldap    20480 Дек 13 16:38 dn2id.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 gidNumber.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 givenName.bdb
-rw-------  1 ldap ldap    81920 Дек 13 16:38 id2entry.bdb
-rw-------  1 ldap ldap 10485760 Дек 13 17:03 log.0000000001
-rw-------  1 ldap ldap     8192 Дек 13 16:38 loginShell.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 mail.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 objectClass.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 ou.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 sn.bdb
-rw-------  1 ldap ldap    20480 Дек 13 16:38 uid.bdb
-rw-------  1 ldap ldap     8192 Дек 13 16:38 uidNumber.bdb
17:17:17
#vim /etc/ldap.conf
34c34
< #binddn cn=proxyuser,dc=example,dc=com
---
> binddn cn=Manager,dc=mydc,dc=local
38c38
< #bindpw secret
---
> bindpw rootdnpass
44c44
< 
---
> rootbinpw rootpass
71c71
< #pam_filter objectclass=account
---
> pam_filter objectclass=account
74c74
< #pam_login_attribute uid
---
> pam_login_attribute uid
109,111c109,111
< #pam_login_attribute userPrincipalName
< #pam_template_login_attribute uid
< #pam_template_login nobody
---
> pam_login_attribute userPrincipalName
> pam_template_login_attribute uid
> pam_template_login nobody
248c248
< ssl on
---
> #ssl on
290c290
< tls_cacertdir /etc/openldap/cacerts
---
> #tls_cacertdir /etc/openldap/cacerts
/dev/pts/16
17:18:36
#getent passwd | less
17:18:39
#vim /etc/ldap.conf
291a292
> pam_login_attribute uid
17:19:48
#cp /etc/ldap.conf /etc/ldap.conf.orig

17:19:55
#scp 192.168.16.1:/etc/ldap.conf /etc/ldap.conf
root@192.168.16.1's password:
scp: /etc/ldap.conf: No such file or directory
/dev/pts/16
17:20:58
#scp 192.168.16.1:/etc/ldap/ldap.conf /etc/ldap.conf
root@192.168.16.1's password:
ldap.conf                                                              100% 1441     1.4KB/s   00:00
17:21:11
#getent passwd | less
17:21:23
#vim /etc/ldap.conf
15,17c15,17
< base dc=tech,dc=local
< rootbinddn cn=admin,dc=tech,dc=local
< binddn cn=admin,dc=tech,dc=local
---
> base dc=mydc,dc=local
> rootbinddn cn=admin,dc=mydc,dc=local
> binddn cn=admin,dc=mydc,dc=local
20c20
< #pam_groupdn cn=PAM,ou=Groups,dc=tech,dc=local
---
> #pam_groupdn cn=PAM,ou=Groups,dc=mydc,dc=local
26,39c26,39
< nss_base_passwd ou=People,dc=tech,dc=local?one
< nss_base_passwd ou=Computers,dc=tech,dc=local?one
< nss_base_shadow ou=People,dc=tech,dc=local?one
< nss_base_group ou=Group,dc=tech,dc=local?one
< nss_base_hosts ou=Computers,dc=tech,dc=local?one
< nss_base_services ou=Services,dc=tech,dc=local?one
< nss_base_networks ou=Networks,dc=tech,dc=local?one
< nss_base_protocols ou=Protocols,dc=tech,dc=local?one
< nss_base_rpc ou=Rpc,dc=tech,dc=local?one
< nss_base_ethers ou=Ethers,dc=tech,dc=local?one
< nss_base_netmasks ou=Networks,dc=tech,dc=local?one
< nss_base_bootparams ou=Ethers,dc=tech,dc=local?one
< nss_base_aliases ou=Aliases,dc=tech,dc=local?one
< nss_base_netgroup ou=Netgroup,dc=tech,dc=local?one
---
> nss_base_passwd ou=People,dc=mydc,dc=local?one
> nss_base_passwd ou=Computers,dc=mydc,dc=local?one
> nss_base_shadow ou=People,dc=mydc,dc=local?one
> nss_base_group ou=Group,dc=mydc,dc=local?one
> nss_base_hosts ou=Computers,dc=mydc,dc=local?one
> nss_base_services ou=Services,dc=mydc,dc=local?one
> nss_base_networks ou=Networks,dc=mydc,dc=local?one
> nss_base_protocols ou=Protocols,dc=mydc,dc=local?one
> nss_base_rpc ou=Rpc,dc=mydc,dc=local?one
> nss_base_ethers ou=Ethers,dc=mydc,dc=local?one
> nss_base_netmasks ou=Networks,dc=mydc,dc=local?one
> nss_base_bootparams ou=Ethers,dc=mydc,dc=local?one
> nss_base_aliases ou=Aliases,dc=mydc,dc=local?one
> nss_base_netgroup ou=Netgroup,dc=mydc,dc=local?one
17:22:05
#getent passwd | less
17:22:12
#/etc/init.d/ldap restart
Останавливается slapd:                      [  ОК  ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:22:22
#getent passwd | less
17:22:28
#vim /etc/ldap.conf
16,17c16,17
< rootbinddn cn=admin,dc=mydc,dc=local
< binddn cn=admin,dc=mydc,dc=local
---
> rootbinddn cn=Manager,dc=mydc,dc=local
> binddn cn=Manager,dc=mydc,dc=local
17:23:00
#getent passwd | less
17:23:11
#getent passwd | less
17:23:23
#getent passwd | less
17:23:26
#vim /etc/nsswitch.conf
17:23:51
#telnet 127.0.0.1 389
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused
17:24:08
#ls -lt /var/log/
acpid             fix-nvidia.log    ppp/              spooler           Xorg.0.log.old
audit/            gdm/              prelink.log       squid/            Xorg.1.log
boot.log          httpd/            rpmpkgs           stunnel.log       Xorg.1.log.old
btmp              lastlog           samba/            uucp/             Xorg.2.log
cron              mail/             scrollkeeper.log  vbox/             Xorg.2.log.old
cups/             maillog           secure            wtmp              yum.log
dmesg             messages          slapd             Xorg.0.log
17:24:08
#ls -lt /var/log/ | less
17:24:29
#vim /etc/ldap.conf
/dev/pts/16
17:25:45
#slapcat > /tmp/slapcat

17:25:57
#vim /tmp/slapcat
17:28:46
#slapadd -l /tmp/123 -v
slapadd: dn="uid=Manager,dc=mydc,dc=local" (line=24): (64) value of naming attribute 'uid' is not present in entry
17:29:20
#getent passwd | less
17:29:27
#/etc/init.d/ldap start
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:29:35
#getent passwd | less
17:29:44
#slapcet | less
17:29:54
#slapcat | less
17:31:04
#slapadd -l /tmp/123 -v -d 1
slapadd init: initiated tool.
slap_sasl_init: initialized!
bdb_back_initialize: initialize BDB backend
bdb_back_initialize: Sleepycat Software: Berkeley DB 4.3.27: (December 22, 2004)
bdb_back_initialize: initialize HDB backend
bdb_back_initialize: Sleepycat Software: Berkeley DB 4.3.27: (December 22, 2004)
>>> dnNormalize: <cn=Subschema>
<<< dnNormalize: <cn=subschema>
/etc/openldap/slapd.conf: line 17: unknown directive "logfile" outside backend info and database definitions (ignored)
bdb_db_init: Initializing BDB database
...
shadowInactive: 1
structuralObjectClass: inetOrgPerson
"
>>> dnPrettyNormal: <uid=Manager,dc=mydc,dc=local>
<<< dnPrettyNormal: <uid=Manager,dc=mydc,dc=local>, <uid=manager,dc=mydc,dc=local>
<= str2entry(uid=Manager,dc=mydc,dc=local) -> 0x97c1140
slapadd: dn="uid=Manager,dc=mydc,dc=local" (line=24): (64) value of naming attribute 'uid' is not present in entry
slapadd shutdown: initiated
====> bdb_cache_release_all
slapadd shutdown: freeing system resources.
17:31:11
#vim /tmp/123
8c8
< uid: rtkachenko
---
> uid: Manager
17:31:38
#slapcat | less
17:31:57
#slapadd -l /tmp/123 -v -d 1
=> key_change(ADD,36)
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
...
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
=> key_change(ADD,36)
<= key_change 0
<= index_entry_add( 54, "uid=Manager,dc=mydc,dc=local" ) success
added: "uid=Manager,dc=mydc,dc=local" (00000036)
slapadd shutdown: initiated
====> bdb_cache_release_all
slapadd shutdown: freeing system resources.
17:32:01
#/etc/init.d/ldap start
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:32:17
#/etc/init.d/ldap restart
Останавливается slapd:                      [ СБОЙ ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:32:20
#/etc/init.d/ldap restart
Останавливается slapd:                      [ СБОЙ ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:32:21
#/etc/init.d/ldap restart
Останавливается slapd:                      [ СБОЙ ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:32:24
#ps aux | grep ldap
root     13153  0.0  0.1   9344  3184 pts/10   S+   17:18   0:00 /usr/bin/vim /etc/ldap.conf
root     14143  0.0  0.0   3784   768 pts/17   S+   17:32   0:00 grep ldap
17:32:29
#ps aux | grep slap
root     14154  0.0  0.0   3784   768 pts/17   S+   17:32   0:00 grep slap
17:32:43
#slap
slapadd              slapd_db_deadlock    slapd_db_stat        slappasswd
slapcat              slapd_db_dump        slapd_db_upgrade     slaptest
slapd                slapd_db_load        slapd_db_verify
slapd_db_archive     slapd_db_printlog    slapdn
slapd_db_checkpoint  slapd_db_recover     slapindex
17:32:43
#slap
slapadd              slapd_db_deadlock    slapd_db_stat        slappasswd
slapcat              slapd_db_dump        slapd_db_upgrade     slaptest
slapd                slapd_db_load        slapd_db_verify
slapd_db_archive     slapd_db_printlog    slapdn
slapd_db_checkpoint  slapd_db_recover     slapindex
17:32:43
#slapd --help
slapd: invalid option -- -
usage: slapd options
        -4              IPv4 only
        -6              IPv6 only
        -T {acdipt}     Run in Tool mode
        -c cookie       Sync cookie of consumer
        -d level        Debug level
        -f filename     Configuration file
        -g group        Group (id or name) to run as
        -h URLs         List of URLs to serve
        -l facility     Syslog facility (default: LOCAL4)
        -n serverName   Service name
        -r directory    Sandbox directory to chroot to
        -s level        Syslog level
        -u user         User (id or name) to run as
        -V              print version info (-VV only)
17:32:49
#slapd -4 -d 5
@(#) $OpenLDAP: slapd 2.2.29 (Nov  8 2005 18:40:00) $
        build@amd64.asplinux.com.ua:/home/build/asplinux/BUILD.openldap/BUILD/openldap-2.2.29/openldap-2.2.29/build-servers/servers/slapd
daemon_init: <null>
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
daemon: initialized ldap:///
daemon_init: 1 listeners opened
slapd init: initiated server.
slap_sasl_init: initialized!
...
    2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3 NAME 'caseIgnoreOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $ serialNumber ) )
    2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME 'caseIgnoreMatch' APPLIES ( sambaStringListOption $ sambaOptionName $ sambaShareName $ sambaMungedDial $ sambaDomainName $ sambaHomePath $ sambaUserWorkstations $ sambaProfilePath $ sambaLogonScript $ nisMapName $ ipServiceProtocol $ preferredLanguage $ employeeType $ employeeNumber $ displayName $ departmentNumber $ carLicense $ doc
    2.5.13.1 (distinguishedNameMatch): matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( dITRedirect $ associatedName $ secretary $ documentAuthor $ manager $ seeAlso $ roleOccupant $ owner $ member $ distinguishedName $ aliasedObjectName $ namingContexts $ subschemaSubentry $ modifiersName $ creatorsName ) )
    2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME 'objectIdentifierMatch' APPLIES ( supportedApplicationContext $ supportedFeatures $ supportedExtension $ supportedControl ) )
slapd startup: initiated.
backend_startup: starting "dc=mydc,dc=local"
bdb_db_open: dc=mydc,dc=local
bdb_db_open: dbenv_open(/var/lib/ldap)
slapd starting
[1]+  Stopped                 slapd -4 -d 5
17:33:08
#bg
[1]+ slapd -4 -d 5 &
17:33:10
#ps aux | grep slapd
root     14173  0.6  0.2  13620  4280 pts/17   Sl   17:33   0:00 slapd -4 -d 5
root     14191  0.0  0.0   3784   764 pts/17   S+   17:33   0:00 grep slapd
17:33:18
#getent passwd | less
17:33:36
#ps aux | grep slap
root     14173  0.2  0.2  13620  4280 pts/17   Sl   17:33   0:00 slapd -4 -d 5
root     14226  0.0  0.0   3784   764 pts/17   S+   17:33   0:00 grep slap
17:33:39
#/etc/init.d/ldap restart
Останавливается slapd: daemon: shutdown requested and initiated.
slapd shutdown: waiting for 0 threads to terminate
slapd shutdown: initiated
====> bdb_cache_release_all
slapd shutdown: freeing system resources.
slapd stopped.
                                                           [  ОК  ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
[1]+  Done                    slapd -4 -d 5
17:33:50
#/etc/init.d/ldap restart
Останавливается slapd:                      [ СБОЙ ]
Checking configuration files for slapd:  config file testing succeeded
                                                           [  ОК  ]
Запускается slapd:                              [  ОК  ]
17:33:53
#less /var/log/messages
17:34:09
#less /var/log/
17:34:09
#less /var/log/slapd
17:34:33
#vim /etc/init.d/ldap
17:35:16
#slapd -4 -d 6
@(#) $OpenLDAP: slapd 2.2.29 (Nov  8 2005 18:40:00) $
        build@amd64.asplinux.com.ua:/home/build/asplinux/BUILD.openldap/BUILD/openldap-2.2.29/openldap-2.2.29/build-servers/servers/slapd
daemon_init: <null>
/etc/openldap/slapd.conf: line 17: unknown directive "logfile" outside backend info and database definitions (ignored)
bdb_db_init: Initializing BDB database
bdb_db_open: dc=mydc,dc=local
slapd starting
[1]+  Stopped                 slapd -4 -d 6
17:35:43
#bg
[1]+ slapd -4 -d 6 &
17:35:44
#ldapsearch -D cn=Manager,dc=mydc,dc=local -x -W -b "dc=mydc,dc=local" "(cn=Manager)"
Enter LDAP Password:
connection_get(9)
ldap_read: want=8, got=8
  0000:  30 31 02 01 01 60 2c 02                            01...`,.
ldap_read: want=43, got=43
  0000:  01 03 04 1b 63 6e 3d 4d  61 6e 61 67 65 72 2c 64   ....cn=Manager,d
  0010:  63 3d 6d 79 64 63 2c 64  63 3d 6c 6f 63 61 6c 80   c=mydc,dc=local.
  0020:  0a 72 6f 6f 74 64 6e 70  61 73 73                  .rootdnpass
ldap_read: want=8 error=Resource temporarily unavailable
==> bdb_bind: dn: cn=Manager,dc=mydc,dc=local
...
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
connection_get(9)
ux3:~ldap_write: want=14, written=14
  0000:  30 0c 02 01 02 65 07 0a  01 00 04 00 04 00         0....e........
ldap_read: want=8, got=7
  0000:  30 05 02 01 03 42 00                               0....B.
ldap_read: want=8, got=0
17:37:06
#vim /etc/ldap.secret
1c1
< {SSHA}wCDkMdnLOsXLNXcKvhHUmwkd57oPr4QD
---
> rootdnpass
17:37:50
#telnet 127.0.0.1 389
Enter LDAP Password:
connection_get(9)
ldap_read: want=8, got=8
  0000:  30 2f 02 01 01 60 2a 02                            0/...`*.
ldap_read: want=41, got=41
  0000:  01 03 04 1b 63 6e 3d 4d  61 6e 61 67 65 72 2c 64   ....cn=Manager,d
  0010:  63 3d 6d 79 64 63 2c 64  63 3d 6c 6f 63 61 6c 80   c=mydc,dc=local.
  0020:  08 72 6f 6f 74 70 61 73  73                        .rootpass
ldap_read: want=8 error=Resource temporarily unavailable
==> bdb_bind: dn: cn=Manager,dc=mydc,dc=local
...
connection_get(9)
ldap_read: want=8, got=0
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
^]
telnet> q
Connection closed.
connection_get(9)
ldap_read: want=8, got=0
17:38:14
#ldapsearch -D cn=m
Enter LDAP Password:
connection_get(9)
ldap_read: want=8, got=8
  0000:  30 31 02 01 01 60 2c 02                            01...`,.
ldap_read: want=43, got=43
  0000:  01 03 04 1b 63 6e 3d 6d  61 6e 61 67 65 72 2c 64   ....cn=manager,d
  0010:  63 3d 6d 79 64 63 2c 64  63 3d 6c 6f 63 61 6c 80   c=mydc,dc=local.
  0020:  0a 72 6f 6f 74 64 6e 70  61 73 73                  .rootdnpass
ldap_read: want=8 error=Resource temporarily unavailable
==> bdb_bind: dn: cn=manager,dc=mydc,dc=local
...
  00a0:  6b 75 2f 4e 48 6e 69 75  4c 32 46 71 4f 56 30 4d   ku/NHniuL2FqOV0M
  00b0:  71 2f 55 51                                        q/UQ
send_ldap_result: err=0 matched="" text=""
  0000:  30 0c 02 01 02 65 07 0a  01 00 04 00 04 00         0....e........
ldap_write: want=14, written=14
  0000:  30 0c 02 01 02 65 07 0a  01 00 04 00 04 00         0....e........
connection_get(9)
ldap_read: want=8, got=7
  0000:  30 05 02 01 03 42 00                               0....B.
ux3:~ldap_read: want=8, got=0
17:38:37
#less /tmp/ldapsearch
17:38:47
#q
bash: q: command not found
17:38:47
#getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
...
pvm:x:24:24::/usr/share/pvm3:/bin/bash
user:x:500:500:user:/home/user:/bin/bash
squid:x:23:23::/var/spool/squid:/sbin/nologin
user1$:x:501:501::/dev/null:/bin/false
winxp03$:x:502:501::/dev/null:/bin/false
truslan1:x:503:503::/home/truslan1:/bin/bash
truslan2:x:504:504::/home/truslan2:/bin/bash
domainuser1:x:505:511::/home/domainuser1:/bin/bash
ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false
apache:x:48:48:Apache:/var/www:/sbin/nologin
17:38:57
#getent passwd | less
17:39:11
#cp /etc/ld
ldap.conf       ldap.conf.orig  ldap.secret     ld.so.cache     ld.so.conf      ld.so.conf.d/
17:39:11
#cp /etc/ldap.conf.orig /etc/ldap.conf
cp: переписать `/etc/ldap.conf'? y
17:39:34
#vim /etc/ldap.conf
44c44
< 
---
> rootbinpw rootpass
71c71
< #pam_filter objectclass=account
---
> pam_filter objectclass=account
74c74
< #pam_login_attribute uid
---
> pam_login_attribute uid
109,111c109,111
< #pam_login_attribute userPrincipalName
< #pam_template_login_attribute uid
< #pam_template_login nobody
---
> pam_login_attribute userPrincipalName
> pam_template_login_attribute uid
> pam_template_login nobody
292d291
< pam_login_attribute uid
17:42:29
#getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
...
ldap_read: want=8 error=Resource temporarily unavailable
==> bdb_bind: dn: cn=Manager,dc=mydc,dc=local
send_ldap_result: err=49 matched="" text=""
  0000:  30 0c 02 01 01 61 07 0a  01 31 04 00 04 00         0....a...1....
ldap_write: want=14, written=14
  0000:  30 0c 02 01 01 61 07 0a  01 31 04 00 04 00         0....a...1....
ux3:~connection_get(9)
ldap_read: want=8, got=7
  0000:  30 05 02 01 02 42 00                               0....B.
ldap_read: want=8, got=0

Статистика

Время первой команды журнала17:05:36 2007-12-13
Время последней команды журнала17:42:29 2007-12-13
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %14.85
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 0.61
Количество командных строк в единицу времени, команда/мин 2.74
Частота использования команд
vim25|===================| 19.69%
less25|===================| 19.69%
getent20|===============| 15.75%
/etc/init.d/ldap8|======| 6.30%
ls5|===| 3.94%
ps4|===| 3.15%
slappasswd4|===| 3.15%
grep4|===| 3.15%
slapd3|==| 2.36%
telnet3|==| 2.36%
cp3|==| 2.36%
slapadd3|==| 2.36%
slapcat3|==| 2.36%
geten2|=| 1.57%
ldapsearch2|=| 1.57%
bg2|=| 1.57%
scp2|=| 1.57%
mv2|=| 1.57%
slap2|=| 1.57%
q1|| 0.79%
head1|| 0.79%
slapcet1|| 0.79%
exit1|| 0.79%
date1|| 0.79%
____
*) Интервалы неактивности длительностью 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$