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

Содержание

Журнал

Среда (07/18/18)

/dev/pts/2
08:46:31
#./shell.sh
./shell.sh: line 4: /etc/passwd: Отказано в доступе
./shell.sh: line 4: !=65534{print: команда не найдена
08:46:36
#cat shell.sh
#!/bin/bash
users=`awk -F: `$3>=1000 && $3!=65534{print $1}` /etc/passwd | \
        tr '\n' ' '`
echo $users
08:46:58
#vi shell.sh
--- /tmp/l3-saved-7637.4001.16045	2018-07-18 09:48:29.728087638 +0300
+++ shell.sh	2018-07-18 09:49:06.080081962 +0300
@@ -1,5 +1,5 @@
 #!/bin/bash
 
-users=`awk -F: `$3>=1000 && $3!=65534{print $1}` /etc/passwd | \
+users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
 	tr '\n' ' '`
 echo $users	
08:49:06
#./shell.sh
user ivan petr
08:49:10
#vi shell.sh
--- /tmp/l3-saved-7637.24903.5471	2018-07-18 09:49:17.492109611 +0300
+++ shell.sh	2018-07-18 09:52:24.812093546 +0300
@@ -3,3 +3,9 @@
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
 	tr '\n' ' '`
 echo $users	
+
+for user in $users
+    do
+        echo "Changing shell for user $users..."
+        usermod -s /bin/zsh $user
+    done
08:52:24
#./shell.sh
user ivan petr
Changing shell for user user ivan petr ...
Changing shell for user user ivan petr ...
Changing shell for user user ivan petr ...
08:52:32
#vi shell.sh
--- /tmp/l3-saved-7637.19055.27915	2018-07-18 09:53:09.704086800 +0300
+++ shell.sh	2018-07-18 09:55:41.548079459 +0300
@@ -1,11 +1,10 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
-	tr '\n' ' '`
-echo $users	
+	tr '\n' ' '`	
 
 for user in $users
     do
         echo "Changing shell for user $users..."
-        usermod -s /bin/zsh $user
+        usermod -s /bin/$1 $user
     done
08:55:41
#./shell.sh
Changing shell for user user ivan petr ...
Changing shell for user user ivan petr ...
Changing shell for user user ivan petr ...
08:55:45
#vi shell.sh
--- /tmp/l3-saved-7637.4577.26768	2018-07-18 09:56:32.048084146 +0300
+++ shell.sh	2018-07-18 09:58:22.128085163 +0300
@@ -1,10 +1,11 @@
 #!/bin/bash
 
+shell=$1
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
 	tr '\n' ' '`	
 
 for user in $users
     do
-        echo "Changing shell for user $users..."
-        usermod -s /bin/$1 $user
+        echo "Changing shell $shell for user $users..."
+        usermod -s /bin/$dhell $user
     done
08:58:22
#./shell.sh zsh
Changing shell zsh for user user ivan petr ...
usermod: изменения не внесены
Changing shell zsh for user user ivan petr ...
usermod: изменения не внесены
Changing shell zsh for user user ivan petr ...
usermod: изменения не внесены
08:58:33
#vi shell.sh
--- /tmp/l3-saved-7637.29827.22409	2018-07-18 09:58:56.668115939 +0300
+++ shell.sh	2018-07-18 09:59:19.376087365 +0300
@@ -7,5 +7,5 @@
 for user in $users
     do
         echo "Changing shell $shell for user $users..."
-        usermod -s /bin/$dhell $user
+        usermod -s /bin/$shell $user
     done
08:59:19
#./shell.sh zsh
Changing shell zsh for user user ivan petr ...
Changing shell zsh for user user ivan petr ...
Changing shell zsh for user user ivan petr ...
08:59:21
#./shell.sh
Changing shell  for user user ivan petr ...
Changing shell  for user user ivan petr ...
Changing shell  for user user ivan petr ...
09:00:13
#vi shell.sh
--- /tmp/l3-saved-7637.32309.24450	2018-07-18 10:01:14.904097195 +0300
+++ shell.sh	2018-07-18 10:04:34.388090886 +0300
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-shell=$1
+shell=${1:-bash}
 users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
 	tr '\n' ' '`	
 
09:04:34
#./shell.sh zsh
Changing shell zsh for user user ivan petr ...
Changing shell zsh for user user ivan petr ...
Changing shell zsh for user user ivan petr ...
09:04:50
#./shell.sh
Changing shell bash for user user ivan petr ...
Changing shell bash for user user ivan petr ...
Changing shell bash for user user ivan petr ...
09:04:56
#cat ./shell.sh
#!/bin/bash
shell=${1:-bash}
users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
        tr '\n' ' '`
for user in $users
    do
        echo "Changing shell $shell for user $users..."
        usermod -s /bin/$shell $user
    done
09:06:14
#test 5 -eq 5

прошло 11 минут
09:17:37
#echo $?
0
09:18:35
#test 5 -eq 6

09:18:46
#echo $?
1
09:18:48
#sleep 3600
^Z
[1]+  Stopped                 sleep 3600
09:26:51
#jobs
[1]+  Stopped                 sleep 3600
09:27:27
#bg %1
[1]+ sleep 3600 &
09:28:44
#jobs
[1]+  Running                 sleep 3600 &
09:28:55
#sleep 7200 &
[2] 8474
09:29:20
#fg %2
sleep 7200
kill %1
^C
09:31:37
#kill %1
[1]+  Завершено      sleep 3600
09:31:44
#kill %2
l3script: kill: %2: не такой задачи
09:31:47
#jobs

09:32:10
#service crond restart
crond: unrecognized service
прошло 27 минут
09:59:10
#service cron restart
[ ok ] Restarting periodic command scheduler: cron[....] Stopping periodic command scheduler: cron.
[ ok ] Starting periodic command scheduler: cron.
09:59:23
#cd etc/init.d/
l3script: cd: etc/init.d/: Нет такого файла или каталога
09:59:47
#cd /etc/init.d/

09:59:55
#ls
acpid        checkroot-bootclean.sh  cron         hwclock.sh      kmod                   mountdevsubfs.sh       mtab.sh     rc        reboot          sendsigs  udev          umountroot
bootlogs     checkroot.sh            exim4        kbd             motd                   mountkernfs.sh         netdiag     rc.local  rmnologin       single    udev-mtab     urandom
bootmisc.sh  console-cyrillic        halt         keyboard-setup  mountall-bootclean.sh  mountnfs-bootclean.sh  networking  rcS       rsyslog         skeleton  umountfs
checkfs.sh   console-setup           hostname.sh  killprocs       mountall.sh            mountnfs.sh            procps      README    screen-cleanup  ssh       umountnfs.sh
10:00:13
#less cron
10:02:03
#cd

10:02:45
#ls
=1000  install  ip.txt  shell.sh  test  words.txt
10:03:48
#. ./shell.sh
Changing shell bash for user user ivan petr ...
usermod: изменения не внесены
Changing shell bash for user user ivan petr ...
usermod: изменения не внесены
Changing shell bash for user user ivan petr ...
usermod: изменения не внесены
прошло 34 минуты
10:37:57
#history
    1  ifconfig
    2  vim /etc/network/interfaces
    3  nano /etc/network/interfaces
    4  /etc/init.d/networking restart
    5  ifconfig
    6  route
    7  ping 192.168.13.253
    8  shutdown -r now
    9  exit
   10  ping ya.ru
...
  291  cd etc/init.d/
  292  cd /etc/init.d/
  293  ls
  294  less cron
  295  cd
  296  ls
  297  ./shell.sh
  298  . ./shell.sh
  299  cat ./shell.sh
  300  history
прошло 66 минут
11:44:16
#сÑcat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
...
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
прошло 69 минут
12:54:01
#id
uid=0(root) gid=0(root) группы=0(root)
12:59:26
#id user
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
12:59:37
#chfn ivan
Изменение информации о пользователе ivan
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
        Полное имя []: Ivan Ivanov
        Номер комнаты []: 9c
        Рабочий телефон []: 111
        Домашний телефон []: 111-11-11
        Другое []:
13:04:02
#id ivan
uid=1001(ivan) gid=1001(ivan) группы=1001(ivan)
13:04:17
#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
...
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001:Ivan Ivanov,9c,111,111-11-11:/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:04:31
#finger ivan
l3script: finger: команда не найдена
13:05:20
#apt-get finger
E: Неверная операция finger
13:05:42
#apt-get install finger
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  finger
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 20,5 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 31,7 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main finger amd64 0.17-15 [20,5 kB]
Получено 20,5 kБ за 0с (286 kБ/c)
Выбор ранее не выбранного пакета finger.
(Чтение базы данных … на данный момент установлено 30012 файлов и каталогов.)
Распаковывается пакет finger (из файла …/finger_0.17-15_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет finger (0.17-15) …
13:06:02
#finger ivan
Login: ivan                             Name: Ivan Ivanov
Directory: /home/ivan                   Shell: /bin/bash
Office: 9c, 111                         Home Phone: 111-11-11
On since Wed Jul 18 10:07 (EEST) on pts/5 from 192.168.15.124
   3 hours 54 minutes idle
No mail.
No Plan.
13:06:16
#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
...
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001:Ivan Ivanov,9c,111,111-11-11:/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:08:06
#cat etc/shadow
cat: etc/shadow: Нет такого файла или каталога
13:15:49
#cat /etc/shadow
root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248: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:::
...
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$CkJHVC8E$ykTJUix/7qmcPBJgqnJtCHlWhYfEaImqXcQyeRrwYm6Xi4KaZSfb4FB20ocZ/VlrQzTR2wiEobMxT/OM/FXgd0:16248:0:99999:7:::
sshd:*:16248:0:99999:7:::
ivan:$6$IAZ0Hr6j$rj3OpDTzep8WRLLOq7YmEp1A7i5X75hV6x.tXUyARGKT5MVYEvASF/tgo76Q/CFUzMKLjjJK8d7..R1dVKNNO0:17728:0:99999:7:::
petr:$6$USPN9dsb$2HyHYLSrK7sEykd5iybO1Lmfw2nOzU5uUCFKj0IO2WrRGGyuhpvEvzFdAS7tdcONwL0mJw76jvy62yACY71iO/:17728:0:99999:7:::
13:15:55
#apt-get install john
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  john-data
Предлагаемые пакеты:
  wordlist
НОВЫЕ пакеты, которые будут установлены:
  john john-data
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
...
Получено:2 http://ftp.ua.debian.org/debian/ wheezy/main john amd64 1.7.8-1 [194 kB]
Получено 847 kБ за 0с (2 902 kБ/c)
Выбор ранее не выбранного пакета john-data.
(Чтение базы данных … на данный момент установлено 30019 файлов и каталогов.)
Распаковывается пакет john-data (из файла …/john-data_1.7.8-1_all.deb) …
Выбор ранее не выбранного пакета john.
Распаковывается пакет john (из файла …/john_1.7.8-1_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет john-data (1.7.8-1) …
Настраивается пакет john (1.7.8-1) …
13:18:34
#cp /etc/shadow .

13:19:04
#john shadow
Created directory: /root/.john
Loaded 4 password hashes with 4 different salts (generic crypt(3) [?/64])
password         (user)
123              (ivan)
123              (petr)
guesses: 3  time: 0:00:02:44 0% (2)  c/s: 70.10  trying: eddie - snowball
Use the "--show" option to display all of the cracked passwords reliably
Session aborted
13:23:21
#chage -l ivan
Последний раз пароль был изменён                                    : Июл 16, 2018
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
13:24:11
#less /etc/default/useradd
прошло 11 минут
13:35:43
#vi /etc/default/useradd
13:38:28
#vi /etc/login.defs
13:47:12
#cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
...
games:x:60:
users:x:100:
nogroup:x:65534:
libuuid:x:101:
crontab:x:102:
Debian-exim:x:103:
ssh:x:104:
user:x:1000:
ivan:x:1001:
petr:x:1002:
13:47:23
#cat /etc/gshadow
root:*::
daemon:*::
bin:*::
sys:*::
adm:*::
tty:*::
disk:*::
lp:*::
mail:*::
news:*::
...
games:*::
users:*::
nogroup:*::
libuuid:!::
crontab:!::
Debian-exim:!::
ssh:!::
user:!::
ivan:!::
petr:!::
13:49:18
#groupadd developers

13:50:39
#gpasswd -Mivan,peter developers
gpasswd: пользователь «peter» не существует
13:52:11
#gpasswd -Mivan,petr developers

13:52:19
#gpasswd -M ivan,petr developers

13:52:49
#id ivan
uid=1001(ivan) gid=1001(ivan) группы=1001(ivan),1003(developers)
13:52:56
#mkdir /opt/public

прошло 57 минут
14:50:13
#ls -l /opt
итого 4
drwxr-xr-x 2 root root 4096 Июл 18 15:50 public
14:50:49
#chmod o+w /opt/public

14:51:39
#/opt/public/# > ROOT_NOT_DELETE
l3script: /opt/public/#: Нет такого файла или каталога
14:52:29
#/opt/public/# > ROOT_NOT_DELETE
l3script: /opt/public/#: Нет такого файла или каталога
14:53:44
#/opt/public/# > ROOT_NOT_DELETE
l3script: /opt/public/#: Нет такого файла или каталога
14:54:07
#cd /opt/public/

14:55:08
#/opt/public/# > ROOT_NOT_DELETE
l3script: /opt/public/#: Нет такого файла или каталога
14:55:18
#cd ..

14:55:34
#chmod +t public

14:55:50
#ls -l
итого 4
drwxr-xrwt 2 root root 4096 Июл 18 15:55 public
14:55:56
#cd /opt/public > 123

14:57:51
#chmod u-r 123
chmod: невозможно получить доступ к «123»: Нет такого файла или каталога
14:59:33
#chmod u-r /opt/public/123
chmod: невозможно получить доступ к «/opt/public/123»: Нет такого файла или каталога
14:59:56
#chmod u+s `which cat`

15:09:39
#chmod u-s `which cat`

15:10:57
#find / -perm -4000 2> /dev/null
/usr/lib/openssh/ssh-keysign
/usr/lib/pt_chown
/usr/lib/eject/dmcrypt-get-device
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/chsh
/usr/bin/newgrp
/usr/sbin/exim4
/bin/mount
/bin/su
/bin/ping6
/bin/umount
/bin/ping
15:14:24
#tty
/dev/pts/2
15:18:37
#^C

15:24:31
#mesg n

15:24:45
#ls -l /dev/pts
итого 0
crw--w---- 1 root tty  136, 1 Июл 16 16:25 1
crw--w---- 1 root tty  136, 2 Июл 18 16:25 2
crw------- 1 root tty  136, 3 Июл 18 16:25 3
crw--w---- 1 user tty  136, 4 Июл 18 12:47 4
crw--w---- 1 ivan tty  136, 5 Июл 18 16:23 5
crw--w---- 1 user tty  136, 6 Июл 18 12:47 6
c--------- 1 root root   5, 2 Июл 16 08:39 ptmx
15:25:04
#^C

Четверг (07/19/18)

/dev/pts/7
09:24:22
#cd /opt

09:24:27
#mkdir projekt

09:24:44
#chgrp developers projekt

09:26:20
#chmod 770 projekt

09:26:32
#ls -l
итого 8
-rw-r--r-- 1 root root          0 Июл 18 15:57 123
drwxrwx--- 2 root developers 4096 Июл 19 10:24 projekt
drwxr-xrwt 2 root root       4096 Июл 18 15:55 public
09:26:57
#chmod g+s projekt

09:32:13
#umask
0022
09:33:51
#apt-get install acl
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  acl
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 70,8 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 264 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main acl amd64 2.2.51-8 [70,8 kB]
Получено 70,8 kБ за 0с (740 kБ/c)
Выбор ранее не выбранного пакета acl.
(Чтение базы данных … на данный момент установлено 30060 файлов и каталогов.)
Распаковывается пакет acl (из файла …/acl_2.2.51-8_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет acl (2.2.51-8) …
09:39:21
#useradd anna

09:40:11
#userdell anna
l3script: userdell: команда не найдена
09:40:40
#userdel anna

09:40:48
#useradd -m anna

Файлы

  • ./shell.sh
  • /etc/group
  • /etc/gshadow
  • /etc/passwd
  • /etc/shadow
  • shell.sh
  • ./shell.sh
    >
    #!/bin/bash
    shell=${1:-bash}
    users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
            tr '\n' ' '`
    for user in $users
        do
            echo "Changing shell $shell for user $users..."
            usermod -s /bin/$shell $user
        done
    
    /etc/group
    >
    root:x:0:
    daemon:x:1:
    bin:x:2:
    sys:x:3:
    adm:x:4:
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mail:x:8:
    news:x:9:
    uucp:x:10:
    man:x:12:
    proxy:x:13:
    kmem:x:15:
    dialout:x:20:
    fax:x:21:
    voice:x:22:
    cdrom:x:24:user
    floppy:x:25:user
    tape:x:26:
    sudo:x:27:
    audio:x:29:user
    dip:x:30:user
    www-data:x:33:
    backup:x:34:
    operator:x:37:
    list:x:38:
    irc:x:39:
    src:x:40:
    gnats:x:41:
    shadow:x:42:
    utmp:x:43:
    video:x:44:user
    sasl:x:45:
    plugdev:x:46:user
    staff:x:50:
    games:x:60:
    users:x:100:
    nogroup:x:65534:
    libuuid:x:101:
    crontab:x:102:
    Debian-exim:x:103:
    ssh:x:104:
    user:x:1000:
    ivan:x:1001:
    petr:x:1002:
    
    /etc/gshadow
    >
    root:*::
    daemon:*::
    bin:*::
    sys:*::
    adm:*::
    tty:*::
    disk:*::
    lp:*::
    mail:*::
    news:*::
    uucp:*::
    man:*::
    proxy:*::
    kmem:*::
    dialout:*::
    fax:*::
    voice:*::
    cdrom:*::user
    floppy:*::user
    tape:*::
    sudo:*::
    audio:*::user
    dip:*::user
    www-data:*::
    backup:*::
    operator:*::
    list:*::
    irc:*::
    src:*::
    gnats:*::
    shadow:*::
    utmp:*::
    video:*::user
    sasl:*::
    plugdev:*::user
    staff:*::
    games:*::
    users:*::
    nogroup:*::
    libuuid:!::
    crontab:!::
    Debian-exim:!::
    ssh:!::
    user:!::
    ivan:!::
    petr:!::
    
    /etc/passwd
    >
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    Debian-exim:x:101:103::/var/spool/exim4:/bin/false
    user:x:1000:1000:user,,,:/home/user:/bin/bash
    sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
    ivan:x:1001:1001:Ivan Ivanov,9c,111,111-11-11:/home/ivan:/bin/bash
    petr:x:1002:1002::/home/petr:/bin/bash
    
    /etc/shadow
    >
    root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248: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$CkJHVC8E$ykTJUix/7qmcPBJgqnJtCHlWhYfEaImqXcQyeRrwYm6Xi4KaZSfb4FB20ocZ/VlrQzTR2wiEobMxT/OM/FXgd0:16248:0:99999:7:::
    sshd:*:16248:0:99999:7:::
    ivan:$6$IAZ0Hr6j$rj3OpDTzep8WRLLOq7YmEp1A7i5X75hV6x.tXUyARGKT5MVYEvASF/tgo76Q/CFUzMKLjjJK8d7..R1dVKNNO0:17728:0:99999:7:::
    petr:$6$USPN9dsb$2HyHYLSrK7sEykd5iybO1Lmfw2nOzU5uUCFKj0IO2WrRGGyuhpvEvzFdAS7tdcONwL0mJw76jvy62yACY71iO/:17728:0:99999:7:::
    
    shell.sh
    >
    #!/bin/bash
    users=`awk -F: `$3>=1000 && $3!=65534{print $1}` /etc/passwd | \
            tr '\n' ' '`
    echo $users
    

    Статистика

    Время первой команды журнала08:46:31 2018- 7-18
    Время последней команды журнала09:40:48 2018- 7-19
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %11.88
    Процент синтаксически неверно набранных команд, % 5.94
    Суммарное время работы с терминалом *, час 3.12
    Количество командных строк в единицу времени, команда/мин 0.54
    Частота использования команд
    shell.sh9|========| 8.41%
    chmod8|=======| 7.48%
    cat8|=======| 7.48%
    vi8|=======| 7.48%
    cd7|======| 6.54%
    ls6|=====| 5.61%
    ROOT_NOT_DELETE4|===| 3.74%
    #4|===| 3.74%
    apt-get4|===| 3.74%
    id4|===| 3.74%
    gpasswd3|==| 2.80%
    jobs3|==| 2.80%
    sleep2|=| 1.87%
    mkdir2|=| 1.87%
    useradd2|=| 1.87%
    echo2|=| 1.87%
    service2|=| 1.87%
    finger2|=| 1.87%
    less2|=| 1.87%
    ^C2|=| 1.87%
    kill2|=| 1.87%
    test2|=| 1.87%
    umask1|| 0.93%
    fg1|| 0.93%
    groupadd1|| 0.93%
    mesg1|| 0.93%
    cp1|| 0.93%
    chfn1|| 0.93%
    1231|| 0.93%
    bg1|| 0.93%
    .1|| 0.93%
    chage1|| 0.93%
    find1|| 0.93%
    userdell1|| 0.93%
    сÑcat1|| 0.93%
    null1|| 0.93%
    userdel1|| 0.93%
    history1|| 0.93%
    john1|| 0.93%
    tty1|| 0.93%
    chgrp1|| 0.93%
    ____
    *) Интервалы неактивности длительностью 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$