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

Содержание

Журнал

Среда (03/29/17)

/dev/pts/0
13:45:00
#./shell.sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
13:45:04
#finger ivan
Login: ivan                             Name:
Directory: /home/ivan                   Shell: /bin/bash
Last login Wed Mar 29 09:27 (EEST) on pts/0 from 192.168.16.154
No mail.
No Plan.
13:45:08
#vi shell.sh
13:50:33
# 9 done

13:51:04
#echo $?
0
13:51:17
#test 5 -eq 6

13:51:25
#echo $?
1
13:51:27
#[ 5 -eq 6 ]

13:52:04
#echo $?
1
13:52:09
#[ 5 -eq 5 ]

13:52:15
#echo $?
0
13:52:17
#vi shell.sh
--- /tmp/l3-saved-13994.29037.12807	2017-03-29 14:52:49.359210863 +0300
+++ shell.sh	2017-03-29 14:54:50.671133253 +0300
@@ -1,5 +1,9 @@
 #!/bin/bash
 
+if [ $# -gt 1 ]
+	then
+	   exit 2
+	fi
 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " `
 for user in $users
 	do
13:54:50
#vi shell.sh sh
13:55:21
#~
l3script: ./: Это каталог
13:55:32
#./shell.sh sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
13:55:41
#./shell.sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
13:55:46
#./shell.sh sh gre

13:56:01
#./shell.sh sh ry

13:56:09
#echo $?
2
13:56:29
#jobs

прошло 32 минуты
14:29:10
#pwd
/root/scripts
14:35:27
#vi proc.sh
--- /dev/null	2017-03-24 16:46:11.415999982 +0200
+++ proc.sh	2017-03-29 15:44:47.903149200 +0300
@@ -0,0 +1,9 @@
+#! /bin/bash
+
+i=1
+while [$i -lt 1000000]
+	do
+	   echo $i > /dev/`who | awk '$1~/ivan/{print $2}'`
+	   clear > /dev/`who | awk '$1~/ivan/{print $2}'`
+	   i=$[$i+1]
+	done 
14:44:47
#chmod u+x proc.sh

14:45:08
#./proc.sh
./proc.sh: line 4: [1: команда не найдена
14:45:46
#./ proc.sh
l3script: ./: Это каталог
14:45:56
#vi proc.sh
--- /tmp/l3-saved-13994.9482.16217	2017-03-29 15:46:18.815130486 +0300
+++ proc.sh	2017-03-29 15:47:39.531147640 +0300
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 i=1
-while [$i -lt 1000000]
+while [ $i -lt 1000000 ]
 	do
 	   echo $i > /dev/`who | awk '$1~/ivan/{print $2}'`
 	   clear > /dev/`who | awk '$1~/ivan/{print $2}'`
14:47:39
#./ proc.sh
l3script: ./: Это каталог
14:47:41
#./proc.sh
^D
^C
14:51:36
#vi proc.sh
прошло 63 минуты
15:54:36
#~

прошло 22 минуты
16:17:34
#cd ..

16:17:37
#cd ..

16:17:40
#cd etc/

16:17:56
#tree
.
├── acpi
│   ├── events
│   │   └── powerbtn-acpi-support
│   └── powerbtn-acpi-support.sh
├── adduser.conf
├── adjtime
├── aliases
├── alternatives
│   ├── aptitude -> /usr/bin/aptitude-curses
...
│   └── mailcap
├── wgetrc
├── X11
│   └── xkb
└── xml
    ├── catalog
    ├── catalog.old
    ├── xml-core.xml
    └── xml-core.xml.old
118 directories, 1074 files
16:17:59
#ls -l
итого 664
drwxr-xr-x 3 root root    4096 Окт 13  2014 acpi
-rw-r--r-- 1 root root    2981 Июн 27  2014 adduser.conf
-rw-r--r-- 1 root root      44 Окт 15  2014 adjtime
-rw-r--r-- 1 root root     196 Июн 27  2014 aliases
drwxr-xr-x 2 root root    4096 Окт 13  2014 alternatives
drwxr-xr-x 6 root root    4096 Окт 13  2014 apt
-rw-r--r-- 1 root root    1895 Дек 30  2012 bash.bashrc
-rw-r--r-- 1 root root      45 Июн 17  2012 bash_completion
drwxr-xr-x 2 root root    4096 Июн 27  2014 bash_completion.d
...
-rw-r--r-- 1 root root      12 Июн 27  2014 timezone
-rw-r--r-- 1 root root    1552 Окт 19  2012 trafshow
-rw-r--r-- 1 root root    1260 Май 30  2008 ucf.conf
drwxr-xr-x 4 root root    4096 Июн 27  2014 udev
drwxr-xr-x 3 root root    4096 Июн 27  2014 ufw
drwxr-xr-x 2 root root    4096 Июн 27  2014 vim
drwxr-xr-x 2 root root    4096 Июн 27  2014 w3m
-rw-r--r-- 1 root root    4496 Фев  1  2014 wgetrc
drwxr-xr-x 3 root root    4096 Июн 27  2014 X11
drwxr-xr-x 2 root root    4096 Июн 27  2014 xml

Четверг (03/30/17)

/dev/pts/0
08:28:15
#chfn ivan
Изменение информации о пользователе ivan
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
        Полное имя []: Ivan Ivanov
        Номер комнаты []: 9D
        Рабочий телефон []: 111
        Домашний телефон []: 123 123 123
        Другое []:
прошло 25 минут
08:54:03
#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
...
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,9D,111,123 123 123:/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
anna:x:1003:1003::/home/anna:/bin/bash
08:54:20
#finger ivan
Login: ivan                             Name: Ivan Ivanov
Directory: /home/ivan                   Shell: /bin/bash
Office: 9D, 111                         Home Phone: 123 123 123
Last login Wed Mar 29 15:45 (EEST) on pts/8 from 192.168.16.154
No mail.
No Plan.
08:54:55
#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:::
...
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$7U2LEQ1T$JQXvtkdtcKRK4odSzRuJSYvJmq.ztTRGvquROzbKQDSXFolKEMowGL69kbt4wvzo7AOLxUPeFDpqlJJodXgHg0:17252:0:99999:7:::
petr:$6$qgm7uKhh$O3Pq3Z.lhgBgM.xgEUbbeqAGtFsSlhhCMttP9BS4//EweaepWTGpVcdoQOofAFf9RiVFZg.GEGrJwlQQiFOiH0:17252:0:99999:7:::
anna:!:17254:0:99999:7:::
08:57:11
#chage -l
, --lastday ПОСÐсмены пароля°Ð¼ÐµÑ‚ры] ПОÐ
                                в ПОСÐ
, --expiredate ДАТА_УСТ     установить дату окончания действия
                                учётной записи в ДАТА_УСТ
  -h, --help                    показать данное сообщение и закончить работу
  -I, --inactive НЕАКТИВНОСТЬ   установить неактивность пароля после
                                устаревания в значение НЕАКТИВНОСТЬ
  -l, --list                    показать «возраст» учётной записи
  -m, --mindays МИН_ДНЕЙ        установить минимальное число дней перед
                                сменой пароля в МИН_ДНЕЙ
  -M, --maxdays МАКС_ДНЕЙ       установить максимальное число дней перед
                                сменой пароля в МАКС_ДНЕЙ
  -R, --root КАТ_CHROOT         каталог, в который выполняется chroot
  -W, --warndays ПРЕДУП_ДНЕЙ    установить количество дней с выдачей
                                предупреждения в ПРЕДУП_ДНЕЙ
09:04:31
#chage -l
, --lastday ПОСÐсмены пароля°Ð¼ÐµÑ‚ры] ПОÐ
                                в ПОСÐ
, --expiredate ДАТА_УСТ     установить дату окончания действия
                                учётной записи в ДАТА_УСТ
  -h, --help                    показать данное сообщение и закончить работу
  -I, --inactive НЕАКТИВНОСТЬ   установить неактивность пароля после
                                устаревания в значение НЕАКТИВНОСТЬ
  -l, --list                    показать «возраст» учётной записи
  -m, --mindays МИН_ДНЕЙ        установить минимальное число дней перед
                                сменой пароля в МИН_ДНЕЙ
  -M, --maxdays МАКС_ДНЕЙ       установить максимальное число дней перед
                                сменой пароля в МАКС_ДНЕЙ
  -R, --root КАТ_CHROOT         каталог, в который выполняется chroot
  -W, --warndays ПРЕДУП_ДНЕЙ    установить количество дней с выдачей
                                предупреждения в ПРЕДУП_ДНЕЙ
09:04:41
#chage -l ivan
Последний раз пароль был изменён                                    : Мар 27, 2017
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
09:04:48
#cat /etc/default/useradd
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
# Similar to DHSELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general
# as possible
SHELL=/bin/sh
#
# The default group for users
...
# EXPIRE=
#
# The SKEL variable specifies the directory containing "skeletal" user
# files; in other words, files such as a sample .profile that will be
# copied to the new user's home directory when it is created.
# SKEL=/etc/skel
#
# Defines whether the mail spool should be created while
# creating the account
# CREATE_MAIL_SPOOL=yes
прошло 11 минут
09:16:33
#cat /etc/login.defs
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# Three items must be defined:  MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed.  All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
...
# These options are no more handled by shadow.    #
#                                                 #
# Shadow utilities will display a warning if they #
# still appear.                                   #
#                                                 #
###################################################
# CLOSE_SESSIONS
# LOGIN_STRING
# NO_PASSWORD_CONSOLE
# QMAIL_DIR
09:20:29
#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:
...
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:
anna:x:1003:
09:27:24
#groupadd developers

09:31:10
#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:
...
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:
anna:x:1003:
developers:x:1004:
09:31:23
#usermod -G developers ivan

09:33:40
#id ivan
uid=1001(ivan) gid=1001(ivan) группы=1001(ivan),1004(developers)
09:34:12
#gpaswd -a petr developers
l3script: gpaswd: команда не найдена
09:37:12
#gpasswd -a petr developers
Добавление пользователя petr в группу developers
09:37:48
#cat /etc/gshadow
root:*::
daemon:*::
bin:*::
sys:*::
adm:*::
tty:*::
disk:*::
lp:*::
mail:*::
news:*::
...
nogroup:*::
libuuid:!::
crontab:!::
Debian-exim:!::
ssh:!::
user:!::
ivan:!::
petr:!::
anna:!::
developers:!::ivan,petr
09:38:33
#gpasswd -A anna developers

09:42:34
#$LANG
l3script: ru_RU.UTF-8: команда не найдена
09:44:22
#LANG+en_US.UTF
l3script: LANG+en_US.UTF: команда не найдена
09:44:50
#LANG=en_US.UTF
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
09:47:19
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
прошло 58 минут
10:45:49
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:04
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:16
#LANG+ru_RU.UTF-8
l3script: LANG+ru_RU.UTF-8: команда не найдена
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:31
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:34
#LANG=en_US.UTF
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:50
#LANG=en_US.UTF
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:54
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "en_US.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:47:05
#LANG=ru_RU.UTF
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "ru_RU.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:47:41
#cd /opt/
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru_UA:ru",
        LC_ALL = (unset),
        LANG = "ru_RU.UTF"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:47:44
#LANG=ru_RU.UTF-8

10:47:49
#cd /opt/

10:47:50
#mkdir public

10:48:11
#ls -l
итого 4
drwxr-xr-x 2 root root 4096 Мар 30 11:48 public
10:48:15
#chmod o+w public/

10:48:41
#>public/f1

10:48:53
#> public/f1

10:48:59
#chmod +t public/

10:51:12
#ls -l
итого 4
drwxr-xrwt 2 root root 4096 Мар 30 11:50 public
10:51:32
#> public/f1

прошло 11 минут
11:03:06
#who
root     pts/0        2017-03-30 09:28 (192.168.16.154)
user     pts/6        2017-03-30 09:28 (192.168.16.154)
ivan     pts/8        2017-03-30 11:23 (192.168.16.154)
11:03:21
#ls -l /dev/pts/0
crw--w---- 1 root tty 136, 0 Мар 30 12:03 /dev/pts/0
11:03:46
#ls -l `which write`
lrwxrwxrwx 1 root root 23 Июн 27  2014 /usr/bin/write -> /etc/alternatives/write
11:04:32
#ls -lL `which write`
-rwxr-sr-x 1 root tty 14624 Июн 11  2012 /usr/bin/write
11:04:53
#mkdir project

11:08:38
#ls -l
итого 8
drwxr-xr-x 2 root root 4096 Мар 30 12:08 project
drwxr-xrwt 2 root root 4096 Мар 30 11:52 public
11:08:42
#chgrp developers project

11:09:57
#chmod 770 project/

11:12:58
#ls -l
итого 8
drwxrwx--- 2 root developers 4096 Мар 30 12:08 project
drwxr-xrwt 2 root root       4096 Мар 30 11:52 public
11:16:01
#chmod g+s project

11:16:25
#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
11:25:32
#cd..
l3script: cd..: команда не найдена
11:25:46
#cd..
l3script: cd..: команда не найдена
11:25:48
#cd ..

11:25:50
#cd ..

11:25:52
#~
l3script: /root: Это каталог
11:25:55
#cd

11:25:58
#cp ~/mymotd /etc/motd
cp: не удалось выполнить stat для «/root/mymotd»: Нет такого файла или каталога
11:26:02
#ls -l
итого 48
drwxr-xr-x 2 root root 4096 Мар 27 14:14 d1
drwxr-xr-x 3 root root 4096 Мар 28 12:47 d2
-rw-r--r-- 1 root root   36 Мар 28 14:17 err.txt
lrwxrwxrwx 1 root root   11 Мар 27 14:57 f2 -> /root/d2/f2
-rw-r--r-- 1 root root 5268 Окт 13  2014 install
-rw-r--r-- 1 root root   33 Мар 28 16:37 ip.txt
-rw-r--r-- 2 root root  512 Мар 27 14:05 MBR
-rw-r--r-- 2 root root  512 Мар 27 14:05 MBR2
-rw-r--r-- 1 root root  986 Мар 28 16:10 passwd
-rw-r--r-- 1 root root 5449 Мар 27 17:11 proc.txt
-rw-r--r-- 1 root root    0 Мар 28 14:16 ps.txt
drwxr-xr-x 2 root root 4096 Мар 29 16:54 scripts
11:26:07
#> mymotd

11:26:51
#> motd

11:27:07
#vi motd
--- /tmp/l3-saved-32640.14617.13317	2017-03-30 12:27:11.771133948 +0300
+++ motd	2017-03-30 12:27:28.359174286 +0300
@@ -0,0 +1 @@
+HELLO!!!!
11:27:28
#vi mymotd
--- /tmp/l3-saved-32640.28963.18036	2017-03-30 12:27:40.027131883 +0300
+++ mymotd	2017-03-30 12:27:57.171140448 +0300
@@ -0,0 +1,2 @@
+
+Zdarova
11:27:57
#cp ~/mymotd /etc/motd

11:32:32
#cp ~/mynologin /etc/nologin

Файлы

  • /etc/default/useradd
  • /etc/group
  • /etc/gshadow
  • /etc/login.defs
  • /etc/passwd
  • /etc/shadow
  • /etc/default/useradd
    >
    # Default values for useradd(8)
    #
    # The SHELL variable specifies the default login shell on your
    # system.
    # Similar to DHSELL in adduser. However, we use "sh" here because
    # useradd is a low level utility and should be as general
    # as possible
    SHELL=/bin/sh
    #
    # The default group for users
    # 100=users on Debian systems
    # Same as USERS_GID in adduser
    # This argument is used when the -n flag is specified.
    # The default behavior (when -n and -g are not specified) is to create a
    # primary user group with the same name as the user being added to the
    # system.
    # GROUP=100
    #
    # The default home directory. Same as DHOME for adduser
    # HOME=/home
    #
    # The number of days after a password expires until the account
    # is permanently disabled
    # INACTIVE=-1
    #
    # The default expire date
    # EXPIRE=
    #
    # The SKEL variable specifies the directory containing "skeletal" user
    # files; in other words, files such as a sample .profile that will be
    # copied to the new user's home directory when it is created.
    # SKEL=/etc/skel
    #
    # Defines whether the mail spool should be created while
    # creating the account
    # CREATE_MAIL_SPOOL=yes
    
    /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:
    anna:x:1003:
    developers:x:1004:
    
    /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:!::
    anna:!::
    developers:!::ivan,petr
    
    /etc/login.defs
    >
    #
    # /etc/login.defs - Configuration control definitions for the login package.
    #
    # Three items must be defined:  MAIL_DIR, ENV_SUPATH, and ENV_PATH.
    # If unspecified, some arbitrary (and possibly incorrect) value will
    # be assumed.  All other items are optional - if not specified then
    # the described action or option will be inhibited.
    #
    # Comment lines (lines beginning with "#") and blank lines are ignored.
    #
    # Modified for Linux.  --marekm
    # REQUIRED for useradd/userdel/usermod
    #   Directory where mailboxes reside, _or_ name of file, relative to the
    #   home directory.  If you _do_ define MAIL_DIR and MAIL_FILE,
    #   MAIL_DIR takes precedence.
    #
    #   Essentially:
    #      - MAIL_DIR defines the location of users mail spool files
    #        (for mbox use) by appending the username to MAIL_DIR as defined
    #        below.
    #      - MAIL_FILE defines the location of the users mail spool files as the
    #        fully-qualified filename obtained by prepending the user home
    #        directory before $MAIL_FILE
    #
    # NOTE: This is no more used for setting up users MAIL environment variable
    #       which is, starting from shadow 4.0.12-1 in Debian, entirely the
    #       job of the pam_mail PAM modules
    #       See default PAM configuration files provided for
    #       login, su, etc.
    #
    # This is a temporary situation: setting these variables will soon
    # move to /etc/default/useradd and the variables will then be
    # no more supported
    MAIL_DIR        /var/mail
    #MAIL_FILE      .mail
    #
    # Enable logging and display of /var/log/faillog login failure info.
    # This option conflicts with the pam_tally PAM module.
    #
    FAILLOG_ENAB            yes
    #
    # Enable display of unknown usernames when login failures are recorded.
    #
    # WARNING: Unknown usernames may become world readable.
    # See #290803 and #298773 for details about how this could become a security
    # concern
    LOG_UNKFAIL_ENAB        no
    #
    # Enable logging of successful logins
    #
    LOG_OK_LOGINS           no
    #
    # Enable "syslog" logging of su activity - in addition to sulog file logging.
    # SYSLOG_SG_ENAB does the same for newgrp and sg.
    #
    SYSLOG_SU_ENAB          yes
    SYSLOG_SG_ENAB          yes
    #
    # If defined, all su activity is logged to this file.
    #
    #SULOG_FILE     /var/log/sulog
    #
    # If defined, file which maps tty line to TERM environment parameter.
    # Each line of the file is in a format something like "vt100  tty01".
    #
    #TTYTYPE_FILE   /etc/ttytype
    #
    # If defined, login failures will be logged here in a utmp format
    # last, when invoked as lastb, will read /var/log/btmp, so...
    #
    FTMP_FILE       /var/log/btmp
    #
    # If defined, the command name to display when running "su -".  For
    # example, if this is defined as "su" then a "ps" will display the
    # command is "-su".  If not defined, then "ps" would display the
    # name of the shell actually being run, e.g. something like "-sh".
    #
    SU_NAME         su
    #
    # If defined, file which inhibits all the usual chatter during the login
    # sequence.  If a full pathname, then hushed mode will be enabled if the
    # user's name or shell are found in the file.  If not a full pathname, then
    # hushed mode will be enabled if the file exists in the user's home directory.
    #
    HUSHLOGIN_FILE  .hushlogin
    #HUSHLOGIN_FILE /etc/hushlogins
    #
    # *REQUIRED*  The default PATH settings, for superuser and normal users.
    #
    # (they are minimal, add the rest in the shell startup files)
    ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    #
    # Terminal permissions
    #
    #       TTYGROUP        Login tty will be assigned this group ownership.
    #       TTYPERM         Login tty will be set to this permission.
    #
    # If you have a "write" program which is "setgid" to a special group
    # which owns the terminals, define TTYGROUP to the group number and
    # TTYPERM to 0620.  Otherwise leave TTYGROUP commented out and assign
    # TTYPERM to either 622 or 600.
    #
    # In Debian /usr/bin/bsd-write or similar programs are setgid tty
    # However, the default and recommended value for TTYPERM is still 0600
    # to not allow anyone to write to anyone else console or terminal
    # Users can still allow other people to write them by issuing
    # the "mesg y" command.
    TTYGROUP        tty
    TTYPERM         0600
    #
    # Login configuration initializations:
    #
    #       ERASECHAR       Terminal ERASE character ('\010' = backspace).
    #       KILLCHAR        Terminal KILL character ('\025' = CTRL/U).
    #       UMASK           Default "umask" value.
    #
    # The ERASECHAR and KILLCHAR are used only on System V machines.
    #
    # UMASK is the default umask value for pam_umask and is used by
    # useradd and newusers to set the mode of the new home directories.
    # 022 is the "historical" value in Debian for UMASK
    # 027, or even 077, could be considered better for privacy
    # There is no One True Answer here : each sysadmin must make up his/her
    # mind.
    #
    # Prefix these values with "0" to get octal, "0x" to get hexadecimal.
    #
    ERASECHAR       0177
    KILLCHAR        025
    UMASK           022
    #
    # Password aging controls:
    #
    #       PASS_MAX_DAYS   Maximum number of days a password may be used.
    #       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
    #       PASS_WARN_AGE   Number of days warning given before a password expires.
    #
    PASS_MAX_DAYS   99999
    PASS_MIN_DAYS   0
    PASS_WARN_AGE   7
    #
    # Min/max values for automatic uid selection in useradd
    #
    UID_MIN                  1000
    UID_MAX                 60000
    # System accounts
    #SYS_UID_MIN              100
    #SYS_UID_MAX              999
    #
    # Min/max values for automatic gid selection in groupadd
    #
    GID_MIN                  1000
    GID_MAX                 60000
    # System accounts
    #SYS_GID_MIN              100
    #SYS_GID_MAX              999
    #
    # Max number of login retries if password is bad. This will most likely be
    # overriden by PAM, since the default pam_unix module has it's own built
    # in of 3 retries. However, this is a safe fallback in case you are using
    # an authentication module that does not enforce PAM_MAXTRIES.
    #
    LOGIN_RETRIES           5
    #
    # Max time in seconds for login
    #
    LOGIN_TIMEOUT           60
    #
    # Which fields may be changed by regular users using chfn - use
    # any combination of letters "frwh" (full name, room number, work
    # phone, home phone).  If not defined, no changes are allowed.
    # For backward compatibility, "yes" = "rwh" and "no" = "frwh".
    #
    CHFN_RESTRICT           rwh
    #
    # Should login be allowed if we can't cd to the home directory?
    # Default in no.
    #
    DEFAULT_HOME    yes
    #
    # If defined, this command is run when removing a user.
    # It should remove any at/cron/print jobs etc. owned by
    # the user to be removed (passed as the first argument).
    #
    #USERDEL_CMD    /usr/sbin/userdel_local
    #
    # If set to yes, userdel will remove the user´s group if it contains no
    # more members, and useradd will create by default a group with the name
    # of the user.
    #
    # Other former uses of this variable such as setting the umask when
    # user==primary group are not used in PAM environments, such as Debian
    #
    USERGROUPS_ENAB yes
    #
    # Instead of the real user shell, the program specified by this parameter
    # will be launched, although its visible name (argv[0]) will be the shell's.
    # The program may do whatever it wants (logging, additional authentification,
    # banner, ...) before running the actual shell.
    #
    # FAKE_SHELL /bin/fakeshell
    #
    # If defined, either full pathname of a file containing device names or
    # a ":" delimited list of device names.  Root logins will be allowed only
    # upon these devices.
    #
    # This variable is used by login and su.
    #
    #CONSOLE        /etc/consoles
    #CONSOLE        console:tty01:tty02:tty03:tty04
    #
    # List of groups to add to the user's supplementary group set
    # when logging in on the console (as determined by the CONSOLE
    # setting).  Default is none.
    #
    # Use with caution - it is possible for users to gain permanent
    # access to these groups, even when not logged in on the console.
    # How to do it is left as an exercise for the reader...
    #
    # This variable is used by login and su.
    #
    #CONSOLE_GROUPS         floppy:audio:cdrom
    #
    # If set to "yes", new passwords will be encrypted using the MD5-based
    # algorithm compatible with the one used by recent releases of FreeBSD.
    # It supports passwords of unlimited length and longer salt strings.
    # Set to "no" if you need to copy encrypted passwords to other systems
    # which don't understand the new algorithm.  Default is "no".
    #
    # This variable is deprecated. You should use ENCRYPT_METHOD.
    #
    #MD5_CRYPT_ENAB no
    #
    # If set to MD5 , MD5-based algorithm will be used for encrypting password
    # If set to SHA256, SHA256-based algorithm will be used for encrypting password
    # If set to SHA512, SHA512-based algorithm will be used for encrypting password
    # If set to DES, DES-based algorithm will be used for encrypting password (default)
    # Overrides the MD5_CRYPT_ENAB option
    #
    # Note: It is recommended to use a value consistent with
    # the PAM modules configuration.
    #
    ENCRYPT_METHOD SHA512
    #
    # Only used if ENCRYPT_METHOD is set to SHA256 or SHA512.
    #
    # Define the number of SHA rounds.
    # With a lot of rounds, it is more difficult to brute forcing the password.
    # But note also that it more CPU resources will be needed to authenticate
    # users.
    #
    # If not specified, the libc will choose the default number of rounds (5000).
    # The values must be inside the 1000-999999999 range.
    # If only one of the MIN or MAX values is set, then this value will be used.
    # If MIN > MAX, the highest value will be used.
    #
    # SHA_CRYPT_MIN_ROUNDS 5000
    # SHA_CRYPT_MAX_ROUNDS 5000
    ################# OBSOLETED BY PAM ##############
    #                                               #
    # These options are now handled by PAM. Please  #
    # edit the appropriate file in /etc/pam.d/ to   #
    # enable the equivelants of them.
    #
    ###############
    #MOTD_FILE
    #DIALUPS_CHECK_ENAB
    #LASTLOG_ENAB
    #MAIL_CHECK_ENAB
    #OBSCURE_CHECKS_ENAB
    #PORTTIME_CHECKS_ENAB
    #SU_WHEEL_ONLY
    #CRACKLIB_DICTPATH
    #PASS_CHANGE_TRIES
    #PASS_ALWAYS_WARN
    #ENVIRON_FILE
    #NOLOGINS_FILE
    #ISSUE_FILE
    #PASS_MIN_LEN
    #PASS_MAX_LEN
    #ULIMIT
    #ENV_HZ
    #CHFN_AUTH
    #CHSH_AUTH
    #FAIL_DELAY
    ################# OBSOLETED #######################
    #                                                 #
    # These options are no more handled by shadow.    #
    #                                                 #
    # Shadow utilities will display a warning if they #
    # still appear.                                   #
    #                                                 #
    ###################################################
    # CLOSE_SESSIONS
    # LOGIN_STRING
    # NO_PASSWORD_CONSOLE
    # QMAIL_DIR
    
    /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,9D,111,123 123 123:/home/ivan:/bin/bash
    petr:x:1002:1002::/home/petr:/bin/bash
    anna:x:1003:1003::/home/anna:/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$7U2LEQ1T$JQXvtkdtcKRK4odSzRuJSYvJmq.ztTRGvquROzbKQDSXFolKEMowGL69kbt4wvzo7AOLxUPeFDpqlJJodXgHg0:17252:0:99999:7:::
    petr:$6$qgm7uKhh$O3Pq3Z.lhgBgM.xgEUbbeqAGtFsSlhhCMttP9BS4//EweaepWTGpVcdoQOofAFf9RiVFZg.GEGrJwlQQiFOiH0:17252:0:99999:7:::
    anna:!:17254:0:99999:7:::
    

    Статистика

    Время первой команды журнала13:45:00 2017- 3-29
    Время последней команды журнала11:32:32 2017- 3-30
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %12.87
    Процент синтаксически неверно набранных команд, % 5.94
    Суммарное время работы с терминалом *, час 3.05
    Количество командных строк в единицу времени, команда/мин 0.55
    Частота использования команд
    cd13|============| 12.15%
    ls9|========| 8.41%
    vi8|=======| 7.48%
    cat7|======| 6.54%
    chmod5|====| 4.67%
    echo5|====| 4.67%
    shell.sh5|====| 4.67%
    >5|====| 4.67%
    proc.sh4|===| 3.74%
    cp3|==| 2.80%
    chage3|==| 2.80%
    ~3|==| 2.80%
    LANG=en_US.UTF3|==| 2.80%
    f13|==| 2.80%
    mkdir2|=| 1.87%
    [2|=| 1.87%
    gpasswd2|=| 1.87%
    cd..2|=| 1.87%
    finger2|=| 1.87%
    groupadd1|| 0.93%
    LANG+en_US.UTF1|| 0.93%
    LANG=ru_RU.UTF1|| 0.93%
    91|| 0.93%
    chfn1|| 0.93%
    motd1|| 0.93%
    LANG+ru_RU.UTF-81|| 0.93%
    LANG=ru_RU.UTF-81|| 0.93%
    find1|| 0.93%
    $LANG1|| 0.93%
    pwd1|| 0.93%
    null1|| 0.93%
    id1|| 0.93%
    who1|| 0.93%
    jobs1|| 0.93%
    mymotd1|| 0.93%
    gpaswd1|| 0.93%
    usermod1|| 0.93%
    tree1|| 0.93%
    chgrp1|| 0.93%
    test1|| 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$