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

Содержание

Журнал

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

/dev/pts/2
13:03:31
#echo $a
10
13:03:33
#bash
     ├─cron
     ├─exim4
     ├─6*[getty]
     ├─2*[l3-agent]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─sshd─┬─sshd───sshd───bash───bash───script───script───l3script
     │      └─sshd───bash───script───script───l3script───bash───pstree
     └─udevd
root@debian3:~# ex
Переход в режим Ex. Для перехода в Обычный режим наберите "visual"
:q!
root@debian3:~# exit
exit
13:04:22
#export a

13:04:27
#bash
root@debian3:~# echo $a
10
root@debian3:~# exit
exit
13:05:12
#env
SHELL=/bin/bash
TERM=xterm
HISTSIZE=2000
SSH_CLIENT=192.168.16.206 62557 22
L3_PARENT_TTY=/dev/pts/2
OLDPWD=/etc/cron.daily
L3_TAMPERED_EDITORS= vi vim pico nano
SSH_TTY=/dev/pts/2
USER=root
HISTFILESIZE=2000
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
L3_SESSION_ID=18437273361059713717-1511940900
a=10
PWD=/root
LANG=ru_RU.UTF-8
13:05:29
#b=20

13:05:46
#env
SHELL=/bin/bash
TERM=xterm
HISTSIZE=2000
SSH_CLIENT=192.168.16.206 62557 22
L3_PARENT_TTY=/dev/pts/2
OLDPWD=/etc/cron.daily
L3_TAMPERED_EDITORS= vi vim pico nano
SSH_TTY=/dev/pts/2
USER=root
HISTFILESIZE=2000
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
L3_SESSION_ID=18437273361059713717-1511940900
a=10
PWD=/root
LANG=ru_RU.UTF-8
13:05:53
#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=/etc/cron.daily
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=11894
13:06:14
#set | less
13:06:53
#set | less
13:07:19
#set | less
13:07:54
#set | egrep '^[[:alpha:]]+='
BASH=/usr/local/bin/l3script
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
COLUMNS=207
DIFFNAME=18437273361059713717-1511940900_1511948808_etc_cron.daily_locate.diff
DIR=/etc/cron.daily/
DIRSTACK=()
EUID=0
GROUPS=()
HISTFILE=/root/.bash_history
HISTFILESIZE=2000
...
RANDOM=28021
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=3
TERM=xterm
TIME=1511948808
UID=0
USER=root
a=10
b=20
13:09:51
#> shell.sh

13:13:29
#vi shell.sh
--- /tmp/l3-saved-11895.8475.1475	2017-11-29 14:13:40.594058593 +0200
+++ shell.sh	2017-11-29 14:35:42.062044549 +0200
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+users=$(awk -F: '$3>=1000 && &3!=65534{print $1}' /etc/passwd | tr '\n' ' ')
+for user in $users
+    do
+       echo "Changing shell for user $user..."
+       sleep 1
+       usermod -s /bin/zsh $user 
+    done
прошло 22 минуты
13:35:42
#./shell.sh
l3script: ./shell.sh: Отказано в доступе
13:36:18
#ls -l
итого 32
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f1
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f2
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f3
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f4
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f5
-rw-r--r-- 1 root root   75 Ноя 28 12:49 files.txt
-rw-r--r-- 1 root root 5268 Ноя 28 12:35 install
-rw-r--r-- 1 root root  103 Ноя 28 16:07 ip.txt
-rw-r--r-- 1 root root  986 Ноя 28 16:31 passwd
-rw-r--r-- 1 root root 5952 Ноя 28 14:06 proc.txt
-rw-r--r-- 1 root root  221 Ноя 29 14:35 shell.sh
13:36:29
#chmod u+x shell.sh

13:38:13
#ls -l
итого 32
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f1
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f2
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f3
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f4
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f5
-rw-r--r-- 1 root root   75 Ноя 28 12:49 files.txt
-rw-r--r-- 1 root root 5268 Ноя 28 12:35 install
-rw-r--r-- 1 root root  103 Ноя 28 16:07 ip.txt
-rw-r--r-- 1 root root  986 Ноя 28 16:31 passwd
-rw-r--r-- 1 root root 5952 Ноя 28 14:06 proc.txt
-rwxr--r-- 1 root root  221 Ноя 29 14:35 shell.sh
13:38:16
#ls -l --color
итого 32
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f1
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f2
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f3
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f4
-rw-r--r-- 1 root root    0 Ноя 28 11:44 f5
-rw-r--r-- 1 root root   75 Ноя 28 12:49 files.txt
-rw-r--r-- 1 root root 5268 Ноя 28 12:35 install
-rw-r--r-- 1 root root  103 Ноя 28 16:07 ip.txt
-rw-r--r-- 1 root root  986 Ноя 28 16:31 passwd
-rw-r--r-- 1 root root 5952 Ноя 28 14:06 proc.txt
-rwxr--r-- 1 root root  221 Ноя 29 14:35 shell.sh
13:38:28
#./shell.sh
awk: 1: unexpected character '&'
13:38:49
#vi shell.sh
--- /tmp/l3-saved-11895.30571.13553	2017-11-29 14:39:30.062059979 +0200
+++ shell.sh	2017-11-29 14:40:52.358039871 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-users=$(awk -F: '$3>=1000 && &3!=65534{print $1}' /etc/passwd | tr '\n' ' ')
+users=$(awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | tr '\n' ' ')
 for user in $users
     do
        echo "Changing shell for user $user..."
13:40:52
#./shell.sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
13:40:58
#vi shell.sh
--- /tmp/l3-saved-11895.26029.18732	2017-11-29 14:47:18.158034616 +0200
+++ shell.sh	2017-11-29 14:53:14.438037370 +0200
@@ -1,9 +1,11 @@
 #!/bin/bash
 
+shell="/bin/$1"
+
 users=$(awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | tr '\n' ' ')
 for user in $users
     do
-       echo "Changing shell for user $user..."
+       echo "Changing shell $shell for user $user..."
        sleep 1
-       usermod -s /bin/zsh $user 
+       usermod -s $shell $user 
     done
прошло 12 минут
13:53:14
#./shell.sh bash
Changing shell /bin/bash for user user...
Changing shell /bin/bash for user ivan...
Changing shell /bin/bash for user petr...
13:53:33
#vi shell.sh
--- /tmp/l3-saved-11895.2942.7607	2017-11-29 14:56:27.342040983 +0200
+++ shell.sh	2017-11-29 14:57:51.982043302 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-shell="/bin/$1"
+shell="/bin/${1:-bash}"
 
 users=$(awk -F: '$3>=1000 && $3!=65534{print $1}' /etc/passwd | tr '\n' ' ')
 for user in $users
13:57:52
#./shell.sh
Changing shell /bin/bash for user user...
usermod: изменения не внесены
Changing shell /bin/bash for user ivan...
usermod: изменения не внесены
Changing shell /bin/bash for user petr...
usermod: изменения не внесены
13:58:00
#vi shell.sh
13:59:06
#~
Changing shell /bin/bash for user user...
usermod: изменения не внесены
Changing shell /bin/bash for user ivan...
usermod: изменения не внесены
Changing shell /bin/bash for user petr...
usermod: изменения не внесены
13:59:44
#./shell.sh zsh
Changing shell /bin/zsh for user user...
Changing shell /bin/zsh for user ivan...
Changing shell /bin/zsh for user petr...
13:59:52
#./shell.sh
Changing shell /bin/bash for user user...
Changing shell /bin/bash for user ivan...
Changing shell /bin/bash for user petr...
13:59:57
#test 5 -eq 5

14:07:16
#echo $?
0
14:07:58
#ls
f1  f2  f3  f4  f5  files.txt  install  ip.txt  passwd  proc.txt  shell.sh
14:08:07
#test -x shell.sh

14:08:25
#echo $?
0
14:08:29
#test -x proc.txt

14:08:41