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

Содержание

Журнал

Пятница (02/07/20)

/dev/pts/1
09:21:51
#recording
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.
09:22:01
#cd /etc/cron.daily/

прошло 14 минут
09:36:45
#ls
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
09:36:48
#cat logrotate
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
09:37:01
#vi /etc/logrotate.conf
09:45:30
#~
ivan     pts/4        192.168.15.142   Fri Feb  7 10:23 - 10:23  (00:00)
user     pts/0        192.168.15.142   Wed Feb  5 14:40   still logged in
user     pts/3        192.168.15.142   Wed Feb  5 14:29 - 14:30  (00:00)
root     pts/3        192.168.15.142   Wed Feb  5 14:28 - 14:28  (00:00)
ivan     pts/3        192.168.15.142   Wed Feb  5 14:19 - 14:20  (00:01)
user     pts/0        192.168.15.142   Wed Feb  5 14:18 - 14:40  (00:21)
ivan     pts/4        192.168.15.142   Wed Feb  5 14:15 - 14:16  (00:00)
ivan     pts/4        192.168.15.142   Wed Feb  5 14:14 - 14:15  (00:01)
ivan     pts/4        192.168.15.142   Wed Feb  5 14:13 - 14:13  (00:00)
user     pts/0        192.168.15.142   Wed Feb  5 13:49 - 14:18  (00:28)
user     pts/0        192.168.15.142   Tue Feb  4 11:42 - 13:49 (1+02:06)
ivan     pts/3        192.168.15.142   Tue Feb  4 09:54 - 13:49 (1+03:54)
root     pts/1        192.168.15.142   Tue Feb  4 09:53   still logged in
root     pts/1        192.168.15.142   Tue Feb  4 09:34 - 09:53  (00:18)
root     pts/0        192.168.15.142   Tue Feb  4 09:17 - 11:28  (02:11)
user     pts/4        192.168.15.142   Mon Feb  3 13:50 - 16:55  (03:04)
petr     pts/3        192.168.15.142   Mon Feb  3 10:29 - 16:55  (06:25)
ivan     pts/2        192.168.15.142   Mon Feb  3 10:22 - 16:54  (06:32)
ivan     pts/2        192.168.15.142   Mon Feb  3 10:10 - 10:17  (00:06)
root     pts/0        192.168.15.142   Mon Feb  3 09:48 - 16:54  (07:06)
wtmp begins Mon Feb  3 09:48:02 2020
09:45:59
#last log
wtmp begins Mon Feb  3 09:48:02 2020
09:47:40
#lastlog
Username         Port     From             Latest
root             pts/3    192.168.15.142   Wed Feb  5 14:28:00 +0200 2020
daemon                                     **Never logged in**
bin                                        **Never logged in**
sys                                        **Never logged in**
sync                                       **Never logged in**
games                                      **Never logged in**
man                                        **Never logged in**
lp                                         **Never logged in**
mail                                       **Never logged in**
...
irc                                        **Never logged in**
gnats                                      **Never logged in**
nobody                                     **Never logged in**
libuuid                                    **Never logged in**
Debian-exim                                **Never logged in**
user             pts/0    192.168.15.142   Wed Feb  5 14:40:48 +0200 2020
sshd                                       **Never logged in**
ivan             pts/4    192.168.15.142   Fri Feb  7 10:23:09 +0200 2020
petr             pts/3    192.168.15.142   Mon Feb  3 10:29:20 +0200 2020
anna                                       **Never logged in**
09:47:54
#cd /etc/lo
locale.alias    locale.gen      localtime       logcheck/       login.defs      logrotate.conf  logrotate.d/
09:47:54
#cd /etc/logrotate.d

09:48:45
#ls
apt  aptitude  dpkg  exim4-base  exim4-paniclog  iptraf  rsyslog
09:50:46
#cat exim4-base
/var/log/exim4/mainlog /var/log/exim4/rejectlog {
        daily
        missingok
        rotate 10
        compress
        delaycompress
        notifempty
        create 640 Debian-exim adm
}
прошло 35 минут
/dev/pts/4
10:25:51
#cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
10:32:39
#vi /etc/crontab
--- /tmp/l3-saved-20656.27717.10639	2020-02-07 11:38:55.196280862 +0200
+++ /etc/crontab	2020-02-07 11:45:10.944264510 +0200
@@ -12,4 +12,5 @@
 25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
 47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
 52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
+55 12	* * 5	root	echo "Go jrat`" |  wall
 #
прошло 12 минут
10:45:10
#vi /etc/crontab
10:48:04
#~
user
10:48:32
#crontab -l
no crontab for root
10:51:26
#crontab -l -u *
crontab:  user `-bad-name-' unknown
10:51:50
#crontab -l -u ivan | grep '^[^#]'
no crontab for ivan
10:53:43
#crontab -l -u user | grep '^[^#]'
0 17 * * 5 echo "The end" | Wall
10:53:53
#man crontab
10:58:38
#vi /etc/cron.deny
--- /dev/null	2020-01-31 15:01:47.720000011 +0200
+++ /etc/cron.deny	2020-02-07 12:00:32.564274632 +0200
@@ -0,0 +1 @@
+ivan
11:00:32
#vi /etc/cron.deny
11:00:38
#~

11:03:22
#crontab -l
no crontab for root
прошло >2 часов
13:06:05
#ls /var/spool/cron/crontabs/
user
13:06:11
#vi pass.sh
--- /dev/null	2020-01-31 15:01:47.720000011 +0200
+++ pass.sh	2020-02-07 14:11:54.584272057 +0200
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
+
13:11:54
#pass.sh
l3script: pass.sh: command not found
13:11:58
#.pass.sh
l3script: .pass.sh: command not found
13:12:16
#/root/pass.sh
l3script: /root/pass.sh: Permission denied
13:12:28
#./pass.sh
l3script: ./pass.sh: Permission denied
13:12:47
#vi pass.sh
--- /tmp/l3-saved-20656.24903.6432	2020-02-07 14:13:08.532279139 +0200
+++ pass.sh	2020-02-07 14:13:46.496267812 +0200
@@ -1,4 +1,5 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
+echo $users
 
13:13:46
#/root/pass.sh
l3script: /root/pass.sh: Permission denied
13:13:56
#bash pass.sh
user ivan petr anna
13:14:11
#vi pass.sh
--- /tmp/l3-saved-20656.14864.3442	2020-02-07 14:14:16.280274032 +0200
+++ pass.sh	2020-02-07 14:18:48.984271510 +0200
@@ -1,5 +1,9 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
-echo $users
 
+for user in $users
+do
+	echo "Changing pass max days for user $user"
+	chage -M 60 $user 
+done
13:18:49
#vi pass.sh
13:19:48
#~
total 36
-rw-r--r-- 1 root root    0 Feb  4 11:41 -bad-name-
-rw-r--r-- 1 root root    0 Feb  4 11:37 A' Stah
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\11
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\22
-rw-r--r-- 1 root root    0 Feb  4 11:34 Andrey Stah
-rw-r--r-- 1 root root    0 Feb  4 11:35 Andrey Stah2
drwxr-xr-x 2 root root 4096 Feb  3 12:52 d1
drwxr-xr-x 3 root root 4096 Feb  3 15:17 d2
drwxr-x--- 2 root root 4096 Feb  5 12:29 d3
-rw-r--r-- 1 root root    0 Feb  4 16:38 file1.gz
-rw-r--r-- 1 root root    0 Feb  4 16:38 file2.tar
-rw-r--r-- 1 root root    0 Feb  4 16:38 file3.jpg
-rw-r--r-- 1 root root 5388 Feb  4 13:33 install
-rw-r--r-- 1 root root    0 Feb  4 11:35 one space
-rw-r--r-- 1 root root  169 Feb  7 14:18 pass.sh
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~ivan
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~petr
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~user
13:20:30
#chmod u+X pass.sh

13:20:42
#ls -l
total 36
-rw-r--r-- 1 root root    0 Feb  4 11:41 -bad-name-
-rw-r--r-- 1 root root    0 Feb  4 11:37 A' Stah
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\11
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\22
-rw-r--r-- 1 root root    0 Feb  4 11:34 Andrey Stah
-rw-r--r-- 1 root root    0 Feb  4 11:35 Andrey Stah2
drwxr-xr-x 2 root root 4096 Feb  3 12:52 d1
drwxr-xr-x 3 root root 4096 Feb  3 15:17 d2
drwxr-x--- 2 root root 4096 Feb  5 12:29 d3
-rw-r--r-- 1 root root    0 Feb  4 16:38 file1.gz
-rw-r--r-- 1 root root    0 Feb  4 16:38 file2.tar
-rw-r--r-- 1 root root    0 Feb  4 16:38 file3.jpg
-rw-r--r-- 1 root root 5388 Feb  4 13:33 install
-rw-r--r-- 1 root root    0 Feb  4 11:35 one space
-rw-r--r-- 1 root root  169 Feb  7 14:18 pass.sh
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~ivan
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~petr
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~user
13:20:44
#./pass.sh
l3script: ./pass.sh: Permission denied
13:21:18
#chmod u+x pass.sh

13:21:26
#ls -l
total 36
-rw-r--r-- 1 root root    0 Feb  4 11:41 -bad-name-
-rw-r--r-- 1 root root    0 Feb  4 11:37 A' Stah
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\11
-rw-r--r-- 1 root root    0 Feb  4 11:38 A:\Stah\22
-rw-r--r-- 1 root root    0 Feb  4 11:34 Andrey Stah
-rw-r--r-- 1 root root    0 Feb  4 11:35 Andrey Stah2
drwxr-xr-x 2 root root 4096 Feb  3 12:52 d1
drwxr-xr-x 3 root root 4096 Feb  3 15:17 d2
drwxr-x--- 2 root root 4096 Feb  5 12:29 d3
-rw-r--r-- 1 root root    0 Feb  4 16:38 file1.gz
-rw-r--r-- 1 root root    0 Feb  4 16:38 file2.tar
-rw-r--r-- 1 root root    0 Feb  4 16:38 file3.jpg
-rw-r--r-- 1 root root 5388 Feb  4 13:33 install
-rw-r--r-- 1 root root    0 Feb  4 11:35 one space
-rwxr--r-- 1 root root  169 Feb  7 14:18 pass.sh
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~ivan
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~petr
-rw-r--r-- 1 root root   96 Feb  4 10:05 ~user
13:21:29
#./pass.sh
Changing pass max days for user user
Changing pass max days for user ivan
Changing pass max days for user petr
Changing pass max days for user anna
13:21:32
#cat /etc/sha
cat: /etc/sha: No such file or directory
13:21:44
#cat /etc/shadow
root:$6$AdBqpoJ.$xdW/.UajtLI/hkf6kLCNF1n6Qtqd96CkgGWvW6LOffB5wGLYK8QW7qK7/sB7gPfa1qrSyzQ80dB91GdTxBsqT.:18297:0:99999:7:::
daemon:*:16248:0:99999:7:::
bin:*:16248:0:99999:7:::
sys:*:16248:0:99999:7:::
sync:*:16248:0:99999:7:::
games:*:16248:0:99999:7:::
man:*:16248:0:99999:7:::
lp:*:16248:0:99999:7:::
mail:*:16248:0:99999:7:::
news:*:16248:0:99999:7:::
...
irc:*:16248:0:99999:7:::
gnats:*:16248:0:99999:7:::
nobody:*:16248:0:99999:7:::
libuuid:!:16248:0:99999:7:::
Debian-exim:!:16248:0:99999:7:::
user:$6$WGU0Xekr$Z3Ug4rkWvFCTWb3HuPGAdxX6S55rGnnNufbYnaogUSpvmccUWy3NJ/QHD6yAiSy//P1P27Wy6eg0nbzM8Wgtt1:18297:0:60:7:::
sshd:*:16248:0:99999:7:::
ivan:$6$7qFVyIS/$d6QA1gx0rQ4Xq0WsfDRIllO/Mc0Ytyqc6bqxOtsrKhqGxjdIrD446Jt6BI/yABuRM6P0Bjpq.M7GVVvpemqGe0:18295:0:60:7:::
petr:$6$BCwgxnR9$DkDRXQnUbqCrCexjlQ4MGCC1JTZSBHyKzTN7HW29wmTpuvVkMhuS2ktpuEY8xV.oj3fDKYmyFI4Vlu72.VEJ20:18295:0:60:7:::
anna:$6$l6vh78R6$a.xMYzKJFSD4JyU19lyGvKtcCaHiv7PBwIX8V.7xSXXdmIMyIR05YocUOKNKfe0odSLMf7oRq2xZUBSrLnNEh/:18297:0:60:7:::
13:21:46
#vi pass.sh
--- /tmp/l3-saved-20656.11479.31459	2020-02-07 14:23:48.196293211 +0200
+++ pass.sh	2020-02-07 14:25:12.008297705 +0200
@@ -1,9 +1,11 @@
 #!/bin/bash
 
+$max=$1
+
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
 
 for user in $users
 do
 	echo "Changing pass max days for user $user"
-	chage -M 60 $user 
+	chage -M $max $user 
 done
13:25:12
#./pass.sh 45
./pass.sh: line 3: =45: command not found
Changing pass max days for user user
chage: invalid numeric argument 'user'
Usage: chage [options] LOGIN
Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
...
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -R, --root CHROOT_DIR         directory to chroot into
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS
13:25:25
#vi pass.sh
--- /tmp/l3-saved-20656.22678.2287	2020-02-07 14:26:15.312270655 +0200
+++ pass.sh	2020-02-07 14:26:51.844252876 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-$max=$1
+max=$1
 
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
 
13:26:51
#./pass.sh 45
Changing pass max days for user user
Changing pass max days for user ivan
Changing pass max days for user petr
Changing pass max days for user anna
13:26:54
#cat /etc/shadow
root:$6$AdBqpoJ.$xdW/.UajtLI/hkf6kLCNF1n6Qtqd96CkgGWvW6LOffB5wGLYK8QW7qK7/sB7gPfa1qrSyzQ80dB91GdTxBsqT.:18297:0:99999:7:::
daemon:*:16248:0:99999:7:::
bin:*:16248:0:99999:7:::
sys:*:16248:0:99999:7:::
sync:*:16248:0:99999:7:::
games:*:16248:0:99999:7:::
man:*:16248:0:99999:7:::
lp:*:16248:0:99999:7:::
mail:*:16248:0:99999:7:::
news:*:16248:0:99999:7:::
...
irc:*:16248:0:99999:7:::
gnats:*:16248:0:99999:7:::
nobody:*:16248:0:99999:7:::
libuuid:!:16248:0:99999:7:::
Debian-exim:!:16248:0:99999:7:::
user:$6$WGU0Xekr$Z3Ug4rkWvFCTWb3HuPGAdxX6S55rGnnNufbYnaogUSpvmccUWy3NJ/QHD6yAiSy//P1P27Wy6eg0nbzM8Wgtt1:18297:0:45:7:::
sshd:*:16248:0:99999:7:::
ivan:$6$7qFVyIS/$d6QA1gx0rQ4Xq0WsfDRIllO/Mc0Ytyqc6bqxOtsrKhqGxjdIrD446Jt6BI/yABuRM6P0Bjpq.M7GVVvpemqGe0:18295:0:45:7:::
petr:$6$BCwgxnR9$DkDRXQnUbqCrCexjlQ4MGCC1JTZSBHyKzTN7HW29wmTpuvVkMhuS2ktpuEY8xV.oj3fDKYmyFI4Vlu72.VEJ20:18295:0:45:7:::
anna:$6$l6vh78R6$a.xMYzKJFSD4JyU19lyGvKtcCaHiv7PBwIX8V.7xSXXdmIMyIR05YocUOKNKfe0odSLMf7oRq2xZUBSrLnNEh/:18297:0:45:7:::
13:26:58
#./pass.sh
Changing pass max days for user user
chage: invalid numeric argument 'user'
Usage: chage [options] LOGIN
Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
...
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -R, --root CHROOT_DIR         directory to chroot into
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS
13:27:16
#vi pass.sh
--- /tmp/l3-saved-20656.7051.20989	2020-02-07 14:28:35.020263871 +0200
+++ pass.sh	2020-02-07 14:29:44.672268211 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-max=$1
+max=${1:-30}
 
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd`
 
13:29:44
#vi pass.sh
--- /tmp/l3-saved-20656.22580.18885	2020-02-07 14:29:53.260211224 +0200
+++ pass.sh	2020-02-07 14:30:18.824269572 +0200
@@ -6,6 +6,6 @@
 
 for user in $users
 do
-	echo "Changing pass max days for user $user"
+	echo "Changing pass max days $max for user $user"
 	chage -M $max $user 
 done
13:30:18
#./pass.sh 54
Changing pass max days 54 for user user
Changing pass max days 54 for user ivan
Changing pass max days 54 for user petr
Changing pass max days 54 for user anna
13:30:26
#./pass.sh
Changing pass max days 30 for user user
Changing pass max days 30 for user ivan
Changing pass max days 30 for user petr
Changing pass max days 30 for user anna
13:30:30
#echo $?
0
13:33:33
#test

13:34:17
#test 5 -eq 5

13:35:45
#echo $?
0
13:35:47
#test 5 -eq 6

13:35:53
#echo $?
1
13:35:54
#test -w /etc/passwd

прошла 21 минута
13:57:29
#echo $?
0
13:57:30
#vi pass.sh

Файлы

  • /etc/crontab
  • /etc/shadow
  • exim4-base
  • logrotate
  • /etc/crontab
    >
    # /etc/crontab: system-wide crontab
    # Unlike any other crontab you don't have to run the `crontab'
    # command to install the new version when you edit this file
    # and files in /etc/cron.d. These files also have username fields,
    # that none of the other crontabs do.
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    # m h dom mon dow user  command
    17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
    25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
    #
    
    /etc/shadow
    >
    root:$6$AdBqpoJ.$xdW/.UajtLI/hkf6kLCNF1n6Qtqd96CkgGWvW6LOffB5wGLYK8QW7qK7/sB7gPfa1qrSyzQ80dB91GdTxBsqT.:18297:0:99999:7:::
    daemon:*:16248:0:99999:7:::
    bin:*:16248:0:99999:7:::
    sys:*:16248:0:99999:7:::
    sync:*:16248:0:99999:7:::
    games:*:16248:0:99999:7:::
    man:*:16248:0:99999:7:::
    lp:*:16248:0:99999:7:::
    mail:*:16248:0:99999:7:::
    news:*:16248:0:99999:7:::
    uucp:*:16248:0:99999:7:::
    proxy:*:16248:0:99999:7:::
    www-data:*:16248:0:99999:7:::
    backup:*:16248:0:99999:7:::
    list:*:16248:0:99999:7:::
    irc:*:16248:0:99999:7:::
    gnats:*:16248:0:99999:7:::
    nobody:*:16248:0:99999:7:::
    libuuid:!:16248:0:99999:7:::
    Debian-exim:!:16248:0:99999:7:::
    user:$6$WGU0Xekr$Z3Ug4rkWvFCTWb3HuPGAdxX6S55rGnnNufbYnaogUSpvmccUWy3NJ/QHD6yAiSy//P1P27Wy6eg0nbzM8Wgtt1:18297:0:45:7:::
    sshd:*:16248:0:99999:7:::
    ivan:$6$7qFVyIS/$d6QA1gx0rQ4Xq0WsfDRIllO/Mc0Ytyqc6bqxOtsrKhqGxjdIrD446Jt6BI/yABuRM6P0Bjpq.M7GVVvpemqGe0:18295:0:45:7:::
    petr:$6$BCwgxnR9$DkDRXQnUbqCrCexjlQ4MGCC1JTZSBHyKzTN7HW29wmTpuvVkMhuS2ktpuEY8xV.oj3fDKYmyFI4Vlu72.VEJ20:18295:0:45:7:::
    anna:$6$l6vh78R6$a.xMYzKJFSD4JyU19lyGvKtcCaHiv7PBwIX8V.7xSXXdmIMyIR05YocUOKNKfe0odSLMf7oRq2xZUBSrLnNEh/:18297:0:45:7:::
    
    exim4-base
    >
    /var/log/exim4/mainlog /var/log/exim4/rejectlog {
            daily
            missingok
            rotate 10
            compress
            delaycompress
            notifempty
            create 640 Debian-exim adm
    }
    
    logrotate
    >
    #!/bin/sh
    test -x /usr/sbin/logrotate || exit 0
    /usr/sbin/logrotate /etc/logrotate.conf
    

    Статистика

    Время первой команды журнала09:21:51 2020- 2- 7
    Время последней команды журнала13:57:30 2020- 2- 7
    Количество командных строк в журнале64
    Процент команд с ненулевым кодом завершения, %25.00
    Процент синтаксически неверно набранных команд, % 3.12
    Суммарное время работы с терминалом *, час 1.96
    Количество командных строк в единицу времени, команда/мин 0.54
    Частота использования команд
    vi14|=====================| 21.21%
    pass.sh11|================| 16.67%
    cat6|=========| 9.09%
    crontab5|=======| 7.58%
    ls5|=======| 7.58%
    echo4|======| 6.06%
    ~4|======| 6.06%
    test4|======| 6.06%
    cd3|====| 4.55%
    chmod2|===| 3.03%
    grep2|===| 3.03%
    .pass.sh1|=| 1.52%
    lastlog1|=| 1.52%
    man1|=| 1.52%
    last1|=| 1.52%
    bash1|=| 1.52%
    recording1|=| 1.52%
    ____
    *) Интервалы неактивности длительностью 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$