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

Содержание

Журнал

Вторник (07/17/18)

/dev/pts/0
12:53:55
#cat install | grep '^rm'
rm -rf ${temp_dir}
12:56:35
#cat install | grep 'rm'
perl_modules="Term-VT102 Text-Iconv"
normC='\033[0;39m'
    printf "${whiteC}""$msg""...${normC}\n"
          printf "${greenC}""Ok\n""${normC}"
        printf "${redC}""Failed\n""${normC}"
For further information see http://xgu.ru/lilalo/ (in Russian).
rm -rf ${temp_dir}
12:58:52
#cat install | grep \<rm\>

13:00:33
#cat install | grep '\<rm\>'
rm -rf ${temp_dir}
13:00:40
#cat install | grep '\${(wget|url_l3bashrc)}'

13:05:10
#cat install | egrep '\${(wget|url_l3bashrc)}'
step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
13:05:14
#vi ip.txt
--- /dev/null	2018-07-16 08:39:18.496000004 +0300
+++ ip.txt	2018-07-17 14:08:13.131919173 +0300
@@ -0,0 +1,7 @@
+10.100.32.12
+192.168.45.2
+255.255.255.255
+0.0.0.0
+123.123.321.321
+e23.23c.s.25
+43.43.43.43/32
13:08:13
#cat
.aptitude/     .bash_history  .bash_profile  .bashrc        install        install2       ip.txt         .l3rc          .lesshst       .lilalo/       .profile       test           .vim/          .viminfo       .vimrc
13:08:13
#cat ip.txt
10.100.32.12
192.168.45.2
255.255.255.255
0.0.0.0
123.123.321.321
e23.23c.s.25
43.43.43.43/32
13:08:21
#cat ip.txt | egrep '^([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.'
10.100.32.12
192.168.45.2
255.255.255.255
0.0.0.0
123.123.321.321
43.43.43.43/32
прошло 14 минут
13:23:18
#tree
.
├── install
├── install2
├── ip.txt
└── test
0 directories, 4 files
13:25:12
#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
...
  321  cat install | grep '\<rm\>'
  322  cat install | grep '\${(wget|url_l3bashrc)}'
  323  cat install | egrep '\${(wget|url_l3bashrc)}'
  324  vi ip.txt
  325  cat ip.txt
  326*
  327  cat ip.txt | egrep '^(([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}'
  328  cat ip.txt | egrep '^(([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
  329  tree
  330  history
13:25:47
#history | egrep '\['
  280  ls g[uz]*
  286  ls +([[:digit:]])
  289  ls +([[:digit:]])
  290  rm +([[:digit:]])
  300  echo $[2+4]
  301  echo $[2+4*(3)]
  302  echo $[2+4*(3+2)]
  305  echo $[` ps ax | wc -l`-4]
  327  cat ip.txt | egrep '^(([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}'
  328  cat ip.txt | egrep '^(([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
  331  history | egrep '\['
13:26:08
#tail -f hitory
tail: невозможно открыть «hitory» для чтения: Нет такого файла или каталога
13:26:39
#ls -la
итого 84
drwx------  5 root root 4096 Июл 17 14:08 .
drwxr-xr-x 24 root root 4096 Окт 15  2014 ..
drwx------  2 root root 4096 Июн 27  2014 .aptitude
-rw-------  1 root root 3527 Июл 17 09:51 .bash_history
-rw-r--r--  1 root root   10 Июн 27  2014 .bash_profile
-rw-r--r--  1 root root  653 Июл 17 09:33 .bashrc
-rw-r--r--  2 root root 5268 Окт 13  2014 install
-rw-r--r--  2 root root 5268 Окт 13  2014 install2
-rw-r--r--  1 root root   94 Июл 17 14:08 ip.txt
-rw-r--r--  1 root root   51 Июл 13 14:52 .l3rc
-rw-------  1 root root   41 Июл 16 13:45 .lesshst
drwxr-xr-x  2 root root 4096 Июл 17 14:08 .lilalo
-rw-r--r--  1 root root  140 Ноя 19  2007 .profile
-rw-r--r--  1 root root 5268 Июл 16 15:20 test
drwxr-xr-x  2 root root 4096 Июн 27  2014 .vim
-rw-------  1 root root 5920 Июл 17 14:08 .viminfo
-rw-r--r--  1 root root   64 Июл 16 16:18 .vimrc
13:26:53
#vi words.txt
--- /dev/null	2018-07-16 08:39:18.496000004 +0300
+++ words.txt	2018-07-17 14:30:08.575911280 +0300
@@ -0,0 +1,9 @@
+test
+home
+dog
+cat
+rotor
+sun
+prot
+tort
+solos
13:30:08
#cat words.txt
test
home
dog
cat
rotor
sun
prot
tort
solos
13:30:17
#cat words.txt | egrep '(.)(.).\2\1'
rotor
solos
13:30: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
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:40:10
#cat /etc/passwd | awk -F: '$3~/^100[1-9]/'
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:41:17
#cat /etc/passwd | awk -F: '$3~/^100[1-9]+/'
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:41:32
#cat /etc/passwd | awk -F: '$3~/^100[1-9]+/{print $1}'
ivan
petr
13:45:26
#cat /etc/passwd | awk -F: '$3~/^100[0-9]+/{print $1}'
user
ivan
petr
13:45:42
#sed /etc/pa
pam.conf  pam.d/    passwd    passwd-
13:45:42
#sed -n '/bash$/p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
user:x:1000:1000:user,,,:/home/user:/bin/bash
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:51:18
#sed '/bash$/p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
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
...
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
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
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
13:51:52
#sed '/bash$/d' /etc/passwd
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
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
13:52:04
#sed -n 's/bash$/zsh/' /etc/passwd

13:54:01
#sed 's/bash$/zsh/' /etc/passwd
root:x:0:0:root:/root:/bin/zsh
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/zsh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/zsh
petr:x:1002:1002::/home/petr:/bin/zsh
13:54:09
#cat /etc/passwd | tr s z
root:x:0:0:root:/root:/bin/bazh
daemon:x:1:1:daemon:/uzr/zbin:/bin/zh
bin:x:2:2:bin:/bin:/bin/zh
zyz:x:3:3:zyz:/dev:/bin/zh
zync:x:4:65534:zync:/bin:/bin/zync
gamez:x:5:60:gamez:/uzr/gamez:/bin/zh
man:x:6:12:man:/var/cache/man:/bin/zh
lp:x:7:7:lp:/var/zpool/lpd:/bin/zh
mail:x:8:8:mail:/var/mail:/bin/zh
newz:x:9:9:newz:/var/zpool/newz:/bin/zh
...
lizt:x:38:38:Mailing Lizt Manager:/var/lizt:/bin/zh
irc:x:39:39:ircd:/var/run/ircd:/bin/zh
gnatz:x:41:41:Gnatz Bug-Reporting Syztem (admin):/var/lib/gnatz:/bin/zh
nobody:x:65534:65534:nobody:/nonexiztent:/bin/zh
libuuid:x:100:101::/var/lib/libuuid:/bin/zh
Debian-exim:x:101:103::/var/zpool/exim4:/bin/falze
uzer:x:1000:1000:uzer,,,:/home/uzer:/bin/bazh
zzhd:x:102:65534::/var/run/zzhd:/uzr/zbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bazh
petr:x:1002:1002::/home/petr:/bin/bazh
13:57:21
#cat /etc/passwd | tr ':' ' '
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
13:58:11
#cat /etc/passwd | tr -d ':'
rootx00root/root/bin/bash
daemonx11daemon/usr/sbin/bin/sh
binx22bin/bin/bin/sh
sysx33sys/dev/bin/sh
syncx465534sync/bin/bin/sync
gamesx560games/usr/games/bin/sh
manx612man/var/cache/man/bin/sh
lpx77lp/var/spool/lpd/bin/sh
mailx88mail/var/mail/bin/sh
newsx99news/var/spool/news/bin/sh
...
listx3838Mailing List Manager/var/list/bin/sh
ircx3939ircd/var/run/ircd/bin/sh
gnatsx4141Gnats Bug-Reporting System (admin)/var/lib/gnats/bin/sh
nobodyx6553465534nobody/nonexistent/bin/sh
libuuidx100101/var/lib/libuuid/bin/sh
Debian-eximx101103/var/spool/exim4/bin/false
userx10001000user,,,/home/user/bin/bash
sshdx10265534/var/run/sshd/usr/sbin/nologin
ivanx10011001/home/ivan/bin/bash
petrx10021002/home/petr/bin/bash
13:58:55
#cat /etc/passwd | tr -s
tr: пропущен операнд
Попробуйте «tr --help» для получения более подробного описания.
13:59:35
#cat /etc/passwd | tr -s ':'
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
13:59:51
#sed 's/:/ /g' /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
14:04:59
#sed 's/:.*//' /etc/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
...
list
irc
gnats
nobody
libuuid
Debian-exim
user
sshd
ivan
petr
прошло 16 минут
14:21:58
#ls -d /etc/cron
ls: невозможно получить доступ к /etc/cron: Нет такого файла или каталога
прошло 53 минуты
15:15:35
#ls -d /etc/cron*
/etc/cron.d  /etc/cron.daily  /etc/cron.hourly  /etc/cron.monthly  /etc/crontab  /etc/cron.weekly
15:15:45
#cd /etc/cron.d
cron.d/     cron.daily/
15:15:45
#cd /etc/cron.daily/

15:16:14
#ls
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
15:16:16
#./locate

15:17:34
#whereis locate
locate: /usr/bin/locate /usr/bin/locate.findutils /usr/lib/locate /usr/share/man/man1/locate.1.gz
15:18:21
#find locate
locate
15:18:41
#vi locate
--- /tmp/l3-saved-6441.11262.20709	2018-07-17 16:19:16.639902785 +0300
+++ locate	2018-07-17 16:20:01.863903311 +0300
@@ -25,7 +25,7 @@
 # netpaths which are added
 NETPATHS=""
 # run find as this user
-LOCALUSER="nobody"
+LOCALUSER="root"
 # cron.daily/find: run at this priority -- higher number means lower priority
 # (this is relative to the default which cron sets, which is usually +5)
 NICE=10
15:20:01
#./locate

15:20:17
#locate install2
/root/install2
15:20:25
#apt-get install sudo
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  sudo
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 842 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 882 kB.
Ош  http://ftp.ua.debian.org/debian/ wheezy/main sudo amd64 1.8.5p2-1+nmu1
  404  Not Found
Не удалось получить http://ftp.ua.debian.org/debian/pool/main/s/sudo/sudo_1.8.5p2-1+nmu1_amd64.deb  404  Not Found
E: Невозможно получить некоторые архивы, вероятно надо запустить apt-get update или попытаться повторить запуск с ключом --fix-missing
прошло 11 минут
15:31:25
#apt-get update
Получено:1 http://ftp.ua.debian.org wheezy Release.gpg [2 373 B]
Получено:2 http://ftp.ua.debian.org wheezy-updates Release.gpg [1 601 B]
Получено:3 http://ftp.ua.debian.org wheezy Release [191 kB]
Получено:4 http://security.debian.org wheezy/updates Release.gpg [1 601 B]
Получено:5 http://security.debian.org wheezy/updates Release [52,3 kB]
Получено:6 http://ftp.ua.debian.org wheezy-updates Release [155 kB]
Получено:7 http://ftp.ua.debian.org wheezy/main Sources [5 993 kB]
Получено:8 http://security.debian.org wheezy/updates/main Sources [354 kB]
Получено:9 http://security.debian.org wheezy/updates/contrib Sources [14 B]
Получено:10 http://security.debian.org wheezy/updates/non-free Sources [1 372 B]
...
Получено:36 http://ftp.ua.debian.org wheezy-updates/main Translation-en [4 879 B]
Получено:37 http://ftp.ua.debian.org wheezy-updates/non-free Translation-en [496 B]
Получено 17,8 MБ за 22с (805 kБ/c)
Чтение списков пакетов… Готово
W: Недоступен открытый ключ для следующих ID ключей:
7638D0442B90D010
W: Недоступен открытый ключ для следующих ID ключей:
9D6D8F6BC857C906
W: Недоступен открытый ключ для следующих ID ключей:
7638D0442B90D010
15:32:46
#apt-get install sudo
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  sudo
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 100 пакетов не обновлено.
Необходимо скачать 854 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 883 kB.
Получено:1 http://security.debian.org/ wheezy/updates/main sudo amd64 1.8.5p2-1+nmu3+deb7u4 [854 kB]
Получено 854 kБ за 0с (2 649 kБ/c)
Выбор ранее не выбранного пакета sudo.
(Чтение базы данных … на данный момент установлено 30012 файлов и каталогов.)
Распаковывается пакет sudo (из файла …/sudo_1.8.5p2-1+nmu3+deb7u4_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет sudo (1.8.5p2-1+nmu3+deb7u4) …
15:33:04
#cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root    ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d

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

/dev/pts/0
08:14:22
#who
root     pts/0        2018-07-18 09:14 (192.168.15.128)
user     pts/2        2018-07-18 09:14 (192.168.15.128)
ivan     pts/4        2018-07-18 09:15 (192.168.15.128)
08:15:35
#a=1

08:16:50
#$a
l3script: 1: команда не найдена
08:16:54
#echo $a
1
08:17:03
#bash
root@debian2:~# echo $a
root@debian2:~# exit
exit
08:18:41
#export
declare -x HISTFILESIZE="2000"
declare -x HISTSIZE="2000"
declare -x HOME="/root"
declare -x L3_HOME="/root/.lilalo/"
declare -x L3_PARENT_TTY="/dev/pts/0"
declare -x L3_SESSION_ID="31611301132371219346-1531894462"
declare -x L3_TAMPERED_EDITORS=" vi vim pico nano"
declare -x LANG="ru_RU.UTF-8"
declare -x LANGUAGE="ru_UA:ru"
declare -x LOGNAME="root"
declare -x MAIL="/var/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
08:18:53
#export a

08:19:06
#echo $a
1
08:19:13
#bash
root@debian2:~# echo $a
1
root@debian2:~# exit
exit
08:20:41
#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'
...
LOGNAME=root
MACHTYPE=x86_64-pc-linux-gnu
MAIL=/var/mail/root
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=10775
08:21:43
#set | more
08:22:36
#env
SHELL=/bin/bash
TERM=xterm
HISTSIZE=2000
SSH_CLIENT=192.168.15.128 49167 22
L3_PARENT_TTY=/dev/pts/0
L3_TAMPERED_EDITORS= vi vim pico nano
SSH_TTY=/dev/pts/0
USER=root
HISTFILESIZE=2000
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
L3_SESSION_ID=31611301132371219346-1531894462
a=1
PWD=/root
LANG=ru_RU.UTF-8
08:23:23
#b=2

08:23:40
#env
SHELL=/bin/bash
TERM=xterm
HISTSIZE=2000
SSH_CLIENT=192.168.15.128 49167 22
L3_PARENT_TTY=/dev/pts/0
L3_TAMPERED_EDITORS= vi vim pico nano
SSH_TTY=/dev/pts/0
USER=root
HISTFILESIZE=2000
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
L3_SESSION_ID=31611301132371219346-1531894462
a=1
PWD=/root
LANG=ru_RU.UTF-8
08:23:44
#set | grep ^b=
b=2
08:24:23
#set | grep ^a=
a=1
08:24:35
#set | grep ^a
a=1
08:24:38
#set | grep '^b='
b=2
08:25:05
#unset a

08:25:32
#unset b

08:25:34
#false -version

08:29:53
#vi shell.sh
--- /dev/null	2018-07-16 08:39:18.496000004 +0300
+++ shell.sh	2018-07-18 09:44:10.735891023 +0300
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+users=`awk -F: '$3>1000 && $3!=65524{print $1}' /etc/passwd | \
+	tr '\n' ' '`
+echo $users
прошло 14 минут
08:44:31
# 6

08:45:23
#./ shell.sh
l3script: ./: Это каталог
08:46:12
#./shell.sh
nobody ivan petr
08:46:19
#vi shell.sh
--- /tmp/l3-saved-10776.961.1035	2018-07-18 09:46:44.903897286 +0300
+++ shell.sh	2018-07-18 09:47:18.979898292 +0300
@@ -1,5 +1,5 @@
 #!/bin/bash
 
-users=`awk -F: '$3>1000 && $3!=65524{print $1}' /etc/passwd | \
-	tr '\n' ' '`
+users=`awk -F: '$3>=1000 && $3!=65524{print $1}' /etc/passwd | \
+      tr '\n' ' '`
 echo $users
08:47:19
#vi shell.sh
08:47:59
#~
nobody user ivan petr
08:48:01
#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
08:48:15
#vi shell.sh
--- /tmp/l3-saved-10776.3600.23055	2018-07-18 09:48:26.399906118 +0300
+++ shell.sh	2018-07-18 09:48:38.347905312 +0300
@@ -1,5 +1,5 @@
 #!/bin/bash
 
-users=`awk -F: '$3>=1000 && $3!=65524{print $1}' /etc/passwd | \
+users=`awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | \
       tr '\n' ' '`
 echo $users
08:48:38
#vi shell.sh
--- /tmp/l3-saved-10776.14596.14035	2018-07-18 09:48:46.463904408 +0300
+++ shell.sh	2018-07-18 09:52:23.551936710 +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"
+		usermod -s /bin/zsh $user
+	done
08:52:23
#./shell.sh
user ivan petr
Changing shell for user
Changing shell for ivan
Changing shell for petr
08:52:27
#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/zsh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/zsh
petr:x:1002:1002::/home/petr:/bin/zsh
08:52:48
#vi shell.sh
--- /tmp/l3-saved-10776.29743.22142	2018-07-18 09:53:09.067893966 +0300
+++ shell.sh	2018-07-18 09:55:39.107906168 +0300
@@ -2,10 +2,10 @@
 
 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"
-		usermod -s /bin/zsh $user
+		usermod -s /bin/$1 $user
 	done
+
08:55:39
#vi shell.sh
--- /tmp/l3-saved-10776.2910.21036	2018-07-18 09:55:58.647875117 +0300
+++ shell.sh	2018-07-18 09:56:23.019914531 +0300
@@ -5,7 +5,7 @@
 
 for user in $users 
 	do 
-		echo "Changing shell for $user"
+		echo "Changing shell to $1 for $user"
 		usermod -s /bin/$1 $user
 	done
 
08:56:23
#./shell.sh bash
Changing shell to bash for user
Changing shell to bash for ivan
Changing shell to bash for petr
08:56:30
#vi shell.sh
--- /tmp/l3-saved-10776.26653.25706	2018-07-18 09:57:09.423899312 +0300
+++ shell.sh	2018-07-18 09:57:56.615891049 +0300
@@ -1,11 +1,12 @@
 #!/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 to $1 for $user"
-		usermod -s /bin/$1 $user
+		echo "Changing shell $shell for $user"
+		usermod -s /bin/$shell $user
 	done
 
08:57:56
#./shell.sh zsh
Changing shell zsh for user
Changing shell zsh for ivan
Changing shell zsh for petr
08:58:04
#vi shell.sh
--- /tmp/l3-saved-10776.28370.9217	2018-07-18 09:58:20.335897824 +0300
+++ shell.sh	2018-07-18 09:59:05.439881794 +0300
@@ -10,3 +10,4 @@
 		usermod -s /bin/$shell $user
 	done
 
+awk -F: '$3>=1000 && $3!=65534{print $1 $7}' /etc/passwd 
08:59:05
#./shell.sh bash
Changing shell bash for user
Changing shell bash for ivan
Changing shell bash for petr
user/bin/bash
ivan/bin/bash
petr/bin/bash
08:59:08
#vi shell.sh
--- /tmp/l3-saved-10776.18251.6501	2018-07-18 10:00:33.075948830 +0300
+++ shell.sh	2018-07-18 10:04:34.091849466 +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
Changing shell zsh for ivan
Changing shell zsh for petr
user/bin/zsh
ivan/bin/zsh
petr/bin/zsh
09:04:40
#./shell.sh
Changing shell bash for user
Changing shell bash for ivan
Changing shell bash for petr
user/bin/bash
ivan/bin/bash
petr/bin/bash
09:04:56
#test 5 -eq 5

прошло 12 минут
09:17:40
#echo &?
[1] 11629
l3script: ?: команда не найдена
[1]+  Done                    echo
09:17:54
#test 5 -eq 5

09:18:01
#echo $?
0
09:18:04
#[ 5 -eq 5 ]

09:22:50
#sleep 36

09:26:45
#sleep 3600
^Z
[1]+  Stopped                 sleep 3600

Файлы

  • /etc/passwd
  • /etc/sudoers
  • ip.txt
  • words.txt
  • /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/zsh
    sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
    ivan:x:1001:1001::/home/ivan:/bin/zsh
    petr:x:1002:1002::/home/petr:/bin/zsh
    
    /etc/sudoers
    >
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # Please consider adding local content in /etc/sudoers.d/ instead of
    # directly modifying this file.
    #
    # See the man page for details on how to write a sudoers file.
    #
    Defaults        env_reset
    Defaults        mail_badpass
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    # Host alias specification
    # User alias specification
    # Cmnd alias specification
    # User privilege specification
    root    ALL=(ALL:ALL) ALL
    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    # See sudoers(5) for more information on "#include" directives:
    #includedir /etc/sudoers.d
    
    ip.txt
    >
    10.100.32.12
    192.168.45.2
    255.255.255.255
    0.0.0.0
    123.123.321.321
    e23.23c.s.25
    43.43.43.43/32
    
    words.txt
    >
    test
    home
    dog
    cat
    rotor
    sun
    prot
    tort
    solos
    

    Статистика

    Время первой команды журнала12:53:55 2018- 7-17
    Время последней команды журнала09:26:45 2018- 7-18
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %12.87
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 2.97
    Количество командных строк в единицу времени, команда/мин 0.57
    Частота использования команд
    cat24|==================| 18.05%
    vi13|=========| 9.77%
    grep9|======| 6.77%
    sed8|======| 6.02%
    shell.sh8|======| 6.02%
    set6|====| 4.51%
    tr5|===| 3.76%
    egrep4|===| 3.01%
    awk4|===| 3.01%
    echo4|===| 3.01%
    ls4|===| 3.01%
    apt-get3|==| 2.26%
    locate3|==| 2.26%
    sleep2|=| 1.50%
    env2|=| 1.50%
    cd2|=| 1.50%
    url_l3bashrc)}'2|=| 1.50%
    unset2|=| 1.50%
    history2|=| 1.50%
    export2|=| 1.50%
    bash2|=| 1.50%
    rm\>2|=| 1.50%
    test2|=| 1.50%
    more1|| 0.75%
    '1|| 0.75%
    whereis1|| 0.75%
    61|| 0.75%
    1[0-9]{2}1|| 0.75%
    [1|| 0.75%
    ~1|| 0.75%
    find1|| 0.75%
    a=11|| 0.75%
    b=21|| 0.75%
    ?1|| 0.75%
    $a1|| 0.75%
    tail1|| 0.75%
    2[0-4][0-9]1|| 0.75%
    who1|| 0.75%
    25[0-5])\.'1|| 0.75%
    false1|| 0.75%
    tree1|| 0.75%
    ____
    *) Интервалы неактивности длительностью 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$