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

Содержание

Журнал

Среда (10/22/14)

/dev/pts/0
14:53:21
#ls
student  user
14:53:22
#tail -20 user
From root@based-debian.net.nt Wed Oct 22 15:52:06 2014
Return-path: <root@based-debian.net.nt>
Envelope-to: user@based-debian.net.nt
Delivery-date: Wed, 22 Oct 2014 15:52:06 +0300
Received: from root by debian1.net.nt with local (Exim 4.80)
        (envelope-from <root@based-debian.net.nt>)
        id 1XgvOY-0003UM-59
        for user@based-debian.net.nt; Wed, 22 Oct 2014 15:52:06 +0300
Date: Wed, 22 Oct 2014 15:52:06 +0300
To: user@based-debian.net.nt
Subject: Privet user
User-Agent: Heirloom mailx 12.5 6/20/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <E1XgvOY-0003UM-59@debian1.net.nt>
From: root <root@based-debian.net.nt>
privet
14:53:30
#cd

14:53:46
#cat hello.sh
#!/bin/bash
for c_user in $*
   do
        echo privet | mail -s "Privet $c_user" $c_user
   done
14:53:52
#test -d 1

прошло 30 минут
15:24:46
#test -d d1

15:24:55
#echo $?
1
15:25:12
#ls
hello.sh  install  ip  i_p  passwd  source  Tux.jpg  wget.txt  words  xargs.txt
15:25:41
#ls -a
.   .aptitude      .bash_profile  hello.sh  ip   .l3rc     .lilalo  passwd    source   .vim      .vimrc    words
..  .bash_history  .bashrc        install   i_p  .lesshst  .links2  .profile  Tux.jpg  .viminfo  wget.txt  xargs.txt
15:25:47
#test i_p

15:28:42
#echo $?
0
15:28:45
#test -d i_p

15:28:51
#echo $?
1
15:28:53
#[ -d i_p ]

15:29:08
#echo $?
1
15:29:10
#[ i_p ]

15:29:14
#echo $?
0
15:29:16
#cp no_file /tmp
cp: не удалось выполнить stat для «no_file»: Нет такого файла или каталога
прошло 20 минут
15:50:06
#echo $?
1
15:50:27
#touch no_file

15:50:40
#cp no_file /tmp/

15:50:48
#echo$?
l3script: echo0: команда не найдена
15:50:54
#echo $?
127
15:50:57
#cp no_file /tmp/test 5 -gt 1
cp: неверный ключ -- g
Попробуйте «cp --help» для получения более подробного описания.
15:51:32
#test 5 -gt 1

15:51:48
#test 5 -lt 1

15:51:56
#echo $?
1
15:51:57
#test -z "$STRING"

15:52:20
#echo $?
0
15:52:21
#test "$P" !=print
l3script: test: : ожидается использование унарного оператора
15:53:21
#test -e /etc/motd

15:53:52
#echo $?
0
15:53:54
#test -d /usr/local/bin/

15:54:11
#test -r /etc/shadow

15:54:28
#echo $?
0
15:54:29
#test -k /tmp/

15:54:39
#help test
test: test [expr]
    Evaluate conditional expression.
    Exits with a status of 0 (true) or 1 (false) depending on
    the evaluation of EXPR.  Expressions may be unary or binary.  Unary
    expressions are often used to examine the status of a file.  There
    are string operators and numeric comparison operators as well.
    The behavior of test depends on the number of arguments.  Read the
    bash manual page for the complete specification.
    File operators:
      -a FILE        True if file exists.
...
      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                     -lt, -le, -gt, or -ge.
    Arithmetic binary operators return true if ARG1 is equal, not-equal,
    less-than, less-than-or-equal, greater-than, or greater-than-or-equal
    than ARG2.
    See the bash manual page bash(1) for the handling of parameters (i.e.
    missing parameters).
    Exit Status:
    Returns success if EXPR evaluates to true; fails if EXPR evaluates to
    false or an invalid argument is given.
15:54:44
#test -k /tmp/

15:55:35
#echo $?
0
15:55:38
#test -w /etc/passwd

16:00:47
#echo $?
0
16:00:48
#x=5

16:01:25
#y=10

16:01:56
#test x -gt y
l3script: test: x: integer expression expected
16:02:09
#test $x -gt $y

16:02:22
#echo $?
1
16:02:25
#test $x -le $y

16:02:34
#echo $?
0
16:02:36
#echo "Your Lovely colour?" ; read FAV_COL ; \
> red
Your Lovely colour?
red
l3script: red: команда не найдена
16:04:45
#unset x,y
l3script: unset: `x,y': неправильный идентификатор
16:05:34
#unset x y

16:05:37
#x
l3script: x: команда не найдена
16:05:39
#set
BASH=/usr/local/bin/l3script
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.2.37(1)-release'
...
MACHTYPE=x86_64-pc-linux-gnu
MAIL=/var/mail/root
MAILCHECK=60
OLDPWD=/var/mail
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="127")
PPID=9240
16:05:43
#set x

16:05:46
#a=0

16:07:13
#while [$a -lt 10]
> do
> a=$((a+1))
> echo $a
> done
l3script: [0: команда не найдена
16:07:53
#while [ $a -lt 10 ]; do a=$((a+1)); echo $a; done
1
2
3
4
5
6
7
8
9
10
16:08:08
#set a

16:08:15
#echo $a
10
16:08:21
#for file in /etc/*
> do
> [ -r $file ] || echo $file
> done
16:09:13
#echo $?
0
16:09:19
#ls -l /etc/
итого 692
drwxr-xr-x 3 root root    4096 Окт 13 17:49 acpi
-rw-r--r-- 1 root root    2981 Июн 27 10:59 adduser.conf
-rw-r--r-- 1 root root      44 Окт 15 16:25 adjtime
-rw-r--r-- 1 root root     196 Июн 27 11:18 aliases
drwxr-xr-x 2 root root    4096 Окт 22 14:32 alternatives
drwxr-xr-x 6 root root    4096 Окт 13 17:45 apt
-rw-r--r-- 1 root root    1910 Окт 21 14:32 bash.bashrc
-rw-r--r-- 1 root root      45 Июн 17  2012 bash_completion
drwxr-xr-x 2 root root    4096 Июн 27 11:18 bash_completion.d
...
-rw-r--r-- 1 root root      12 Июн 27 11:57 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 10:59 udev
drwxr-xr-x 3 root root    4096 Июн 27 11:52 ufw
drwxr-xr-x 2 root root    4096 Июн 27 10:59 vim
drwxr-xr-x 2 root root    4096 Июн 27 12:01 w3m
-rw-r--r-- 1 root root    4496 Фев  1  2014 wgetrc
drwxr-xr-x 3 root root    4096 Июн 27 11:00 X11
drwxr-xr-x 2 root root    4096 Июн 27 12:00 xml
16:10:23
#for file in /etc/*; do [ -x $file ] || echo $file; done
/etc/adduser.conf
/etc/adjtime
/etc/aliases
/etc/bash.bashrc
/etc/bash_completion
/etc/bindresvport.blacklist
/etc/blkid.tab
/etc/blkid.tab.old
/etc/ca-certificates.conf
/etc/console-cyrillic
...
/etc/services
/etc/shadow
/etc/shadow-
/etc/shells
/etc/staff-group-for-usr-local
/etc/sysctl.conf
/etc/timezone
/etc/trafshow
/etc/ucf.conf
/etc/wgetrc
16:11:35
#echo "what command?"
what command?
16:12:26
#read answer
info

Четверг (10/23/14)

/dev/pts/0
08:43:33
#ls
hello.sh  install  ip  i_p  no_file  passwd  source  Tux.jpg  wget.txt  words  xargs.txt
/dev/pts/0
08:52:08
#test

/dev/pts/0
08:57:41
#test

08:57:44
#hwo
l3script: hwo: команда не найдена
09:04:48
#who
root     pts/0        2014-10-23 09:56 (192.168.15.104)
09:04:50
#who
root     pts/0        2014-10-23 09:56 (192.168.15.104)
student  pts/2        2014-10-23 10:05 (192.168.15.104)
09:05:43
#ls -a /etc/
.                       debconf.conf            hosts.deny       logrotate.conf  passwd-         security
..                      debian_version          init             logrotate.d     perl            selinux
acpi                    default                 init.d           lynx-cur        ppp             services
adduser.conf            deluser.conf            initramfs-tools  magic           profile         sgml
adjtime                 dhcp                    inittab          magic.mime      profile.d       shadow
aliases                 discover.conf.d         inputrc          mailcap         protocols       shadow-
alternatives            discover-modprobe.conf  insserv          mailcap.order   .pwd.lock       shells
apt                     dpkg                    insserv.conf     mailname        python          skel
bash.bashrc             email-addresses         insserv.conf.d   manpath.config  python2.7       ssh
bash_completion         environment             iproute2         mime.types      rc0.d           ssl
...
calendar                groff                   ld.so.cache      nanorc          rc.local        trafshow
console-cyrillic        group                   ld.so.conf       network         rcS.d           ucf.conf
console-setup           group-                  ld.so.conf.d     networks        reportbug.conf  udev
cron.d                  grub.d                  libpaper.d       nsswitch.conf   resolv.conf     ufw
cron.daily              gshadow                 lilalo           opt             rmt             vim
cron.hourly             gshadow-                locale.alias     os-release      rpc             w3m
cron.monthly            host.conf               locale.gen       pam.conf        rsyslog.conf    wgetrc
crontab                 hostname                localtime        pam.d           rsyslog.d       X11
cron.weekly             hosts                   logcheck         papersize       screenrc        xml
dbus-1                  hosts.allow             login.defs       passwd          securetty
09:07:55
#which sudo

09:08:21
#whoami
root
09:08:34
#su student
student@debian1:/root$ who
root     pts/0        2014-10-23 09:56 (192.168.15.104)
student  pts/2        2014-10-23 10:05 (192.168.15.104)
student@debian1:/root$ exit
exit
09:11:25
#who -a
                        2014-10-17 18:42               146 id=si    терминал=0 выход=0
           загрузка системы 2014-10-17 18:42
           уровень выполнения 2 2014-10-17 18:42                   предыдущий=S
                        2014-10-17 18:43              1845 id=l2    терминал=0 выход=0
ВХОД   tty6         2014-10-17 18:43              2300 id=6
ВХОД   tty5         2014-10-17 18:43              2299 id=5
ВХОД   tty4         2014-10-17 18:43              2298 id=4
ВХОД   tty3         2014-10-17 18:43              2297 id=3
ВХОД   tty2         2014-10-17 18:43              2296 id=2
ВХОД   tty1         2014-10-17 18:43              2295 id=1
root     + pts/0        2014-10-23 09:56   .         14462 (192.168.15.104)
student  + pts/2        2014-10-23 10:05 00:10       14583 (192.168.15.104)
09:16:14
#help who
l3script: help: no help topics match `who'.  Try `help help' or `man -k who' or `info who'.
09:17:16
#who --help
Использование: who [КРФАЙÐ
»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елях, вошедших в систему.
  -a, --all         эквивалент -b -d --login -p -r -t -T -u
  -b, --boot        время последней загрузки системы
  -d, --dead        печатать мертвые процессы
  -H, --heading     печатать строку с заголовками столбцов
      --ips         print ips instead of hostnames. with --lookup,
                    canonicalizes based on stored IP, if available,
                    rather than stored hostname
  -l, --login       печатать процессы входа в систему
...
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
Если ФАЙРr/run/utmp. Часто в качестве ФАЙРr/log/wtmp.
Если заданы АРГ1 и АРГ2, полагается использование -m: например «am i»
и «mom likes».
Об ошибках в who сообщайте по адресу bug-coreutils@gnu.org.
Домашняя страница GNU coreutils: <http://www.gnu.org/software/coreutils/>
Справка по работе с программами GNU: <http://www.gnu.org/gethelp/>
Об ошибках в переводе сообщений «who» сообщайте по адресу <gnu@mx.ru>
Полная документация доступна по команде: info coreutils 'who invocation'
09:17:23
#netstat -tnp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0    448 192.168.13.1:22         192.168.15.104:49237    ESTABLISHED 14460/0
tcp        0      0 192.168.13.1:22         192.168.15.104:49244    ESTABLISHED 14583/sshd: student
09:17:49
#netstat -tanp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2242/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2268/exim4
tcp        0    464 192.168.13.1:22         192.168.15.104:49237    ESTABLISHED 14460/0
tcp        0      0 192.168.13.1:22         192.168.15.104:49244    ESTABLISHED 14583/sshd: student
tcp6       0      0 :::22                   :::*                    LISTEN      2242/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      2268/exim4
09:18:10
#last
student  pts/2        192.168.15.104   Thu Oct 23 10:05   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:56   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:35 - 09:55  (00:20)
student  pts/2        192.168.15.104   Wed Oct 22 15:42 - 17:16  (01:33)
student  pts/2        192.168.15.104   Wed Oct 22 15:16 - 15:27  (00:10)
root     pts/0        192.168.15.104   Wed Oct 22 09:16 - 17:16  (07:59)
student  pts/2        192.168.15.104   Tue Oct 21 16:34 - 16:48  (00:13)
root     pts/0        192.168.15.104   Tue Oct 21 14:42 - 17:13  (02:31)
student  pts/2        192.168.15.104   Tue Oct 21 14:32 - 14:34  (00:02)
student  pts/2        192.168.15.104   Tue Oct 21 09:40 - 09:40  (00:00)
student  pts/2        192.168.15.104   Mon Oct 20 13:29 - 16:33  (03:04)
root     pts/0        192.168.15.104   Mon Oct 20 09:46 - 14:42 (1+04:55)
root     pts/0        192.168.15.104   Mon Oct 20 09:00 - 09:45  (00:45)
reboot   system boot  3.2.0-4-amd64    Fri Oct 17 18:42 - 10:22 (5+15:39)
root     pts/0        192.168.13.253   Wed Oct 15 16:25 - down   (00:00)
root     pts/0        192.168.13.253   Wed Oct 15 16:21 - 16:25  (00:03)
reboot   system boot  3.2.0-4-amd64    Wed Oct 15 16:20 - 16:25  (00:04)
wtmp begins Wed Oct 15 16:20:54 2014
09:22:55
#last | grep -v boot
student  pts/2        192.168.15.104   Thu Oct 23 10:05   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:56   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:35 - 09:55  (00:20)
student  pts/2        192.168.15.104   Wed Oct 22 15:42 - 17:16  (01:33)
student  pts/2        192.168.15.104   Wed Oct 22 15:16 - 15:27  (00:10)
root     pts/0        192.168.15.104   Wed Oct 22 09:16 - 17:16  (07:59)
student  pts/2        192.168.15.104   Tue Oct 21 16:34 - 16:48  (00:13)
root     pts/0        192.168.15.104   Tue Oct 21 14:42 - 17:13  (02:31)
student  pts/2        192.168.15.104   Tue Oct 21 14:32 - 14:34  (00:02)
student  pts/2        192.168.15.104   Tue Oct 21 09:40 - 09:40  (00:00)
student  pts/2        192.168.15.104   Mon Oct 20 13:29 - 16:33  (03:04)
root     pts/0        192.168.15.104   Mon Oct 20 09:46 - 14:42 (1+04:55)
root     pts/0        192.168.15.104   Mon Oct 20 09:00 - 09:45  (00:45)
root     pts/0        192.168.13.253   Wed Oct 15 16:25 - down   (00:00)
root     pts/0        192.168.13.253   Wed Oct 15 16:21 - 16:25  (00:03)
wtmp begins Wed Oct 15 16:20:54 2014
09:27:41
#last | grep -v boot | awk '$6>20' | sort -k6
student  pts/2        192.168.15.104   Tue Oct 21 09:40 - 09:40  (00:00)
student  pts/2        192.168.15.104   Tue Oct 21 14:32 - 14:34  (00:02)
root     pts/0        192.168.15.104   Tue Oct 21 14:42 - 17:13  (02:31)
student  pts/2        192.168.15.104   Tue Oct 21 16:34 - 16:48  (00:13)
root     pts/0        192.168.15.104   Wed Oct 22 09:16 - 17:16  (07:59)
student  pts/2        192.168.15.104   Wed Oct 22 15:16 - 15:27  (00:10)
student  pts/2        192.168.15.104   Wed Oct 22 15:42 - 17:16  (01:33)
root     pts/0        192.168.15.104   Thu Oct 23 09:35 - 09:55  (00:20)
root     pts/0        192.168.15.104   Thu Oct 23 09:56   still logged in
student  pts/2        192.168.15.104   Thu Oct 23 10:05   still logged in
09:28:22
#last
student  pts/2        192.168.15.104   Thu Oct 23 10:05   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:56   still logged in
root     pts/0        192.168.15.104   Thu Oct 23 09:35 - 09:55  (00:20)
student  pts/2        192.168.15.104   Wed Oct 22 15:42 - 17:16  (01:33)
student  pts/2        192.168.15.104   Wed Oct 22 15:16 - 15:27  (00:10)
root     pts/0        192.168.15.104   Wed Oct 22 09:16 - 17:16  (07:59)
student  pts/2        192.168.15.104   Tue Oct 21 16:34 - 16:48  (00:13)
root     pts/0        192.168.15.104   Tue Oct 21 14:42 - 17:13  (02:31)
student  pts/2        192.168.15.104   Tue Oct 21 14:32 - 14:34  (00:02)
student  pts/2        192.168.15.104   Tue Oct 21 09:40 - 09:40  (00:00)
student  pts/2        192.168.15.104   Mon Oct 20 13:29 - 16:33  (03:04)
root     pts/0        192.168.15.104   Mon Oct 20 09:46 - 14:42 (1+04:55)
root     pts/0        192.168.15.104   Mon Oct 20 09:00 - 09:45  (00:45)
reboot   system boot  3.2.0-4-amd64    Fri Oct 17 18:42 - 10:28 (5+15:45)
root     pts/0        192.168.13.253   Wed Oct 15 16:25 - down   (00:00)
root     pts/0        192.168.13.253   Wed Oct 15 16:21 - 16:25  (00:03)
reboot   system boot  3.2.0-4-amd64    Wed Oct 15 16:20 - 16:25  (00:04)
wtmp begins Wed Oct 15 16:20:54 2014
09:28:47
#ls /var/log//wtmp
/var/log//wtmp
09:29:01
#ls /var/log/wtmp
/var/log/wtmp
09:29:04
#cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# packages drop log rotation information into this directory
...
    create 0664 root utmp
    rotate 1
}
/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}
# system-specific logs may be configured here
09:29:22
#lastb
btmp begins Tue Oct 14 06:25:15 2014
09:31:04
#lastb
btmp begins Tue Oct 14 06:25:15 2014
09:31:55
#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
student:x:1001:1001::/home/student:/bin/bash
messagebus:x:103:105::/var/run/dbus:/bin/false
09:33:01
#id student
uid=1001(student) gid=1001(student) группы=1001(student)
09:39:49
#id root
uid=0(root) gid=0(root) группы=0(root)
09:39:55
#chfn student
Изменение информации о пользователе student
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
        Полное имя []: Petr Petrov
        Номер комнаты []: 9C
        Рабочий телефон []: 646
        Домашний телефон []: 111
        Другое []: test
09:42:24
#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
student:x:1001:1001:Petr Petrov,9C,646,111,test:/home/student:/bin/bash
messagebus:x:103:105::/var/run/dbus:/bin/false
09:42:34
#finger student
Login: student                          Name: Petr Petrov
Directory: /home/student                Shell: /bin/bash
Office: 9C, 646                         Home Phone: 111
On since Thu Oct 23 10:32 (EEST) on pts/2 from 192.168.15.104
   3 minutes 25 seconds idle
Mail last read Wed Oct 22 15:52 2014 (EEST)
No Plan.
09:43:25
#less /etc/login.defs
09:49:48
#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:::
student:$6$bfHBuvSV$3Sj/roAk/2x08w5zLFfgYrBTKi4oiZjt9dg8e9tY0bRAEQX821yG/gBKMzuCCV27jG/RgaKE0PjZylMBNaCMy1:16364:0:99999:7:::
messagebus:*:16365:0:99999:7:::
09:54:05
#chage -l student
Последний раз пароль был изменён                                    : Окт 21, 2014
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
10:03:58
#chage -l student | unexpand
Последний раз пароль был изменён                                    : Окт 21, 2014
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
10:04:27
#chage -l student | tr -s " "
Последний раз пароль был изменён                                    : Окт 21, 2014
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
10:05:03
#chage -l student | od -c
0000000 320 237 320 276 321 201 320 273 320 265 320 264 320 275 320 270
0000020 320 271     321 200 320 260 320 267     320 277 320 260 321 200
0000040 320 276 320 273 321 214     320 261 321 213 320 273     320 270
0000060 320 267 320 274 320 265 320 275 321 221 320 275  \t  \t  \t  \t
0000100  \t   :     320 236 320 272 321 202       2   1   ,       2   0
0000120   1   4  \n 320 241 321 200 320 276 320 272     320 264 320 265
0000140 320 271 321 201 321 202 320 262 320 270 321 217     320 277 320
0000160 260 321 200 320 276 320 273 321 217     320 270 321 201 321 202
0000200 320 265 320 272 320 260 320 265 321 202  \t  \t  \t  \t  \t   :
0000220     320 275 320 270 320 272 320 276 320 263 320 264 320 260  \n
...
0001000 320 260 321 200 320 276 320 273 321 217  \t  \t   :       9   9
0001020   9   9   9  \n 320 232 320 276 320 273 320 270 321 207 320 265
0001040 321 201 321 202 320 262 320 276     320 264 320 275 320 265 320
0001060 271     321 201     320 277 321 200 320 265 320 264 321 203 320
0001100 277 321 200 320 265 320 266 320 264 320 265 320 275 320 270 320
0001120 265 320 274     320 277 320 265 321 200 320 265 320 264     320
0001140 264 320 265 320 260 320 272 321 202 320 270 320 262 320 260 321
0001160 206 320 270 320 265 320 271     320 277 320 260 321 200 320 276
0001200 320 273 321 217  \t   :       7  \n
0001211

Файлы

  • /etc/logrotate.conf
  • /etc/passwd
  • /etc/shadow
  • hello.sh
  • /etc/logrotate.conf
    >
    # see "man logrotate" for details
    # rotate log files weekly
    weekly
    # keep 4 weeks worth of backlogs
    rotate 4
    # create new (empty) log files after rotating old ones
    create
    # uncomment this if you want your log files compressed
    #compress
    # packages drop log rotation information into this directory
    include /etc/logrotate.d
    # no packages own wtmp, or btmp -- we'll rotate them here
    /var/log/wtmp {
        missingok
        monthly
        create 0664 root utmp
        rotate 1
    }
    /var/log/btmp {
        missingok
        monthly
        create 0660 root utmp
        rotate 1
    }
    # system-specific logs may be configured here
    
    /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
    student:x:1001:1001:Petr Petrov,9C,646,111,test:/home/student:/bin/bash
    messagebus:x:103:105::/var/run/dbus:/bin/false
    
    /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:::
    student:$6$bfHBuvSV$3Sj/roAk/2x08w5zLFfgYrBTKi4oiZjt9dg8e9tY0bRAEQX821yG/gBKMzuCCV27jG/RgaKE0PjZylMBNaCMy1:16364:0:99999:7:::
    messagebus:*:16365:0:99999:7:::
    
    hello.sh
    >
    #!/bin/bash
    for c_user in $*
       do
            echo privet | mail -s "Privet $c_user" $c_user
       done
    

    Статистика

    Время первой команды журнала14:53:21 2014-10-22
    Время последней команды журнала10:05:03 2014-10-23
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %14.85
    Процент синтаксически неверно набранных команд, % 3.96
    Суммарное время работы с терминалом *, час 2.16
    Количество командных строк в единицу времени, команда/мин 0.78
    Частота использования команд
    echo21|=================| 17.95%
    test19|================| 16.24%
    ls8|======| 6.84%
    cat5|====| 4.27%
    last4|===| 3.42%
    chage4|===| 3.42%
    who4|===| 3.42%
    cp3|==| 2.56%
    set3|==| 2.56%
    while2|=| 1.71%
    [2|=| 1.71%
    help2|=| 1.71%
    netstat2|=| 1.71%
    do2|=| 1.71%
    lastb2|=| 1.71%
    unset2|=| 1.71%
    for2|=| 1.71%
    id2|=| 1.71%
    read2|=| 1.71%
    grep2|=| 1.71%
    done2|=| 1.71%
    od1|| 0.85%
    x=51|| 0.85%
    awk1|| 0.85%
    sort1|| 0.85%
    chfn1|| 0.85%
    cd1|| 0.85%
    hwo1|| 0.85%
    whoami1|| 0.85%
    echo$?1|| 0.85%
    x1|| 0.85%
    20'1|| 0.85%
    \1|| 0.85%
    touch1|| 0.85%
    unexpand1|| 0.85%
    y=101|| 0.85%
    finger1|| 0.85%
    a=01|| 0.85%
    tail1|| 0.85%
    less1|| 0.85%
    which1|| 0.85%
    tr1|| 0.85%
    su1|| 0.85%
    ____
    *) Интервалы неактивности длительностью 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$