/l3/users/6-6-2017/NT-Ladm/debian1.net.nt/root :1 :2 :3 |
|
#vi test.sh
--- /tmp/l3-saved-9146.1997.18996 2017-06-08 11:12:28.936453830 +0300 +++ test.sh 2017-06-08 11:14:14.728433354 +0300 @@ -1,5 +1,5 @@ #!/bin/bash -users=$(awk -F: /etc/passwd '$3>999 && $3!=65534 {print$1}' | tr '\n' ' ') +users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shel $1 for user $u" |
#vi test.sh
|
#~
l3script: ./test.sh.: Нет такого файла или каталога |
#./test.sh /bin/sh
Changing shel /bin/sh for user user Changing shel /bin/sh for user ivan Changing shel /bin/sh for user petr |
#vi test.sh
--- /tmp/l3-saved-9146.5962.1060 2017-06-08 11:15:08.620454565 +0300 +++ test.sh 2017-06-08 11:15:22.328474010 +0300 @@ -2,7 +2,7 @@ users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do - echo "Changing shel $1 for user $u" + echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#./test.sh /bin/sh
Changing shell /bin/sh for user user usermod: изменения не внесены Changing shell /bin/sh for user ivan usermod: изменения не внесены Changing shell /bin/sh for user petr usermod: изменения не внесены |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#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 |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#./test.sh /bin/bash
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#vi test.sh
--- /tmp/l3-saved-9146.29758.14127 2017-06-08 11:20:22.788459205 +0300 +++ test.sh 2017-06-08 11:24:29.488463922 +0300 @@ -1,4 +1,5 @@ #!/bin/bash +s=${1:-/bin/bash} users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do |
#vi test.sh
--- /tmp/l3-saved-9146.3024.4427 2017-06-08 11:24:53.936501879 +0300 +++ test.sh 2017-06-08 11:25:41.244416568 +0300 @@ -3,7 +3,7 @@ users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do - echo "Changing shell $1 for user $u" - usermod -s $1 $u + echo "Changing shell $s for user $u" + usermod -s $s $u done |
#./test.sh /bin/zsh
Changing shell /bin/zsh for user user Changing shell /bin/zsh for user ivan Changing shell /bin/zsh for user petr |
#./test.sh
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash s=${1:-/bin/bash} users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $s for user $u" usermod -s $s $u done |
#vi test.sh
--- /tmp/l3-saved-9146.29685.29117 2017-06-08 11:27:30.464466048 +0300 +++ test.sh 2017-06-08 12:30:37.804454119 +0300 @@ -1,5 +1,12 @@ #!/bin/bash -s=${1:-/bin/bash} +shells=$(cat /etc/shells | sed '/^#/d' | tr '\n' ' ') +r=`echo $1` +for shell in $shells + do + test $1 = $shell 2> /dev/null && s=$1 + done +test -v r || s=/bin/bash +test -v s || s=/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do |
#./test.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: изменения не внесены |
#./test.sh zsh
Changing shell /bin/bash for user user usermod: изменения не внесены Changing shell /bin/bash for user ivan usermod: изменения не внесены Changing shell /bin/bash for user petr usermod: изменения не внесены |
#./test.sh /bin/sh
Changing shell /bin/sh for user user Changing shell /bin/sh for user ivan Changing shell /bin/sh for user petr |
#./test.sh /bin/h
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#./test.sh /bin/zsh
Changing shell /bin/zsh for user user Changing shell /bin/zsh for user ivan Changing shell /bin/zsh for user petr |
#./test.sh
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash shells=$(cat /etc/shells | sed '/^#/d' | tr '\n' ' ') r=`echo $1` for shell in $shells do test $1 = $shell 2> /dev/null && s=$1 done test -v r || s=/bin/bash test -v s || s=/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $s for user $u" usermod -s $s $u done |
#cp no_file_with_this_name /tmp
cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога |
#echo $?
0 |
#cp no_file_with_this_name /tmp
cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога |
#touch no_file_with_this_name
|
#test 5 -gt 1
|
#echo $?
0 |
#test 5 -lt 1
|
#echo $?
1 |
#test -z "$STRING"
|
#echo $?
0 |
#test -z $STRING
|
#echo $?
0 |
#test "$P" != print
|
#echo $?
0 |
#test -e /etc/motd
|
#test -d /usr/local/bin
|
#echo $?
0 |
#test -d /usr/local/bi
|
#test -r /etc/shadow
|
#echo $?
0 |
#test -k /tmp
|
#echo $?
0 |
#test -w /etc/shadow
|
#echo $?
0 |
#x=5
|
#y=10
|
#test x -gt y
l3script: test: x: integer expression expected |
#test $x -gt $y
|
#echo $?
1 |
#echo "Your lovely color"; read FAV_COL;\
> blue Your lovely color ^[[A^[[B l3script: blue: команда не найдена |
#echo "Your lovely color"; read FAV_COL;blue
Your lovely color l3script: blue: команда не найдена |
#echo "Your lovely color"; read FAV_COL;\
> Your lovely color |
#echo "Your lovely color"; read FAV_COL; echo FAV_COL;\
> blue Your lovely color blue FAV_COL l3script: blue: команда не найдена |
#echo "Your lovely color"; read FAV_COL; echo $FAV_COL;
Your lovely color blue blue |
#a=0
|
#while [ $A -lt 10 ]
> do > a=$((A+1)) > echo $A > done l3script: [: -lt: ожидается использование унарного оператора |
#a=0; while [ $A -lt 10 ]; do; a=$((A+1)); echo $A; done;\
l3script: syntax error near unexpected token `;' |
#a=0; while [ $a -lt 10 ]; do a=$((a+1)); echo $a; done;\
> ^C |
#a=0; while [ $a -lt 10 ]; do; a=$((a+1)); echo $a; done
l3script: syntax error near unexpected token `;' |
#a=0; while [ $a -lt 10 ]; do; a=$((a+1)); echo $a; done;
l3script: syntax error near unexpected token `;' |
#a=0; while [ $a -lt 10 ]; do; a=$((a+1)); echo $a; done
l3script: syntax error near unexpected token `;' |
#a=0; while [ $a -lt 10 ]; do a=$((a+1)); echo $a; done
1 2 3 4 5 6 7 8 9 10 |
#ls
2352f346 d132 ip.txt passwd 34634r install no_file_with_this_name test.sh |
#ls -a
. .aptitude d132 .lilalo test.sh .. .bash_history install no_file_with_this_name .vim 2352f346 .bash_profile ip.txt passwd .viminfo 34634r .bashrc .l3rc .profile |
#ls -a .lilalo/
. .. 12286226602558528048-1496902234_1496908388_root_test.sh.diff 12286226602558528048-1496902234_1496909442_root_test.sh.diff 12286226602558528048-1496902234_1496909548_root_test.sh.diff 12286226602558528048-1496902234_1496909656_root_test.sh.diff 12286226602558528048-1496902234_1496909708_root_test.sh.diff 12286226602558528048-1496902234_1496910022_root_test.sh.diff 12286226602558528048-1496902234_1496910293_root_test.sh.diff 12286226602558528048-1496902234_1496910450_root_test.sh.diff ... 32003262121268631887-1496732854_1496755254_root_text_hello-vi.txt.diff 32003262121268631887-1496732854_1496755367_tmp_passwd.diff 32003262121268631887-1496732854_1496756226_tmp_passwd.diff 32003262121268631887-1496732854.info 32003262121268631887-1496732854.script l3-agent.pid l3bashrc l3prompt .report.dat report.xml |
#ls -al .lilalo/
итого 1232 drwxr-xr-x 2 root root 4096 Июн 8 12:30 . drwx------ 5 root root 4096 Июн 8 14:15 .. -rw-r--r-- 1 root root 297 Июн 8 11:10 12286226602558528048-1496902234_1496908388_root_test.sh.diff -rw-r--r-- 1 root root 0 Июн 8 11:10 12286226602558528048-1496902234_1496909442_root_test.sh.diff -rw-r--r-- 1 root root 363 Июн 8 11:14 12286226602558528048-1496902234_1496909548_root_test.sh.diff -rw-r--r-- 1 root root 0 Июн 8 11:14 12286226602558528048-1496902234_1496909656_root_test.sh.diff -rw-r--r-- 1 root root 343 Июн 8 11:15 12286226602558528048-1496902234_1496909708_root_test.sh.diff -rw-r--r-- 1 root root 269 Июн 8 11:24 12286226602558528048-1496902234_1496910022_root_test.sh.diff -rw-r--r-- 1 root root 363 Июн 8 11:25 12286226602558528048-1496902234_1496910293_root_test.sh.diff ... -rw-r--r-- 1 root root 0 Июн 6 16:21 32003262121268631887-1496732854_1496755254_root_text_hello-vi.txt.diff -rw-r--r-- 1 root root 0 Июн 6 16:37 32003262121268631887-1496732854_1496755367_tmp_passwd.diff -rw-r--r-- 1 root root 0 Июн 6 16:37 32003262121268631887-1496732854_1496756226_tmp_passwd.diff -rw-r--r-- 1 root root 12634 Июн 6 17:33 32003262121268631887-1496732854.info -rw-r--r-- 1 root root 111848 Июн 6 17:33 32003262121268631887-1496732854.script -rw-r--r-- 1 root root 4 Июн 6 10:03 l3-agent.pid -rw-r--r-- 1 root root 7857 Окт 15 2014 l3bashrc -rwxr-xr-x 1 root root 234 Окт 15 2014 l3prompt -rw-r--r-- 1 root root 503 Июн 8 15:21 .report.dat -rw-r--r-- 1 root root 242811 Июн 8 15:21 report.xml |
#date
Чтв Июн 8 15:21:19 EEST 2017 |
#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 |
#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$LxwVJ4nM$UHokv9LBcaOYi4zhzvcBkARWoG.pHK0MMJQEO04buRGE9C5JFYxjusoHWdSQe3MmDGe37pPPVfTXlP.bigt7A0:17323:0:99999:7::: petr:$6$7DICjfn0$X1aS6j5dHB1OpdDD7C8SDssXy3YlziRQrXyknDqgsZep2zPmftisLRnVORRnDuAarPuP0ic6oRpzBz7HePXBJ1:17323:0:99999:7::: |
#apt-get finger
E: Неверная операция finger |
#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с (543 kБ/c) Выбор ранее не выбранного пакета finger. (Чтение базы данных … на данный момент установлено 30012 файлов и каталогов.) Распаковывается пакет finger (из файла …/finger_0.17-15_amd64.deb) … Обрабатываются триггеры для man-db … Настраивается пакет finger (0.17-15) … |
#ls -l /var/log/wtmp
-rw-rw-r-- 1 root utmp 14592 Июн 9 09:44 /var/log/wtmp |
#ls -l /var/log/lastlog
-rw-rw-r-- 1 root utmp 292876 Июн 9 09:44 /var/log/lastlog |
#less /etc/default/useradd
|
#vi /etc/login.defs
|
#chage - petr
, --lastday ÐÐСÐÑÐ¼ÐµÐ½Ñ Ð¿Ð°ÑолѰмеÑÑÑ] ÐÐРв ÐÐСР, --expiredate ÐÐТÐ_УСТ ÑÑÑановиÑÑ Ð´Ð°ÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ ÑÑÑÑной запиÑи в ÐÐТÐ_УСТ -h, --help показаÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ ÑообÑение и законÑиÑÑ ÑабоÑÑ -I, --inactive ÐÐÐÐТÐÐÐÐСТЬ ÑÑÑановиÑÑ Ð½ÐµÐ°ÐºÑивноÑÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¿Ð¾Ñле ÑÑÑаÑÐµÐ²Ð°Ð½Ð¸Ñ Ð² знаÑение ÐÐÐÐТÐÐÐÐСТЬ -l, --list показаÑÑ Â«Ð²Ð¾Ð·ÑаÑÑ» ÑÑÑÑной запиÑи -m, --mindays ÐÐÐ_ÐÐÐÐ ÑÑÑановиÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñное ÑиÑло дней пеÑед Ñменой паÑÐ¾Ð»Ñ Ð² ÐÐÐ_ÐÐÐÐ -M, --maxdays ÐÐÐС_ÐÐÐÐ ÑÑÑановиÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло дней пеÑед Ñменой паÑÐ¾Ð»Ñ Ð² ÐÐÐС_ÐÐÐÐ -R, --root ÐÐТ_CHROOT каÑалог, в коÑоÑÑй вÑполнÑеÑÑÑ chroot -W, --warndays ÐÐ ÐÐУÐ_ÐÐÐÐ ÑÑÑановиÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво дней Ñ Ð²ÑдаÑей пÑедÑпÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð² ÐÐ ÐÐУÐ_ÐÐÐÐ |
#chage -l petr
Последний раз пароль был изменён : Июн 06, 2017 Срок действия пароля истекает : никогда Пароль будет деактивирован через : никогда Срок действия учётной записи истекает : никогда Минимальное количество дней между сменой пароля : 0 Максимальное количество дней между сменой пароля : 99999 Количество дней с предупреждением перед деактивацией пароля : 7 |
#groupadd developers
|
#groupmod -g 10000 developers
|
#usermod -G developers ivan
|
#id ivan
uid=1001(ivan) gid=1001(ivan) группы=1001(ivan),10000(developers) |
#gpasswd -a petr developers
Добавление пользователя petr в группу developers |
#mkdir /opt/public
|
#ls -ld /opt/public
drwxr-xr-x 2 root root 4096 Июн 9 14:15 /opt/public |
#chmod o+w /opt/public
|
#> /opt/public/ROOT
|
#chmod +t /opt/public
|
#find / -perm -4000 2> /dev/null
/usr/lib/openssh/ssh-keysign /usr/lib/pt_chown /usr/lib/eject/dmcrypt-get-device /usr/bin/passwd /usr/bin/chfn /usr/bin/gpasswd /usr/bin/chsh /usr/bin/newgrp /usr/sbin/exim4 /bin/mount /bin/su /bin/ping6 /bin/umount /bin/ping |
#find / -perm -2000 2> /dev/null
/usr/bin/chage /usr/bin/crontab /usr/bin/dotlockfile /usr/bin/mail-lock /usr/bin/mail-unlock /usr/bin/expiry /usr/bin/screen /usr/bin/bsd-write /usr/bin/ssh-agent /usr/bin/wall ... /var/cache/man/pt_BR/cat1 /var/cache/man/pt_BR/cat8 /var/cache/man/pt_BR/cat5 /var/cache/man/sl /var/cache/man/sl/cat1 /var/cache/man/sl/cat8 /var/mail /var/local /var/log/exim4 /sbin/unix_chkpwd |
#ls -lL `which write`
-rwxr-sr-x 1 root tty 14624 Июн 11 2012 /usr/bin/write |
#mkdir /opt/project
|
#ls -l /opt/
итого 8 drwxr-xr-x 2 root root 4096 Июн 9 14:35 project drwxr-xrwt 2 root root 4096 Июн 9 14:20 public |
#chmod 770 project
chmod: невозможно получить доступ к «project»: Нет такого файла или каталога |
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24:user floppy:x:25:user tape:x:26: sudo:x:27: audio:x:29:user dip:x:30:user www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:x:44:user sasl:x:45: plugdev:x:46:user staff:x:50: games:x:60: users:x:100: nogroup:x:65534: libuuid:x:101: crontab:x:102: Debian-exim:x:103: ssh:x:104: user:x:1000: ivan:x:1001: petr:x:1002: developers:x:10000:
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:!:: developers:!::ivan,petr
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
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$LxwVJ4nM$UHokv9LBcaOYi4zhzvcBkARWoG.pHK0MMJQEO04buRGE9C5JFYxjusoHWdSQe3MmDGe37pPPVfTXlP.bigt7A0:17323:0:99999:7::: petr:$6$7DICjfn0$X1aS6j5dHB1OpdDD7C8SDssXy3YlziRQrXyknDqgsZep2zPmftisLRnVORRnDuAarPuP0ic6oRpzBz7HePXBJ1:17323:0:99999:7:::
#!/bin/bash shells=$(cat /etc/shells | sed '/^#/d' | tr '\n' ' ') r=`echo $1` for shell in $shells do test $1 = $shell 2> /dev/null && s=$1 done test -v r || s=/bin/bash test -v s || s=/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $s for user $u" usermod -s $s $u done
Время первой команды журнала | 10:11:00 2017- 6- 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:36:07 2017- 6- 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 12.87 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 3.96 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 2.55 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.66 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008