| /l3/users/27-11-2017/NT-Ladm/debian3.net.nt/root :1 :2 :3 :4 :5 |
|
|
#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
|
|
#export a
|
|
#bash
root@debian3:~# echo $a 10 root@debian3:~# exit exit |
|
#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 |
|
#b=20
|
|
#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 |
|
#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 |
|
#set | less
|
|
#set | less
|
|
#set | less
|
|
#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 |
|
#> shell.sh
|
|
#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
|
|
#./shell.sh
l3script: ./shell.sh: Отказано в доступе |
|
#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 |
|
#chmod u+x shell.sh
|
|
#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 |
|
#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 |
|
#./shell.sh
awk: 1: unexpected character '&' |
|
#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..."
|
|
#./shell.sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... |
|
#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
|
|
#./shell.sh bash
Changing shell /bin/bash for user user... Changing shell /bin/bash for user ivan... Changing shell /bin/bash for user petr... |
|
#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
|
|
#./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: изменения не внесены |
|
#vi 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: изменения не внесены |
|
#./shell.sh zsh
Changing shell /bin/zsh for user user... Changing shell /bin/zsh for user ivan... Changing shell /bin/zsh for user petr... |
|
#./shell.sh
Changing shell /bin/bash for user user... Changing shell /bin/bash for user ivan... Changing shell /bin/bash for user petr... |
|
#test 5 -eq 5
|
|
#echo $?
0 |
|
#ls
f1 f2 f3 f4 f5 files.txt install ip.txt passwd proc.txt shell.sh |
|
#test -x shell.sh
|
|
#echo $?
0 |
|
#test -x proc.txt
|
|
|