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

Содержание

Журнал

Среда (10/17/18)

/dev/pts/0
09:30:24
#ls +([0-9])
ls: cannot access +([0-9]): No such file or directory
09:30:27
#echo $[9+1]
10
09:32:25
#сÑcat install | grep ^step
step()
step "Installing dependencies" apt_get_install_deps
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; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
прошло >2 часов
11:35:35
#cat install | grep step$

11:35:51
#cat install | grep 'step$'

11:36:23
#шcat > ip.txt
192.168.1.1
8.5.5.1
172.13.18.3
a.b.17.17
87.19.15.16
97.b.4.5
5.7.9.4
8.8.8.8
78.14.16.104
192.14.13.1
182.17.19.5
6.6.6.6
^Z
[1]+  Stopped                 cat > ip.txt
прошло 83 минуты
12:59:34
#сÑcat passwd
cat: passwd: No such file or directory
прошла 31 минута
13:30:34
#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:31:05
#cat /etc/passwd | sed '/bash$/p'
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:32:29
#cat /etc/passwd | sed -n '/bash$/p'
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:32:49
#cat /etc/passwd | sed 's/bash$/zsh/'
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:34:57
#cd /etc/cron.d
cron.d/     cron.daily/
13:34:57
#cd /etc/cron.daily/

прошло 85 минут
15:00:03
#vi locate
15:01:11
# 18
 30 # (this is relative to the default which cron sets, which is usually +5)
  2
 31 NICE=10ystems which are pruned from updatedb database
  3
 32 PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifss
  4
 33 # I/O priority
  5
 34 # 1 for real time, 2 for best-effort, 3 for idle ("3" only allowed for root)
  6
...
 51         case "$KVER" in
 52                 2.[012345]*) ;;
 53                 2.6.[0-9]) ;;
 54                 2.6.[0-9].*) ;;
 55                 2.6.1[012]*) ;;
 56                 *)
 57                 # Avoid providing "-n" when IONICE_CLASS isn't 1 or 2
 58                 case "$IONICE_CLASS" in
 59                         1|2) priority="-n ${IONICE_PRIORITY:-7}" ;;
 60                         *) priority="" ;;
15:01:40
# 11
  2
 31 NICE=10ystems which are pruned from updatedb database
  3
 32 PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifss
  4
 33 # I/O priority
  5
 34 # 1 for real time, 2 for best-effort, 3 for idle ("3" only allowed for root)
  6
 35 [ NICE_CLASS=3                   ]
...
 51         case "$KVER" in
 52                 2.[012345]*) ;;
 53                 2.6.[0-9]) ;;
 54                 2.6.[0-9].*) ;;
 55                 2.6.1[012]*) ;;
 56                 *)
 57                 # Avoid providing "-n" when IONICE_CLASS isn't 1 or 2
 58                 case "$IONICE_CLASS" in
 59                         1|2) priority="-n ${IONICE_PRIORITY:-7}" ;;
"locate" 72L, 2209C written
15:01:58
#./locate

15:02:22
#./locate

15:02:43
#./locate

15:02:51
#./locate

15:02:56
#./locate

15:03:03
#locate vimrc
/etc/vim/vimrc
/etc/vim/vimrc.tiny
/root/.lilalo/2642726151522022131-1539672965_1539694231_root_.vimrc.diff
/root/.vimrc
/usr/share/vim/vim73/gvimrc_example.vim
/usr/share/vim/vim73/vimrc_example.vim
/usr/share/vim/vimrc
/usr/share/vim/vimrc.tiny
15:03:22
#find / -mmin -5 -type f 2> /dev/null
/home/user/.lilalo/.report.dat
/root/.lilalo/.report.dat
/root/.lilalo/758327440820527401-1539759888.script
/proc/asound/pcm
/proc/asound/timers
/proc/asound/modules
/proc/asound/cards
/proc/asound/devices
/proc/asound/version
/proc/asound/oss/sndstat
...
/proc/8619/stack
/proc/8619/cpuset
/proc/8619/cgroup
/proc/8619/oom_score
/proc/8619/oom_adj
/proc/8619/oom_score_adj
/proc/8619/loginuid
/proc/8619/sessionid
/proc/8619/coredump_filter
/proc/8619/io
15:08:30
#find / -mmin -5 -type f 2> /dev/null | grep -v proc
/home/user/.lilalo/.report.dat
/root/.lilalo/.report.dat
/root/.lilalo/758327440820527401-1539759888.info
/root/.lilalo/758327440820527401-1539759888.script
15:09:06
#find / -mmin -10 -type f 2> /dev/null | grep -v proc
/etc/cron.daily/locate
/var/cache/locate/locatedb
/var/log/auth.log
/home/user/.lilalo/.report.dat
/root/.lilalo/758327440820527401-1539759888_1539781301_etc_cron.daily_locate.diff
/root/.lilalo/.report.dat
/root/.lilalo/758327440820527401-1539759888_1539781210_etc_cron.daily_locate.diff
/root/.lilalo/758327440820527401-1539759888_1539781272_etc_cron.daily_locate.diff
/root/.lilalo/758327440820527401-1539759888.info
/root/.lilalo/758327440820527401-1539759888.script
/root/.viminfo
15:09:33
#find . -name э'[0-9]*' -type f -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
15:17:31
#find . -name '[0-9]*' -type f

15:17:34
#cd

15:18:30
#find . -name '[0-9]*' -type f
./.lilalo/2642726151522022131-1539672965_1539682014_etc_resolv.conf.diff
./.lilalo/2219220881169853814-1539756598.info
./.lilalo/2642726151522022131-1539672965.info
./.lilalo/2642726151522022131-1539672965_1539681762_etc_resolv.conf.diff
./.lilalo/758327440820527401-1539759888_1539781301_etc_cron.daily_locate.diff
./.lilalo/2525264871024819419-1403867138.info
./.lilalo/2657892742946813506-1539758624.info
./.lilalo/143184190977814884-1413212456.info
./.lilalo/2657892742946813506-1539758624_1539759766_etc_.bash.bashrc.diff
./.lilalo/2657892742946813506-1539758624.script
...
./.lilalo/2642726151522022131-1539672965_1539694231_root_.vimrc.diff
./.lilalo/23119324163069212524-1403867377.info
./.lilalo/2219220881169853814-1539756598.script
./.lilalo/1901738991017822016-1413212497.script
./.lilalo/2657892742946813506-1539758624_1539759548_root_.bash__profile.diff
./.lilalo/758327440820527401-1539759888.info
./.lilalo/143184190977814884-1413212456.script
./.lilalo/23119324163069212524-1403867377.script
./.lilalo/2657892742946813506-1539758624_1539759773_etc_bash.bashrc.diff
./.lilalo/758327440820527401-1539759888.script
15:18:38
#touch 12345

15:18:48
#find . -name '[0-9]*' -type f -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
./12345
15:18:50
#find . -name '[0-9]*' -type f -maxdepth 1 -exec mv -v {} /tmp \ ;
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
find: missing argument to `-exec'
15:21:08
#find . -name '[0-9]*' -type f -maxdepth 1 -exec mv -v {} /tmp \;
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
`./12345' -> `/tmp/12345'
15:21:59
#cd /tmp/

15:22:22
#find . -name '[0-9]*' -type f -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
./12345
15:22:37
#find . -name '[0-9]*' -type f -maxdepth 1 | xargs rm
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
15:24:04
#find . -name '[0-9]*' -type f -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
15:24:14
#cd

15:27:23
#awk

прошло 13 минут
15:40:29
#find / -name find*
/lib/udev/findkeyboards
/usr/bin/find2perl
/usr/bin/find
/usr/share/man/man1/find2perl.1.gz
/usr/share/man/man1/find.1.gz
/usr/share/man/man8/findfs.8.gz
/usr/share/man/man8/findmnt.8.gz
/usr/share/info/find.info.gz
/usr/share/bash-completion/completions/find_member
/usr/share/bash-completion/completions/find
...
/usr/share/locale/tr/LC_MESSAGES/findutils.mo
/usr/share/locale/pt_BR/LC_MESSAGES/findutils.mo
/usr/share/locale/sl/LC_MESSAGES/findutils.mo
/usr/share/doc-base/findutils
/bin/findmnt
/var/lib/dpkg/info/findutils.md5sums
/var/lib/dpkg/info/findutils.postinst
/var/lib/dpkg/info/findutils.list
/var/lib/dpkg/info/findutils.preinst
/sbin/findfs
15:40:39
#find / -regex ".*\.jpe?g"
/home/user/matrix.jpg
/home/user/freebsd.jpg
/home/user/press_any_key_to_continue.jpg
/home/user/granata.jpg
/home/user/ogo.jpg
15:42:08
#find / -regex "*\.jpe?g"

Четверг (10/18/18)

08:50:41
#chmod u+x shell.sh

08:53:21
#ls -l
total 24
drwxr-xr-x 2 root root 4096 Oct 16 12:42 d1
drwxr-xr-x 3 root root 4096 Oct 16 12:45 d2
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
-rw-r--r-- 1 root root  124 Oct 17 13:48 ip.txt
-rwxr--r-- 1 root root   88 Oct 18 09:50 shell.sh
08:53:55
#./shell.sh
user ivan petr
08:54:09
#echo $PASH

08:55:10
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
08:55:15
#PATH=$PATH:/root

08:56:31
#мvi shell.sh
  2
  4 for user in $users
  3 do
  5 usermod -s /bin/$1 $user
  6 done
  7
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"shell.sh" 7L, 128C written
09:04:26
#shell.sh sh

09:04:34
#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/sh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/sh
petr:x:1002:1002::/home/petr:/bin/sh
09:04:43
#vi shell.sh
--- /tmp/l3-saved-7246.6942.29854	2018-10-18 10:05:07.749594232 +0300
+++ shell.sh	2018-10-18 10:06:33.025599085 +0300
@@ -3,5 +3,6 @@
 users=$(awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd)
 for user in $users
 do
+echo "Changing shell $1 for user $user..."
 usermod -s /bin/$1 $user
 done
09:06:33
#shell.sh bash
Changing shell bash for user user...
Changing shell bash for user ivan...
Changing shell bash for user petr...
09:06:48
#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
09:07:23
#vi shell.sh
--- /tmp/l3-saved-7246.20149.2963	2018-10-18 10:07:53.489598290 +0300
+++ shell.sh	2018-10-18 10:11:43.649581222 +0300
@@ -1,8 +1,8 @@
 #!/bin/bash
-
+shell=${1:-bash}
 users=$(awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd)
 for user in $users
 do
-echo "Changing shell $1 for user $user..."
+echo "Changing shell $shell for user $user..."
 usermod -s /bin/$1 $user
 done
09:11:43
#shell.sh sh
Changing shell sh for user user...
Changing shell sh for user ivan...
Changing shell sh for user petr...
09:11:56
#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/sh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/sh
petr:x:1002:1002::/home/petr:/bin/sh
09:11:59
#shell.sh
Changing shell bash for user user...
Changing shell bash for user ivan...
Changing shell bash for user petr...
09:12:05
#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/
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/
petr:x:1002:1002::/home/petr:/bin/
09:12:10
#vi shell.sh
--- /tmp/l3-saved-7246.26153.18901	2018-10-18 10:12:27.677607861 +0300
+++ shell.sh	2018-10-18 10:13:36.541596764 +0300
@@ -4,5 +4,5 @@
 for user in $users
 do
 echo "Changing shell $shell for user $user..."
-usermod -s /bin/$1 $user
+usermod -s /bin/$shell $user
 done
09:13:36
#shell.sh
Changing shell bash for user user...
Changing shell bash for user ivan...
Changing shell bash for user petr...
09:13:41
#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
09:13:44
#PS1='{\u@\h -\A-\w]\$ '
Office: 9C, 911                         Home Phone: nah tebe
On since Wed Oct 17 09:56 (EEST) on pts/4 from 192.168.15.216
   1 day 3 hours idle
No mail.
No Plan.
root@debian3 |14:16|~# дфыедщп
l3script: $'\320\264\321\204\321\213\320\265\320\264\321\211\320\277': command not found
root@debian3 |14:18|~# lastlog
Username         Port     From             Latest
root             pts/0    192.168.15.216   Wed Oct 17 10:04:48 +0300 2018
...
root     pts/0        192.168.15.216   Wed Oct 17 09:09 - 09:43  (00:34)
user     pts/4        192.168.15.216   Tue Oct 16 10:49 - 17:02  (06:13)
petr     pts/3        192.168.15.216   Tue Oct 16 10:44 - 17:02  (06:18)
ivan     pts/2        192.168.15.216   Tue Oct 16 10:39 - 17:02  (06:23)
ivan     pts/2        192.168.15.216   Tue Oct 16 10:23 - 10:29  (00:06)
root     pts/0        192.168.15.216   Tue Oct 16 09:49 - 17:02  (07:13)
wtmp begins Tue Oct 16 09:49:35 2018
root@debian3 |14:18|~# lastb
btmp begins Mon Oct 15 06:25:11 2018
root@debian3 |14:19|~# дl3script
прошло >4 часов
13:28:08
#/etc/shadow
l3script: /etc/shadow: Permission denied
/dev/pts/1
13:28:08
#/etc/shadow
l3script: /etc/shadow: Permission denied
/dev/pts/0
13:29:19
#nano /etc/shadow
/dev/pts/1
13:29:19
#nano /etc/shadow
прошло 17 минут
/dev/pts/0
13:46:51
#6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:9999$

/dev/pts/1
13:46:51
#6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:9999$

/dev/pts/0
13:49:14
#UMASKGID_MAX 022 999

/dev/pts/1
13:49:14
#UMASKGID_MAX 022 999

/dev/pts/0
13:51:10
#Default values for useradd(8)

/dev/pts/1
13:51:10
#Default values for useradd(8)

прошло 28 минут
/dev/pts/0
14:19:31
#gpasswd -M ivan,petr devel

/dev/pts/1
14:19:31
#gpasswd -M ivan,petr devel

/dev/pts/0
14:22:26
#cat /etc/gshadow
root:*::
daemon:*::
bin:*::
sys:*::
adm:*::
tty:*::
disk:*::
lp:*::
mail:*::
news:*::
...
users:*::
nogroup:*::
libuuid:!::
crontab:!::
Debian-exim:!::
ssh:!::
user:!::
ivan:!::
petr:!::
devel:!::ivan,petr
/dev/pts/1
14:22:26
#cat /etc/gshadow
root:*::
daemon:*::
bin:*::
sys:*::
adm:*::
tty:*::
disk:*::
lp:*::
mail:*::
news:*::
...
users:*::
nogroup:*::
libuuid:!::
crontab:!::
Debian-exim:!::
ssh:!::
user:!::
ivan:!::
petr:!::
devel:!::ivan,petr
прошло 37 минут
/dev/pts/0
14:59:42
#mkdir /opt/project

/dev/pts/1
14:59:42
#mkdir /opt/project

/dev/pts/0
15:00:14
#cd /opt/

/dev/pts/1
15:00:14
#cd /opt/

/dev/pts/0
15:00:20
#ls
project
/dev/pts/1
15:00:20
#ls
project
/dev/pts/0
15:00:22
#ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 18 16:00 project
/dev/pts/1
15:00:22
#ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 18 16:00 project
/dev/pts/0
15:00:26
#chgrp devel project

/dev/pts/1
15:00:26
#chgrp devel project

/dev/pts/0
15:01:39
#ls -l
total 4
drwxr-xr-x 2 root devel 4096 Oct 18 16:00 project
/dev/pts/1
15:01:39
#ls -l
total 4
drwxr-xr-x 2 root devel 4096 Oct 18 16:00 project
/dev/pts/0
15:01:44
#chmod 770 project/

/dev/pts/1
15:01:44
#chmod 770 project/

/dev/pts/0
15:03:36
#apt-get install acl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  acl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 70.8 kB of archives.
After this operation, 264 kB of additional disk space will be used.
Get:1 http://ftp.ua.debian.org/debian/ wheezy/main acl amd64 2.2.51-8 [70.8 kB]
Fetched 70.8 kB in 0s (839 kB/s)
Selecting previously unselected package acl.
(Reading database ... 28850 files and directories currently installed.)
Unpacking acl (from .../acl_2.2.51-8_amd64.deb) ...
Processing triggers for man-db ...
Setting up acl (2.2.51-8) ...
/dev/pts/1
15:03:36
#apt-get install acl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  acl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 70.8 kB of archives.
After this operation, 264 kB of additional disk space will be used.
Get:1 http://ftp.ua.debian.org/debian/ wheezy/main acl amd64 2.2.51-8 [70.8 kB]
Fetched 70.8 kB in 0s (839 kB/s)
Selecting previously unselected package acl.
(Reading database ... 28850 files and directories currently installed.)
Unpacking acl (from .../acl_2.2.51-8_amd64.deb) ...
Processing triggers for man-db ...
Setting up acl (2.2.51-8) ...
/dev/pts/0
15:04:31
#setfacl -m user:user:r project/

/dev/pts/1
15:04:31
#setfacl -m user:user:r project/

/dev/pts/0
15:05:10
#ls -l
total 4
drwxrwx---+ 2 root devel 4096 Oct 18 16:00 project
/dev/pts/1
15:05:10
#ls -l
total 4
drwxrwx---+ 2 root devel 4096 Oct 18 16:00 project
/dev/pts/0
15:05:14
#getfacl
Usage: getfacl [-aceEsRLPtpndvh] file ...
Try `getfacl --help' for more information.
/dev/pts/1
15:05:14
#getfacl
Usage: getfacl [-aceEsRLPtpndvh] file ...
Try `getfacl --help' for more information.
/dev/pts/0
15:06:27
#getfacl project/
# file: project/
# owner: root
# group: devel
user::rwx
user:user:r--
group::rwx
mask::rwx
other::---
/dev/pts/1
15:06:27
#getfacl project/
# file: project/
# owner: root
# group: devel
user::rwx
user:user:r--
group::rwx
mask::rwx
other::---

Файлы

  • /etc/gshadow
  • /etc/passwd
  • /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:!::
    devel:!::ivan,petr
    
    /etc/passwd
    >
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    Debian-exim:x:101:103::/var/spool/exim4:/bin/false
    user:x:1000:1000:user,,,:/home/user:/bin/bash
    sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
    ivan:x:1001:1001::/home/ivan:/bin/bash
    petr:x:1002:1002::/home/petr:/bin/bash
    

    Статистика

    Время первой команды журнала09:30:24 2018-10-17
    Время последней команды журнала15:06:27 2018-10-18
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %10.89
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 2.22
    Количество командных строк в единицу времени, команда/мин 0.76
    Частота использования команд
    find15|=============| 13.16%
    cat13|===========| 11.40%
    ls10|========| 8.77%
    cd7|======| 6.14%
    shell.sh6|=====| 5.26%
    locate6|=====| 5.26%
    grep5|====| 4.39%
    vi4|===| 3.51%
    getfacl4|===| 3.51%
    chmod3|==| 2.63%
    echo3|==| 2.63%
    sed3|==| 2.63%
    null3|==| 2.63%
    mkdir2|=| 1.75%
    Default2|=| 1.75%
    UMASKGID_MAX2|=| 1.75%
    nano2|=| 1.75%
    setfacl2|=| 1.75%
    apt-get2|=| 1.75%
    gpasswd2|=| 1.75%
    /etc/shadow2|=| 1.75%
    сÑcat2|=| 1.75%
    d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:9999$2|=| 1.75%
    chgrp2|=| 1.75%
    awk1|| 0.88%
    мvi1|| 0.88%
    root1|| 0.88%
    111|| 0.88%
    touch1|| 0.88%
    xargs1|| 0.88%
    шcat1|| 0.88%
    PS1='{\u@\h1|| 0.88%
    181|| 0.88%
    ip.txt1|| 0.88%
    ____
    *) Интервалы неактивности длительностью 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$