/l3/users/eb/2009/linux8/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 :16 :17 :18 :19 :20 |
|
#l3-agent
|
#apt-get install strace
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Следующие пакеты устанавливались автоматически и больше не требуются: update-inetd portmap Для их удаления используйте 'apt-get autoremove'. НОВЫЕ пакеты, которые будут установлены: strace обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 161kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 336kB. Получено:1 http://10.0.35.1 sid/main strace 4.5.18-1 [161kB] Получено 161kБ за 0s (9511kБ/c) Выбор ранее не выбранного пакета strace. (Чтение базы данных ... на данный момент установлено 44681 файлов и каталогов.) Распаковывается пакет strace (из файла .../strace_4.5.18-1_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет strace (4.5.18-1) ... |
#str
strace strfile strings strip |
#strace
usage: strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file] [-p pid] ... [-s strsize] [-u username] [-E var=val] ... [command [arg ...]] or: strace -c [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ... [command [arg ...]] -c -- count time, calls, and errors for each syscall and report summary -f -- follow forks, -ff -- with output into separate files -F -- attempt to follow vforks, -h -- print help message -i -- print instruction pointer at time of syscall -q -- suppress messages about attaching, detaching, etc. ... -e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]... options: trace, abbrev, verbose, raw, signal, read, or write -o file -- send trace output to FILE instead of stderr -O overhead -- set overhead for tracing syscalls to OVERHEAD usecs -p pid -- trace process with process id PID, may be repeated -s strsize -- limit length of print strings to STRSIZE chars (default 32) -S sortby -- sort syscall counts by: time, calls, name, nothing (default time) -u username -- run command as username handling setuid and/or setgid -E var=val -- put var=val in the environment for command -E var -- remove var from the environment for command |
#ntpdate
ntpdate ntpdate-debian |
#ntpdate -q
28 May 12:14:42 ntpdate[28167]: no servers can be used, exiting |
#apt-get install pwgen n
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово E: Не удалось найти пакет n |
#apt-get install pwgen
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Следующие пакеты устанавливались автоматически и больше не требуются: update-inetd portmap Для их удаления используйте 'apt-get autoremove'. НОВЫЕ пакеты, которые будут установлены: pwgen обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 19,2kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 77,8kB. Получено:1 http://10.0.35.1 sid/main pwgen 2.06-1 [19,2kB] Получено 19,2kБ за 0s (27,8kБ/c) Выбор ранее не выбранного пакета pwgen. (Чтение базы данных ... на данный момент установлено 44691 файлов и каталогов.) Распаковывается пакет pwgen (из файла .../archives/pwgen_2.06-1_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет pwgen (2.06-1) ... |
#pwgen
eChu1esh iMues1oe zeiNg9ah ki3Ohwu4 Geez1ie7 Ous6choo ku9Aipho Eu1Chuo4 qui5eB0e ush3Phoo tuiGh3oo Eel1Poh5 ue7eePh2 To2yoWoh Reephaa9 Eihee9ma aen5iuZo Mee9Eiki aiPhom5s chooTh3E thoTh8Ai adia1Ahf eed7eeMu laigh1Ot Ahf7nuji Voom4evu Aeh0Aet5 goa6Xoon aahuB5wu aiGha8Ri dee9Ver8 Ohph4ahY gigh5Di9 ho5Falie Eed3shae osoZae9S Irel5oeB que9paiB aeRutae2 doqu1XaN acoT2gah kohSh9oo Oruifah2 Ochae5ge aigh7Tu1 Neidohm6 aeroF4ae oLee5sie iT6emaer ieNai0ye gooXooh2 Ukei1uQu Thoo6aht she7Eech euQu5bio giQuiem3 Aid1uato Thae1Eef eiM7cha4 haiTahl8 Aech4see cuav8eeK eiDee7pa aeZef3sh ooW8Yo8a maen3aPa good4Yae koGeej1i aCh6aco9 tohWei6K EizeiD5y wah7aeLe Ohheid7r thaub9Ee Iesh6aef eeB1poof Leish6Xa ohthai5O ieSh3eef Shief8oh Eic0eiTh queigh4E eer6Shui ahqu6OoG eix1Qui2 Ahzai8La epeiJee8 aeHie2au shiqu0Ie aiw0Yaga oos3yi2A Liesul5w ahGhij6O ahBe8yi3 loQu3ohk pah5Kegh thi0oWit Uakidi2G guSho4ei Fae2Chei ooQu5sho eM5ea7ke aap9Iqua hae3Ahj3 iG8phaNg boat5iJ4 Aigoe7ae ieHoew7i Eid4ahth Be7Ma9ae baLohY8t Goo1vai4 haeX7Pie eith1ohB Zi7Ang4j Ahwah9zo oN7eich9 eboh2eiP aeNe3oNg beiJ2Oor so5Nae1u eeCeib2o Ooshee2i Yie0ooza saec8riR Phook7pu aewa2Aid ohphao2Z xaiJ3aib KaiKeak9 eeginiL8 Meiwau3i jahKo6Mu Och7tha3 co7Ruipe aeThai0k iaf8fiWa cahzoo2P ith7Kai5 shiCh8ei ewahSh7i IeDonee1 kahPh1co Aetoong9 quooX4Tu Yei2shae Ahj3Haiv eeNg9euf YohC3ve7 Phaevi0B Pon9ohm9 uNgie1Po wo5phieT erae6Agh Axa4eeZ4 fe1zieHi Bai8IeNu shooCh2I oLi7laeh uC1oghai |
#apt-get install miscfiles
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Уже установлена самая новая версия miscfiles. miscfiles установлен вручную. Следующие пакеты устанавливались автоматически и больше не требуются: update-inetd portmap Для их удаления используйте 'apt-get autoremove'. обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. |
#pro
probes propertyTag prove |
#which propernames
|
#zcat /usr/share/doc
doc/ doc-base/ |
#zcat /usr/share/doc/m
mailx/ man-db/ mawk/ miscfiles/ monit/ make/ manpages/ menu/ mktemp/ mount/ makedev/ manpages-ru/ mime-support/ module-init-tools/ |
#zcat /usr/share/doc/miscfiles/
abbrevs.gen.gz changelog.Debian.gz dict-README.gz na.phone.gz README.debian.gz abbrevs.talk.gz changelog.gz inter.phone.gz na.postalcodes.gz README.gz airport.gz cities.dat.gz languages.gz NEWS.gz unicode.gz ascii.gz countries.gz latin1.gz operator.gz birthtoken.gz currency.gz mailinglists.gz ORIGIN.gz |
#zcat /usr/share/dict
dict/ dictionaries-common/ |
#zcat /usr/share/dict/
connectives.gz propernames.gz README.select-wordlist web2a.gz |
#zcat /usr/share/dict/propernames.gz | head 200
head: невозможно открыть `200' для чтения: Нет такого файла или каталога |
#zcat /usr/share/dict/propernames.gz | head -n 200 | tr A-Z a-z > /tmp/200users
|
#less /tmp/200users
|
#echo $RANDOM
6127 |
#cat /dev/urandom | tr -cd 0-9a-zA-Z`\n`| grep -x ........
bash: n: команда не найдена ^C |
#cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 200 > 200passw
|
#cd /tmp/
|
#ls
200users date2.log date.log keyring-OOzMLB orbit-user ssh-HBFJwm2864 |
#cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 200 > /tmp/200passw
|
#ls
200passw 200users date2.log date.log keyring-OOzMLB orbit-user ssh-HBFJwm2864 |
#cat 200
200passw 200users |
#cat 200* | wc -l
400 |
#zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z
aaron |
#echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z); echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1)
aaron W5nKdevk |
##(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z); | passwd echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1))
|
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1)
g5ok9Ajl |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1)
3nyO1Crp |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); !
bash: syntax error near unexpected token `newline' |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); !e
echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); ! bash: syntax error near unexpected token `newline' |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1);
A1bUxmXa PvVusxU8 |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1);
SfgK6xIn |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); | wile read passw
bash: syntax error near unexpected token `|' |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1); | while read passw
bash: syntax error near unexpected token `|' |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw
> do > echo passw > done passw |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo i; done
i |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read $passw ; do echo ; done
|
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read $passw ; do echo $passw ; done
|
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) = passw | while read $passw ; do echo $passw ; done
|
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo $passw ; done
iP6oaL2j |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo $passw ; done
aYaFYdT1 |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo $passw ; done
s7oEjjaK |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo $passw ; done
6HZyOuOd |
#echo $(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) | while read passw ; do echo $passw ; done
XKCSoxx4 |
#cat addu
|
#( echo $pass; echo $pass ) | passwd user | echo $pass >> /tmp/addu
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#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 ... 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 sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin messagebus:x:102:104::/var/run/dbus:/bin/false polkituser:x:103:105:PolicyKit,,,:/var/run/PolicyKit:/bin/false haldaemon:x:104:106:Hardware abstraction layer,,,:/var/run/hald:/bin/false gdm:x:105:107:Gnome Display Manager:/var/lib/gdm:/bin/false user:x:1000:1000::/home/user:/bin/bash Debian-exim:x:106:108::/var/spool/exim4:/bin/false |
#( echo $pass; echo $pass ) | passwd $(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) | echo $pass >> /tmp/addu;
> |
#( echo $pass; echo $pass ) | passwd echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) | echo $pass #>> /tmp/addu;
elo6fjVU Использование: passwd [параметры] [имя пользователя] Параметры: -a, --all показать состояние паролей всех учётных записей -d, --delete удалить пароль заданной учётной записи -e, --expire просрочить пароль заданной учётной записи -h, --help показать это сообщение и завершить работу программы -k, --keep-tokens изменять пароль только с истёкшим сроком ... сменой пароля в MIN_DAYS -q, --quiet не показывать сообщений -r, --repository REPOSITORY изменить пароль в репозитории REPOSITORY -S, --status показать состояние пароля заданной учётной записи -u, --unlock разблокировать заданную учётную запись -w, --warndays WARN_DAYS установить количество дней с выдачей предупреждения в WARN_DAYS -x, --maxdays MAX_DAYS установить максимальное число дней перед сменой пароля в MAX_DAYS |
#( echo $pass; echo $pass ) | passwd 'echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)' | echo $pass #>> /tmp/addu;
elo6fjVU passwd: пользователь 'echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)' не существует |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass #>> /tmp/addu;
elo6fjVU passwd: пользователь 'user=aaron' не существует |
#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 ... nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin messagebus:x:102:104::/var/run/dbus:/bin/false polkituser:x:103:105:PolicyKit,,,:/var/run/PolicyKit:/bin/false haldaemon:x:104:106:Hardware abstraction layer,,,:/var/run/hald:/bin/false gdm:x:105:107:Gnome Display Manager:/var/lib/gdm:/bin/false user:x:1000:1000::/home/user:/bin/bash Debian-exim:x:106:108::/var/spool/exim4:/bin/false user=aaron:x:1001:1001::/home/user=aaron:/bin/sh |
#( echo $pass; echo $pass ) | useradd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass #>> /tmp/addu;
KJPxYL1t useradd: пользователь user=aaron уже существует |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu;
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#cat addu
elo6fjVU elo6fjVU elo6fjVU KJPxYL1t KJPxYL1t KJPxYL1t |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo '$user $pass' >> /tmp/addu;
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo 'echo $user $pass' >> /tmp/addu;
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $user, $pass >> /tmp/addu;
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $user , $pass >> /tmp/addu;
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu; echo $user >> /tmp/addu
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | passwd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu; echo $user >> /tmp/addu
Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#( echo $pass; echo $pass ) | adduser user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu; echo $user >> /tmp/addu
adduser: Чтобы не было проблем, имя пользователя должно состоять только из букв, цифр, подчёркиваний, точек, тире, знаков '@' и не начинаться с тире (так определено в IEEE Std 1003.1-2001). Для совместимости с Samba также можно указывать $ в конце имени пользователя |
#( echo $pass; echo $pass ) | useradd user=$(echo $(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu; echo $user >> /tmp/addu
useradd: пользователь user=aaron уже существует |
#( echo $pass; echo $pass ) | useradd user=$(echo $(zcat /usr/share/dict/propernames.gz | tail -n 1 | tr A-Z a-z)) | echo $pass >> /tmp/addu; echo $user >> /tmp/addu
|
#vi /tmp/uuu
--- /dev/null 2009-05-28 09:31:34.505018579 +0300 +++ /tmp/uuu 2009-05-28 14:33:09.000000000 +0300 @@ -0,0 +1,2 @@ +#!/bin/sh + |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.14746.9561 2009-05-28 14:33:10.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:37:18.000000000 +0300 @@ -1,2 +1,9 @@ #!/bin/sh +pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) +user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) +echo $pass +echo $user + +#( echo $pass; echo $pass ) | while read + |
#chmod 644 uuu
|
#ls
200passw 200users addu date2.log date.log keyring-OOzMLB orbit-user ssh-HBFJwm2864 uuu |
#ls -al
итого 72 drwxrwxrwt 7 root root 4096 Май 28 14:37 . drwxr-xr-x 21 root root 4096 Май 24 21:05 .. -rw-r--r-- 1 root root 1800 Май 28 12:44 200passw -rw-r--r-- 1 root root 1378 Май 28 12:41 200users -rw-r--r-- 1 root root 176 Май 28 14:31 addu -rw-r--r-- 1 user user 4590 Май 28 14:36 date2.log -rw-r--r-- 1 user user 9180 Май 28 14:37 date.log drwxrwxrwt 2 root root 4096 Май 28 09:31 .ICE-unix drwx------ 2 user user 4096 Май 28 09:31 keyring-OOzMLB drwx------ 2 user user 4096 Май 28 09:37 orbit-user drwx------ 2 user user 4096 Май 28 09:31 ssh-HBFJwm2864 -rw-r--r-- 1 root root 224 Май 28 14:37 uuu -r--r--r-- 1 root root 11 Май 28 09:31 .X0-lock drwxrwxrwt 2 root root 4096 Май 28 09:31 .X11-unix -rw------- 1 user user 406 Май 28 09:31 .xfsm-ICE-GN66TU |
#chmod +x uuu
|
#ls -al
итого 72 drwxrwxrwt 7 root root 4096 Май 28 14:37 . drwxr-xr-x 21 root root 4096 Май 24 21:05 .. -rw-r--r-- 1 root root 1800 Май 28 12:44 200passw -rw-r--r-- 1 root root 1378 Май 28 12:41 200users -rw-r--r-- 1 root root 176 Май 28 14:31 addu -rw-r--r-- 1 user user 4590 Май 28 14:36 date2.log -rw-r--r-- 1 user user 9180 Май 28 14:37 date.log drwxrwxrwt 2 root root 4096 Май 28 09:31 .ICE-unix drwx------ 2 user user 4096 Май 28 09:31 keyring-OOzMLB drwx------ 2 user user 4096 Май 28 09:37 orbit-user drwx------ 2 user user 4096 Май 28 09:31 ssh-HBFJwm2864 -rwxr-xr-x 1 root root 224 Май 28 14:37 uuu -r--r--r-- 1 root root 11 Май 28 09:31 .X0-lock drwxrwxrwt 2 root root 4096 Май 28 09:31 .X11-unix -rw------- 1 user user 406 Май 28 09:31 .xfsm-ICE-GN66TU |
#./uuu
LICMYBxr aaron |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.15226.19543 2009-05-28 14:38:13.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:38:37.000000000 +0300 @@ -1,7 +1,7 @@ #!/bin/sh pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) -echo $pass +echo $pass '\n\ echo $user #( echo $pass; echo $pass ) | while read |
#./uuu
./uuu: line 4: unexpected EOF while looking for matching `'' ./uuu: line 10: ошибка синтаксиса: неожиданный конец файла |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.25216.1931 2009-05-28 14:38:46.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:38:56.000000000 +0300 @@ -1,7 +1,7 @@ #!/bin/sh pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) -echo $pass '\n\ +echo $pass '\n' echo $user #( echo $pass; echo $pass ) | while read |
#./uuu
jNWS07uq \n aaron |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.12291.10992 2009-05-28 14:39:02.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:39:10.000000000 +0300 @@ -1,7 +1,7 @@ #!/bin/sh pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) -echo $pass '\n' +echo $pass \n echo $user #( echo $pass; echo $pass ) | while read |
#./uuu
3MTWMVO5 n aaron |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.2518.26810 2009-05-28 14:39:17.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:39:26.000000000 +0300 @@ -1,8 +1,7 @@ #!/bin/sh pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) -echo $pass \n -echo $user +echo $pass echo $user #( echo $pass; echo $pass ) | while read |
#./uuu
z3uDpwMi echo aaron |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.8799.18648 2009-05-28 14:39:36.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:39:44.000000000 +0300 @@ -1,7 +1,7 @@ #!/bin/sh pass=$(cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 1) user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) -echo $pass echo $user +echo $pass; echo $user #( echo $pass; echo $pass ) | while read |
#vi /tmp/uuu
|
#+q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
tQmzqwQX aaron |
#./uuu
aVb3sEiD aaron |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.5224.19715 2009-05-28 14:40:01.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:41:12.000000000 +0300 @@ -3,6 +3,6 @@ user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) echo $pass; echo $user -#( echo $pass; echo $pass ) | while read +( echo $pass; echo $pass ) | passwd user |
#./uuu
kxQv5F2X aaron Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён |
#vi /tmp/uuu
--- /tmp/l3-saved-19552.27194.11752 2009-05-28 14:41:20.000000000 +0300 +++ /tmp/uuu 2009-05-28 14:42:42.000000000 +0300 @@ -3,6 +3,9 @@ user=$(zcat /usr/share/dict/propernames.gz | head -n 1 | tr A-Z a-z) echo $pass; echo $user -( echo $pass; echo $pass ) | passwd user +while read user +do +( echo $pass; echo $pass ) | passwd $user +done |
#./uuu
tRIcyQG9 aaron ^C |
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 sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin messagebus:x:102:104::/var/run/dbus:/bin/false polkituser:x:103:105:PolicyKit,,,:/var/run/PolicyKit:/bin/false haldaemon:x:104:106:Hardware abstraction layer,,,:/var/run/hald:/bin/false gdm:x:105:107:Gnome Display Manager:/var/lib/gdm:/bin/false user:x:1000:1000::/home/user:/bin/bash Debian-exim:x:106:108::/var/spool/exim4:/bin/false user=aaron:x:1001:1001::/home/user=aaron:/bin/sh
200passw 200users
elo6fjVU elo6fjVU elo6fjVU KJPxYL1t KJPxYL1t KJPxYL1t
Время первой команды журнала | 18:32:13 2009- 5-27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 14:42:42 2009- 5-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 17.82 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.70 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.99 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования этих команд < 0.5% | pwgen1 , 200users1 , +q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b311 , wile1 , !1 , wc1 , strace1 , pro1 , l3-agent1 , str1 , tail1 , less1 , #(echo1 , exit1 , which1 , setxkbmap1 , adduser1 , !e1 |
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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