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

Содержание

Журнал

Среда (02/24/21)

/dev/pts/0
07:54:51
#locate
Usage: locate [-d path | --database=path] [-e | -E | --[non-]existing]
      [-i | --ignore-case] [-w | --wholename] [-b | --basename]
      [--limit=N | -l N] [-S | --statistics] [-0 | --null] [-c | --count]
      [-P | -H | --nofollow] [-L | --follow] [-m | --mmap ] [ -s | --stdio ]
      [-A | --all] [-p | --print] [-r | --regex ] [--regextype=TYPE]
      [--max-database-age D] [--version] [--help]
      pattern...
Report bugs to <bug-findutils@gnu.org>.
07:54:57
#locate lpi
/home/user/lpi 1
/home/user/lpi 1/core
/home/user/lpi 1/LPI_101-101.pdf
/home/user/lpi 1/LPI_101-102.pdf
/home/user/lpi 1/LPI_101-103.pdf
/home/user/lpi 1/LPI_101-104.pdf
/home/user/lpi 1/LPI_101-110.pdf
/home/user/lpi 1/LPI_102-105.pdf
/home/user/lpi 1/LPI_102-106.pdf
/home/user/lpi 1/LPI_102-108.pdf
...
/home/user/lpi 2/LPI_202-205.pdf
/home/user/lpi 2/LPI_202-206.pdf
/home/user/lpi 2/LPI_202-207.pdf
/home/user/lpi 2/LPI_202-208.pdf
/home/user/lpi 2/LPI_202-210.pdf
/home/user/lpi 2/LPI_202-212.pdf
/home/user/lpi 2/LPI_202-214_inet.pdf
/usr/share/bash-completion/completions/alpine
/usr/share/terminfo/c/citoh-6lpi
/usr/share/terminfo/c/citoh-8lpi
07:55:26
#ls -d /etc/cron *
ls: невозможно получить доступ к /etc/cron: Нет такого файла или каталога
d2  error.txt  f1  f2  install  ip.txt  who.txt
08:00:12
#ls -d /etc/cron*
/etc/cron.d  /etc/cron.daily  /etc/cron.hourly  /etc/cron.monthly  /etc/crontab  /etc/cron.weekly
08:02:38
#ls /etc/cron.d
cron.d/     cron.daily/
08:02:38
#ls /etc/cron.daily/
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
08:03:17
#find /home -user user -mtime -1
/home/user
/home/user/.lilalo
/home/user/.lilalo/2500187841881716445-1613979975_1614064554_home_user_text_.vimrc.diff
/home/user/.lilalo/10041114671899724459-1614077852.info
/home/user/.lilalo/.report.dat
/home/user/.lilalo/10041114671899724459-1614077852.script
/home/user/.lilalo/2500187841881716445-1613979975.script
/home/user/.lilalo/2500187841881716445-1613979975_1614064462_home_user_text_.vimrc.diff
/home/user/.lilalo/2500187841881716445-1613979975_1614065025_home_user_text_comment-me.txt.diff
/home/user/.lilalo/2500187841881716445-1613979975_1614067841_home_user_text_.vimrc.diff
...
/home/user/NAMES/newfile
/home/user/NAMES/aba
/home/user/NAMES/file3
/home/user/NAMES/-bad-name-
/home/user/NAMES/errlog
/home/user/NAMES/abc
/home/user/NAMES/abd
/home/user/NAMES/abb
/home/user/NAMES/file2
/home/user/.viminfo
прошло 10 минут
08:14:07
#find . -empty -type f
./.aptitude/config
./.lilalo/2389212268795446-1613978395_1614064938_root_.vimrc.diff
./.lilalo/23119324163069212524-1403867377_1403867394_root_.lilalo_l3bashrc.diff
./.lilalo/2389212268795446-1613978395_1614001314_bin_.vimrc.diff
./.lilalo/2389212268795446-1613978395_1614066065_root_.bashrc.diff
./.lilalo/23119324163069212524-1403867377_1403867447_root_.l3rc.diff
./.lilalo/39943173174075753-1614067430_1614149366_etc_resolv.conf.diff
./.lilalo/2389212268795446-1613978395_1614001108_bin_sh.diff
./f1
./f2
./d2/scripts/f1
08:19:05
#find . -maxdepth 1 -empty -type f
./f1
./f2
08:19:37
#find . -maxdepth 1 -empty^Ctype f

08:27:56
#^C

08:27:56
#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
08:28:22
#find / -regex ".*\.jpe?g"

08:29:33
#find / -regex ".*\.jpeg"

08:29:55
#find / -regex ".*\.jpg"

08:30:00
#find / -regex ".*\.jpg"

08:30:17
#find / -size +10240 -ls
  4000    0 -rw-------   1 root     root     33554432 Фев 24 09:30 /sys/devices/pci0000:00/0000:00:02.0/resource0
  4001    0 -rw-------   1 root     root     33554432 Фев 24 09:30 /sys/devices/pci0000:00/0000:00:02.0/resource0_wc
  4007    0 -rw-------   1 root     root     16777216 Фев 24 09:30 /sys/devices/pci0000:00/0000:00:03.0/resource1
  4008    0 -rw-------   1 root     root     16777216 Фев 24 09:30 /sys/devices/pci0000:00/0000:00:03.0/resource1_wc
136920 11524 -rwxr-xr-x   1 root     root     11800376 Янв  6  2013 /usr/lib/gcc/x86_64-linux-gnu/4.7/lto1
136887 12152 -rwxr-xr-x   1 root     root     12440264 Янв  6  2013 /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1
783412 18048 -rw-r--r--   1 root     root     18478594 Июл 12  2014 /var/lib/apt/lists/ftp.ua.debian.org_debian_dists_wheezy_main_i18n_Translation-en
783497 27808 -rw-r--r--   1 root     root     28474810 Июл 12  2014 /var/lib/apt/lists/ftp.ua.debian.org_debian_dists_wheezy_main_binary-amd64_Packages
783491 24644 -rw-r--r--   1 root     root     25233027 Июл 12  2014 /var/lib/apt/lists/ftp.ua.debian.org_debian_dists_wheezy_main_source_Sources
783424 21480 -rw-r--r--   1 root     root     21994354 Окт 13  2014 /var/cache/apt/srcpkgcache.bin
...
784579 22900 -rw-r--r--   1 root     root     23446392 Июн  5  2014 /var/cache/apt/archives/linux-image-3.2.0-4-amd64_3.2.57-3+deb7u2_amd64.deb
785048 5292 -rw-r--r--   1 root     root      5416124 Янв  7  2013 /var/cache/apt/archives/cpp-4.7_4.7.2-5_amd64.deb
785054 8104 -rw-r--r--   1 root     root      8295686 Янв  7  2013 /var/cache/apt/archives/gcc-4.7_4.7.2-5_amd64.deb
783382 13176 -rw-------   1 root     root     13488315 Июн 27  2014 /var/log/installer/cdebconf/templates.dat
262072 9992 -rw-r--r--   1 root     root     10229417 Окт 13  2014 /boot/initrd.img-3.2.0-4-amd64
4026532062    0 -r--------   1 root     root     140737486262272 Фев 24 09:30 /proc/kcore
find: `/proc/9869/task/9869/fd/5': Нет такого файла или каталога
find: `/proc/9869/task/9869/fdinfo/5': Нет такого файла или каталога
find: `/proc/9869/fd/5': Нет такого файла или каталога
find: `/proc/9869/fdinfo/5': Нет такого файла или каталога
08:30:46
#find ~ -atime +2
/root/.aptitude/config
/root/.lilalo/2525264871024819419-1403867138.info
/root/.lilalo/143184190977814884-1413212456.info
/root/.lilalo/133518653134476610-1413379473.info
/root/.lilalo/1901738991017822016-1413212497.info
/root/.lilalo/133518653134476610-1413379473.script
/root/.lilalo/2525264871024819419-1403867138.script
/root/.lilalo/23119324163069212524-1403867377.info
/root/.lilalo/1901738991017822016-1413212497.script
/root/.lilalo/143184190977814884-1413212456.script
/root/.lilalo/23119324163069212524-1403867377.script
/root/.profile
/root/.vim/.netrwhist
08:31:21
#find ~ -mmin -5
/root/.lilalo
/root/.lilalo/.report.dat
/root/.lilalo/39943173174075753-1614067430.script
/root/.lilalo/39943173174075753-1614067430.info
08:31:53
#find / -type 1
find: Unknown argument to -type: 1
08:32:22
#find / -type l
/sys/devices/system/cpu/cpu0/subsystem
/sys/devices/system/cpu/cpu0/node0
/sys/devices/system/memory/memory0/node0
/sys/devices/system/memory/memory1/node0
/sys/devices/system/memory/memory2/node0
/sys/devices/system/memory/memory3/node0
/sys/devices/system/node/node0/memory0
/sys/devices/system/node/node0/memory1
/sys/devices/system/node/node0/memory2
/sys/devices/system/node/node0/memory3
...
/proc/9908/fd/0
/proc/9908/fd/1
/proc/9908/fd/2
/proc/9908/fd/3
/proc/9908/fd/4
find: `/proc/9908/fd/5': Нет такого файла или каталога
find: `/proc/9908/fdinfo/5': Нет такого файла или каталога
/proc/9908/cwd
/proc/9908/root
/proc/9908/exe
08:32:27
#find ~ -regex '.*(\.tar\.gz\.tgz|\.rpm)'

прошло 68 минут
09:41:20
#a=100

09:41:59
#$a
l3script: 100: команда не найдена
09:42:04
#echo $a
100
09:42:12
#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=/bin
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=6885
09:43:30
#set |head -60
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=/bin
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=6885
09:44:50
#export a

09:47:57
#bash
root@debian3:~# echo $a
100
root@debian3:~# exit
exit
09:48:23
#env
SHELL=/bin/bash
TERM=xterm
HISTSIZE=2000
SSH_CLIENT=192.168.15.13 51031 22
L3_PARENT_TTY=/dev/pts/0
OLDPWD=/bin
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=39943173174075753-1614067430
a=100
PWD=/root
LANG=ru_RU.UTF-8
09:48:40
#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
petro:x:1002:1002::/home/petro:/bin/bash
09:52:29
#mkdir scripts

09:52:49
#cd scripts/

09:52:56
#vi shell.sh
--- /dev/null	2021-02-19 10:15:30.359999985 +0200
+++ shell.sh	2021-02-24 11:00:00.893006914 +0200
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+users=`awk -F: '$3>=1000&&$3!=65535{print $1}' /etc/passwd`
+echo $users
10:00:00
#cat shell.sh
#!/bin/bash
users=`awk -F: '$3>=1000&&$3!=65535{print $1}' /etc/passwd`
echo $users
10:00:13
#ls -l shell.sh
-rw-r--r-- 1 root root 85 Фев 24 11:00 shell.sh
10:00:46
#chmod u+x shell.sh

10:01:49
#ls -l shell.sh
-rwxr--r-- 1 root root 85 Фев 24 11:00 shell.sh
10:01:52
#./shell.sh
nobody user ivan petro
10:02:29
#vi shell.sh
--- /tmp/l3-saved-6886.17909.5923	2021-02-24 11:02:47.289002287 +0200
+++ shell.sh	2021-02-24 11:03:13.928998937 +0200
@@ -1,4 +1,4 @@
 #!/bin/bash
 
-users=`awk -F: '$3>=1000&&$3!=65535{print $1}' /etc/passwd`
+users=`awk -F: '$3>=1000&&$3!=655344444444444444444444444444444444444444444444{print $1}' /etc/passwd`
 echo $users
10:03:13
#vi shell.sh
--- /tmp/l3-saved-6886.12658.24704	2021-02-24 11:03:16.913003649 +0200
+++ shell.sh	2021-02-24 11:03:35.701024605 +0200
@@ -1,4 +1,4 @@
 #!/bin/bash
 
-users=`awk -F: '$3>=1000&&$3!=655344444444444444444444444444444444444444444444{print $1}' /etc/passwd`
+users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
 echo $users
10:03:35
#./shell.sh
user ivan petro
10:03:39
#vi shell.sh
--- /tmp/l3-saved-6886.7810.3356	2021-02-24 11:08:23.209000470 +0200
+++ shell.sh	2021-02-24 11:14:00.852999001 +0200
@@ -1,4 +1,9 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
-echo $users
+
+for user in $users
+   do
+	echo "changing shell for user $user..."
+	usermod -s /bin/sh $user
+   done
прошло 10 минут
10:14:00
#./shell.sh
changing shell for user user...
changing shell for user ivan...
changing shell for user petro...
10:14:07
#tail /etc/passwd
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
petro:x:1002:1002::/home/petro:/bin/sh
10:14:47
#vi shell.sh
--- /tmp/l3-saved-6886.18697.7731	2021-02-24 11:16:52.448999627 +0200
+++ shell.sh	2021-02-24 11:20:23.464989358 +0200
@@ -1,9 +1,10 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
+shell=$1
 
 for user in $users
    do
-	echo "changing shell for user $user..."
-	usermod -s /bin/sh $user
+	echo "changing $shell for user $user..."
+	usermod -s /bin/$shell $user
    done
10:20:23
#./shell.sh bash
changing bash for user user...
changing bash for user ivan...
changing bash for user petro...
10:20:49
#tail /etc/passwd
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
petro:x:1002:1002::/home/petro:/bin/bash
10:20:55
#vi shell.sh
--- /tmp/l3-saved-6886.23110.17074	2021-02-24 11:23:24.192999039 +0200
+++ shell.sh	2021-02-24 11:24:06.820998841 +0200
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
-shell=$1
+shell=${1:-bash}
 
 for user in $users
    do
10:24:06
#vi shell.sh
10:25:36
#~
changing bash for user user...
usermod: изменения не внесены
changing bash for user ivan...
usermod: изменения не внесены
changing bash for user petro...
usermod: изменения не внесены
10:25:43
#./shell.sh sh
changing sh for user user...
changing sh for user ivan...
changing sh for user petro...
10:25:50
#./shell.sh
changing bash for user user...
changing bash for user ivan...
changing bash for user petro...
10:25:53
#cd

10:27:42
#PS1='[(\h) \A \w]\$ '
[(debian3) 11:29 ~]# PS1='[(\h)\u \A \w]\$ '
[(debian3)root 11:29 ~]# l3s
l3script  l3shot
[(debian3)root 11:29 ~]# l3s
l3script  l3shot
[(debian3)root 11:29 ~]# l3s
l3script  l3shot
[(debian3)root 11:29 ~]# l3s
l3script  l3shot
[(debian3)root 11:29 ~]# l3script
/dev/pts/1
10:30:12
#cd scripts/

/dev/pts/0
10:30:12
#cd scripts/

прошло 84 минуты
/dev/pts/1
11:54:31
#vi shell.sh
/dev/pts/0
11:54:31
#vi shell.sh
/dev/pts/1
11:55:02
#jobs
[1]+  Stopped                 /usr/bin/vi "$@"
/dev/pts/0
11:55:02
#jobs
[1]+  Stopped                 /usr/bin/vi "$@"
/dev/pts/1
11:55:29
#fg %1
  1 #!/bin/bash
  2
  3 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
  4 shell=${1:-bash}
  5
  6 for user in $users
  7    do
  8         echo "changing $shell for user $user..."
  9         usermod -s /bin/$shell $user
 10    done
/dev/pts/0
11:55:29
#fg %1
  1 #!/bin/bash
  2
  3 users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd`
  4 shell=${1:-bash}
  5
  6 for user in $users
  7    do
  8         echo "changing $shell for user $user..."
  9         usermod -s /bin/$shell $user
 10    done
/dev/pts/1
11:56:55
#~

/dev/pts/0
11:56:55
#~

/dev/pts/1
11:58:00
#sleep 500 &
[1] 11030
/dev/pts/0
11:58:00
#sleep 500 &
[1] 11030
/dev/pts/1
11:58:38
#kill %1
[1]+  Завершено      sleep 500
/dev/pts/0
11:58:38
#kill %1
[1]+  Завершено      sleep 500
/dev/pts/1
11:59:24
#jobs

/dev/pts/0
11:59:24
#jobs

/dev/pts/1
12:00:11
#^C

/dev/pts/0
12:00:11
#^C

прошло 20 минут
/dev/pts/1
12:20:33
#kill %1^C

/dev/pts/0
12:20:33
#kill %1^C

/dev/pts/1
12:20:37
#^C

12:20:37
#^C

12:20:37
#^C

/dev/pts/0
12:20:37
#^C

12:20:37
#^C

12:20:37
#^C

/dev/pts/1
12:20:38
#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
petro:x:1002:1002::/home/petro:/bin/bash
/dev/pts/0
12:20:38
#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
petro:x:1002:1002::/home/petro:/bin/bash
прошло 105 минут
/dev/pts/1
14:05:58
#id -u ivan |awk '{print $1}'
1001
/dev/pts/0
14:05:58
#id -u ivan |awk '{print $1}'
1001
/dev/pts/1
14:09:02
#id -u ivan
1001
/dev/pts/0
14:09:02
#id -u ivan
1001
/dev/pts/1
14:09:34
#id ivan |awk '{print $1}'
uid=1001(ivan)
/dev/pts/0
14:09:34
#id ivan |awk '{print $1}'
uid=1001(ivan)
/dev/pts/1
14:13:45
#finger
l3script: finger: команда не найдена
/dev/pts/0
14:13:45
#finger
l3script: finger: команда не найдена
/dev/pts/1
14:22:38
#apt-get install finger
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  finger
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 20,5 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 31,7 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main finger amd64 0.17-15 [20,5 kB]
Получено 20,5 kБ за 0с (85,7 kБ/c)
Выбор ранее не выбранного пакета finger.
(Чтение базы данных … на данный момент установлено 28835 файлов и каталогов.)
Распаковывается пакет finger (из файла …/finger_0.17-15_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет finger (0.17-15) …
/dev/pts/0
14:22:38
#apt-get install finger
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  finger
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 20,5 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 31,7 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main finger amd64 0.17-15 [20,5 kB]
Получено 20,5 kБ за 0с (85,7 kБ/c)
Выбор ранее не выбранного пакета finger.
(Чтение базы данных … на данный момент установлено 28835 файлов и каталогов.)
Распаковывается пакет finger (из файла …/finger_0.17-15_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет finger (0.17-15) …
/dev/pts/1
14:23:11
#finger ivan
Login: ivan                             Name:
Directory: /home/ivan                   Shell: /bin/bash
Last login Tue Feb 23 10:07 (EET) on pts/2 from 192.168.15.13
No mail.
No Plan.
/dev/pts/0
14:23:11
#finger ivan
Login: ivan                             Name:
Directory: /home/ivan                   Shell: /bin/bash
Last login Tue Feb 23 10:07 (EET) on pts/2 from 192.168.15.13
No mail.
No Plan.
/dev/pts/1
14:23:51
#cat /etc/shadow
root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:99999:7:::
daemon:*:16248:0:99999:7:::
bin:*:16248:0:99999:7:::
sys:*:16248:0:99999:7:::
sync:*:16248:0:99999:7:::
games:*:16248:0:99999:7:::
man:*:16248:0:99999:7:::
lp:*:16248:0:99999:7:::
mail:*:16248:0:99999:7:::
news:*:16248:0:99999:7:::
...
list:*:16248:0:99999:7:::
irc:*:16248:0:99999:7:::
gnats:*:16248:0:99999:7:::
nobody:*:16248:0:99999:7:::
libuuid:!:16248:0:99999:7:::
Debian-exim:!:16248:0:99999:7:::
user:$6$CkJHVC8E$ykTJUix/7qmcPBJgqnJtCHlWhYfEaImqXcQyeRrwYm6Xi4KaZSfb4FB20ocZ/VlrQzTR2wiEobMxT/OM/FXgd0:16248:0:99999:7:::
sshd:*:16248:0:99999:7:::
ivan:$6$w2KiwFUG$1J7f9LA2FuELnyT3CINs7/ugjnq8uCCpvzD78pxcYM00M0Z3m1MOt9Yzt9UOHybqKQ8LA7WC6NOoy6T5fq1Mb0:18680:0:99999:7:::
petro:$6$ej4cU78h$IJrGxc1pfrwlkGS9Au9oU.0HiAJV..1gwv1q5YmrO9jbU5NQzD2StWt9lGtOsFe.MjWLsOYxpjDUTHXTfJ8OM/:18680:0:99999:7:::
/dev/pts/0
14:23:51
#cat /etc/shadow
root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:99999:7:::
daemon:*:16248:0:99999:7:::
bin:*:16248:0:99999:7:::
sys:*:16248:0:99999:7:::
sync:*:16248:0:99999:7:::
games:*:16248:0:99999:7:::
man:*:16248:0:99999:7:::
lp:*:16248:0:99999:7:::
mail:*:16248:0:99999:7:::
news:*:16248:0:99999:7:::
...
list:*:16248:0:99999:7:::
irc:*:16248:0:99999:7:::
gnats:*:16248:0:99999:7:::
nobody:*:16248:0:99999:7:::
libuuid:!:16248:0:99999:7:::
Debian-exim:!:16248:0:99999:7:::
user:$6$CkJHVC8E$ykTJUix/7qmcPBJgqnJtCHlWhYfEaImqXcQyeRrwYm6Xi4KaZSfb4FB20ocZ/VlrQzTR2wiEobMxT/OM/FXgd0:16248:0:99999:7:::
sshd:*:16248:0:99999:7:::
ivan:$6$w2KiwFUG$1J7f9LA2FuELnyT3CINs7/ugjnq8uCCpvzD78pxcYM00M0Z3m1MOt9Yzt9UOHybqKQ8LA7WC6NOoy6T5fq1Mb0:18680:0:99999:7:::
petro:$6$ej4cU78h$IJrGxc1pfrwlkGS9Au9oU.0HiAJV..1gwv1q5YmrO9jbU5NQzD2StWt9lGtOsFe.MjWLsOYxpjDUTHXTfJ8OM/:18680:0:99999:7:::
/dev/pts/1
14:31:03
#chage -l ivan
Последний раз пароль был изменён                                    : Фев 22, 2021
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
/dev/pts/0
14:31:03
#chage -l ivan
Последний раз пароль был изменён                                    : Фев 22, 2021
Срок действия пароля истекает                                 : никогда
Пароль будет деактивирован через                                   : никогда
Срок действия учётной записи истекает                                          : никогда
Минимальное количество дней между сменой пароля               : 0
Максимальное количество дней между сменой пароля             : 99999
Количество дней с предупреждением перед деактивацией пароля        : 7
прошло 13 минут
/dev/pts/1
14:44:54
#cat /etc/default/useradd
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
# Similar to DHSELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general
# as possible
SHELL=/bin/sh
#
# The default group for users
...
# EXPIRE=
#
# The SKEL variable specifies the directory containing "skeletal" user
# files; in other words, files such as a sample .profile that will be
# copied to the new user's home directory when it is created.
# SKEL=/etc/skel
#
# Defines whether the mail spool should be created while
# creating the account
# CREATE_MAIL_SPOOL=yes
/dev/pts/0
14:44:54
#cat /etc/default/useradd
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
# Similar to DHSELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general
# as possible
SHELL=/bin/sh
#
# The default group for users
...
# EXPIRE=
#
# The SKEL variable specifies the directory containing "skeletal" user
# files; in other words, files such as a sample .profile that will be
# copied to the new user's home directory when it is created.
# SKEL=/etc/skel
#
# Defines whether the mail spool should be created while
# creating the account
# CREATE_MAIL_SPOOL=yes

Файлы

  • /etc/default/useradd
  • /etc/passwd
  • /etc/shadow
  • shell.sh
  • /etc/default/useradd
    >
    # Default values for useradd(8)
    #
    # The SHELL variable specifies the default login shell on your
    # system.
    # Similar to DHSELL in adduser. However, we use "sh" here because
    # useradd is a low level utility and should be as general
    # as possible
    SHELL=/bin/sh
    #
    # The default group for users
    # 100=users on Debian systems
    # Same as USERS_GID in adduser
    # This argument is used when the -n flag is specified.
    # The default behavior (when -n and -g are not specified) is to create a
    # primary user group with the same name as the user being added to the
    # system.
    # GROUP=100
    #
    # The default home directory. Same as DHOME for adduser
    # HOME=/home
    #
    # The number of days after a password expires until the account
    # is permanently disabled
    # INACTIVE=-1
    #
    # The default expire date
    # EXPIRE=
    #
    # The SKEL variable specifies the directory containing "skeletal" user
    # files; in other words, files such as a sample .profile that will be
    # copied to the new user's home directory when it is created.
    # SKEL=/etc/skel
    #
    # Defines whether the mail spool should be created while
    # creating the account
    # CREATE_MAIL_SPOOL=yes
    
    /etc/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
    petro:x:1002:1002::/home/petro:/bin/bash
    
    /etc/shadow
    >
    root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:99999:7:::
    daemon:*:16248:0:99999:7:::
    bin:*:16248:0:99999:7:::
    sys:*:16248:0:99999:7:::
    sync:*:16248:0:99999:7:::
    games:*:16248:0:99999:7:::
    man:*:16248:0:99999:7:::
    lp:*:16248:0:99999:7:::
    mail:*:16248:0:99999:7:::
    news:*:16248:0:99999:7:::
    uucp:*:16248:0:99999:7:::
    proxy:*:16248:0:99999:7:::
    www-data:*:16248:0:99999:7:::
    backup:*:16248:0:99999:7:::
    list:*:16248:0:99999:7:::
    irc:*:16248:0:99999:7:::
    gnats:*:16248:0:99999:7:::
    nobody:*:16248:0:99999:7:::
    libuuid:!:16248:0:99999:7:::
    Debian-exim:!:16248:0:99999:7:::
    user:$6$CkJHVC8E$ykTJUix/7qmcPBJgqnJtCHlWhYfEaImqXcQyeRrwYm6Xi4KaZSfb4FB20ocZ/VlrQzTR2wiEobMxT/OM/FXgd0:16248:0:99999:7:::
    sshd:*:16248:0:99999:7:::
    ivan:$6$w2KiwFUG$1J7f9LA2FuELnyT3CINs7/ugjnq8uCCpvzD78pxcYM00M0Z3m1MOt9Yzt9UOHybqKQ8LA7WC6NOoy6T5fq1Mb0:18680:0:99999:7:::
    petro:$6$ej4cU78h$IJrGxc1pfrwlkGS9Au9oU.0HiAJV..1gwv1q5YmrO9jbU5NQzD2StWt9lGtOsFe.MjWLsOYxpjDUTHXTfJ8OM/:18680:0:99999:7:::
    
    shell.sh
    >
    #!/bin/bash
    users=`awk -F: '$3>=1000&&$3!=65535{print $1}' /etc/passwd`
    echo $users
    

    Статистика

    Время первой команды журнала07:54:51 2021- 2-24
    Время последней команды журнала14:44:54 2021- 2-24
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 7.92
    Процент синтаксически неверно набранных команд, % 2.97
    Суммарное время работы с терминалом *, час 2.53
    Количество командных строк в единицу времени, команда/мин 0.67
    Частота использования команд
    find15|==============| 14.02%
    vi9|========| 8.41%
    ^C9|========| 8.41%
    cat8|=======| 7.48%
    shell.sh6|=====| 5.61%
    id6|=====| 5.61%
    ls6|=====| 5.61%
    awk4|===| 3.74%
    finger4|===| 3.74%
    cd4|===| 3.74%
    jobs4|===| 3.74%
    kill4|===| 3.74%
    ~3|==| 2.80%
    sleep2|=| 1.87%
    fg2|=| 1.87%
    set2|=| 1.87%
    locate2|=| 1.87%
    tail2|=| 1.87%
    apt-get2|=| 1.87%
    chage2|=| 1.87%
    mkdir1|| 0.93%
    a=1001|| 0.93%
    $a1|| 0.93%
    chmod1|| 0.93%
    env1|| 0.93%
    \.rpm)'1|| 0.93%
    head1|| 0.93%
    echo1|| 0.93%
    export1|| 0.93%
    bash1|| 0.93%
    PS1='[(\h)1|| 0.93%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$