сеть на линуксе. Алексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77
Скачать 7.49 Mb.
|
RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd echo return $RETVAL } stop() { # Процедура остановки echo -n $"Останавливается $prog: " # killproc dhcpd killproc /usr/sbin/dhcpdRETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dhcpd echo return $RETVAL } #Процедура перезапуска restart() { stop start } # Выбор необходимой процедуры из start-stop-restart-reload-status case "$1" in start) start ;; stop) stop Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 147 ;; restart|reload) restart ;; status) status /usr/sbin/dhcpd ;; *) echo $"Usage: $0 {start|stop|restart|reload|status}" exit 1 esac exit $? 9.2. Ïîëüçîâàòåëè, ãðóïïû, ó÷åòíûå çàïèñè Пользователей, а точнее их учетные записи, в Linux можно разделить на три категории: Учетная запись суперпользователя (root) — обладает неограниченными правами в системе и может удалить любой файл, остановить или запус- тить любой процесс, останавливать систему и др. К работе с этой учет- ной записью надо подходить очень осторожно и ответственно. Пользо- ваться учетной записью суперпользователя нужно только, если это действительно необходимо. Вообще лучше для решения отдельных за- дач, таких как создание учетных записей, управление теми или иными файлами, каталогами и другими задачами администрирования создавать отдельные учетные записи. Учетные записи обычных пользователей — например, для менеджера из отдела продаж или секретаря. Основное отличие их от root — в правах. Как правило, это ограниченный набор прав на доступ к тому или иному каталогу, процессу. Предоставление обычному пользователю лишних привилегий может выйти боком по понятным причинам. Системные учетные записи — не принадлежат реальным людям, а отно- сятся к системным процессам. Характерной особенностью является от- сутствие паролей, поскольку они не предназначены для регистрации в системе. Правильное управление учетными записями и разграничение прав доступа является залогом безопасности системы и вашего спокойного сна. 148 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Для удобства администрирования пользователи объединяются в группы. Группа — это объединение нескольких пользователей для решения опреде- ленной задачи. Ключевым при рассмотрении пользователей и их учетных записей является файл /etc/passwd. Это обычный текстовый файл. Он доступен для чтения лю- бому пользователю. Примерный вид этого файла приведен в листинге 9.3. Ëèñòèíã 9.3 Ôàéë /etc/passwd (ñîêðàùåííûé) root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/var/spool/news: gdm:x:42:42::/var/gdm:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/bin/false ident:x:98:98:pident user:/:/sbin/nologin postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash radvd:x:75:75:radvd user:/:/bin/false squid:x:23:23::/var/spool/squid:/dev/null vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin firebird:x:184:184:Firebird Database Administra- tor:/opt/interbase:/dev/null mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash sapdb:x:500:500:SAPDB demo user:/home/sapdb:/bin/bash postfix:x:89:89::/var/spool/postfix:/bin/true amanda:x:33:6:Amanda user:/var/lib/amanda:/bin/bash aspseek:x:93:93::/var/aspseek:/bin/bash jabber:x:52:2:Jabber Server:/var/spool/jabber:/bin/bash mailman:x:41:41:GNU Mailing List Manager:/var/mailman:/bin/false Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 149 netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false popa3d:x:84:84::/dev/null:/dev/null pvm:x:24:24::/usr/share/pvm3:/bin/bash user:x:501:501::/home/user:/bin/bash Каждая строка этого файла соответствует определенному пользователю. Строка состоит из полей, разделенных символом двоеточия. Назначение каждого поля зафиксировано (табл. 9.4). Òàáëèöà 9.4. Ñòðóêòóðà ó÷åòíîé çàïèñè â ôàéëå /etc/fstab Íîìåð ïîëÿ â ñòðîêå Íàçíà÷åíèå ïîëÿ 1 Èìÿ ó÷åòíîé çàïèñè 2 Ðàíüøå çäåñü õðàíèëñÿ ïàðîëü, íî ñåé÷àñ â áîëüøèíñòâå ñèñòåì èñ- ïîëüçóåòñÿ ñèñòåìà òåíåâûõ ïàðîëåé. Òåíåâûå ïàðîëè õðàíÿòñÿ â ôàé- ëå /etc/shadow. Ïîýòîìó âî âòîðîì ïîëå ñêîðåå âñåãî áóäåò х. Ýòî, ñîá- ñòâåííî, è ãîâîðèò î òîì, ÷òî èñïîëüçóåòñÿ ñèñòåìà òåíåâûõ ïàðîëåé 3 Çäåñü íàõîäèòñÿ èäåíòèôèêàòîð ïîëüçîâàòåëÿ (UID, User ID) 4  ýòîì ïîëå íàõîäèòñÿ èäåíòèôèêàòîð ãðóïïû ïîëüçîâàòåëÿ ïî óìîë- ÷àíèþ GID (Group ID). Ïîëüçîâàòåëü ìîæåò ïðèíàäëåæàòü áîëåå, ÷åì ê îäíîé ãðóïïå. Èíôîðìàöèÿ î òîì, â êàêèõ ãðóïïàõ ÷èñëèòñÿ ïîëüçîâà- òåëü, ñîäåðæèòñÿ â ôàéëå /etc/group 5 Ïîëå äëÿ êîììåíòàðèÿ, çäåñü õðàíèòñÿ ïîëíîå èìÿ ïîëüçîâàòåëÿ, êîí- òàêòíûå òåëåôîíû è ïð. 6 Êàòàëîã, ãäå îêàæåòñÿ ïîëüçîâàòåëü ïîñëå ðåãèñòðàöèè 7 Îáîëî÷êà ïî óìîë÷àíèþ В большинстве систем используется система теневых паролей, в этом слу- чае пароли хранятся в файле /etc/shadow. Причина в том, что файл /etc/passwd доступен для чтения любому пользователю. То есть получается, что можно считать пароль в зашифрованном виде. Конечно, дешифровать его не получится, так как используются специальные алгоритмы. Но мож- но подобрать пароль методом прямого перебора. Для исключения этого зашифрованный пароль был перенесен из файла /etc/passwd в файл /etc/shadow (листинг 9.4). 150 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ëèñòèíã 9.4. Ñîäåðæèìîå ôàéëà /etc/shadow root:$1$uTZ5$989pmoMOjzMcYTJhs/T1u1:12302:0:99999:7::: bin:*:12302:0:99999:7::: daemon:*:12302:0:99999:7::: adm:*:12302:0:99999:7::: lp:*:12302:0:99999:7::: sync:*:12302:0:99999:7::: shutdown:*:12302:0:99999:7::: halt:*:12302:0:99999:7::: mail:*:12302:0:99999:7::: news:*:12302:0:99999:7::: gdm:!!:12302:0:99999:7::: rpcuser:!!:12302:0:99999:7::: nfsnobody:!!:12302:0:99999:7::: nscd:!!:12302:0:99999:7::: ident:!!:12302:0:99999:7::: postgres:!!:12302:0:99999:7::: radvd:!!:12302:0:99999:7::: squid:!!:12302:0:99999:7::: vcsa:!!:12766:0:99999:7::: firebird:!!:12766:0:99999:7::: mysql:!!:12766:0:99999:7::: sapdb:SARW90n3cnWxc:12766:0:99999:7::: postfix:!!:12766:0:99999:7::: amanda:!!:12766:0:99999:7::: aspseek:!!:12766:0:99999:7::: jabber:!!:12766:0:99999:7::: mailman:!!:12766:0:99999:7::: netdump:!!:12766:0:99999:7::: ldap:!!:12766:0:99999:7::: popa3d:!!:12766:0:99999:7::: pvm:!!:12766:0:99999:7::: user:$1$32cz$vUCsWQWyVFWdt6XjZwwL99:12766:0:99999:7::: Как и в случае с файлом /etc/passwd, в файле /etc/shadow каждой учетной записи соответствует отдельная строка. Строка состоит из полей разделен- ных знаком двоеточия, назначение каждого поля зафиксировано (табл. 9.5). Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 151 Òàáëèöà 9.5. Íàçíà÷åíèå ïîëåé â ôàéëå /etc/shadow Íîìåð ïîëÿ â ñòðîêå Íàçíà÷åíèå ïîëÿ 1 Èìÿ ó÷åòíîé çàïèñè ñîîòâåòñòâóåò èìåíè ó÷åòíîé çàïèñè èç ôàéëîâ /etc/passwd.  ýòîì ñëó÷àå èìÿ ñâÿçûâàåò ýòè äâå ñòðî÷êè â ðàçíûõ ôàéëàõ 2  ýòîì ïîëå ñîäåðæèòñÿ ïàðîëü â çàøèôðîâàííîì âèäå 3 Äàòà ïîñëåäíåãî èçìåíåíèÿ ïàðîëÿ 4 Ìèíèìàëüíûé ïåðèîä ìåæäó èçìåíåíèÿìè ïàðîëÿ 5 Ìàêñèìàëüíûé ïåðèîä äî èçìåíåíèÿ ïàðîëÿ (åñëè –1, ïàðîëü ìîæåò íå èçìåíÿòüñÿ) 6 Ïåðèîä äî îêîí÷àíèÿ ñðîêà äåéñòâèÿ ïàðîëÿ, â òå÷åíèå êîòîðîãî áóäåò âûäàâàòüñÿ ïðåäóïðåæäåíèå ïîëüçîâàòåëþ 7 Ïåðèîä, ïî èñòå÷åíèè êîòîðîãî ó÷åòíàÿ çàïèñü, åñëè íå èçìåíèòü ïà- ðîëü, áóäåò çàáëîêèðîâàíà 8 Ñðîê äåéñòâèÿ ó÷åòíîé çàïèñè, êîãäà çàïèñü áóäåò çàáëîêèðîâàíà. Åñëè ïîëå ïóñòîå, òî ó÷åòíàÿ çàïèñü âñåãäà àêòèâíà 9 Çàðåçåðâèðîâàííîå ïîëå Поскольку пользователь может принадлежать к нескольким группам, а в файле /etc/passwd значится только группа по умолчанию, то возникает во- прос, где хранится информация о группах. Ответ прост — в файле /etc/group (листинг 9.5). Ëèñòèíã 9.5. Ñòðóêòóðà ôàéëà /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: 152 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè kmem:x:9: wheel:x:10:root mail:x:12:mail,postfix news:x:13:news ntp:x:38: rpc:x:32: gdm:x:42: rpcuser:x:29: nfsnobody:x:65534: nscd:x:28: ident:x:98: postgres:x:26: radvd:x:75: squid:x:23: wine:x:101: vcsa:x:69: firebird:x:184: mysql:x:27: sapdb:x:500: postdrop:x:90: postfix:x:89: aspseek:x:93: ccache:x:11: haclient:x:60: pppusers:x:44: popusers:x:45: slipusers:x:46: mailman:x:41: netdump:x:34: ldap:x:55: popa3d:x:84: pvm:x:24: user:x:501: Каждая строка файла /etc/group соответствует отдельной группе. Назначе- ние полей описано в табл. 9.6. Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 153 Òàáëèöà 9.6. Íàçíà÷åíèå ïîëåé â ôàéëå /etc/group Íîìåð ïîëÿ â ñòðîêå Íàçíà÷åíèå ïîëÿ 1 Èìÿ ãðóïïû 2 Ïîëå ïàðîëÿ ãðóïïû, êàê ïðàâèëî, íå èñïîëüçóåòñÿ 3 Èäåíòèôèêàòîð ãðóïïû. Èìåííî ýòîò èäåíòèôèêàòîð õðàíèòñÿ â ïîëå ãðóïïû ïî óìîë÷àíèþ. Åñëè â /etc/passwd ïîëüçîâàòåëü ÿâëÿåòñÿ ÷ëåíîì ãðóïïû, à â /etc/group íåò, òî ãðóïïå îí ïðèíàäëåæèò âñå ðàâíî 4 Ñïèñîê ïîëüçîâàòåëåé, âõîäÿùèõ â ãðóïïó. Ïîëüçîâàòåëè ïåðå÷èñëÿþòñÿ ÷åðåç çàïÿòóþ, áåç ïðîáåëîâ 9.3. Óïðàâëåíèå ó÷åòíûìè çàïèñÿìè Äîáàâëåíèå íîâîãî ïîëüçîâàòåëÿ Добавление нового пользователя может быть осуществлено либо из команд- ной строки, либо с использованием утилиты администрирования Webmin, либо путем непосредственного редактирования файлов (последним лучше не заниматься без особой нужды). Рассмотрим добавление пользователя командой useradd Наиболее употребительные ключи команды представлены в табл. 9.7. Òàáëèöà 9.7. Êëþ÷è êîìàíäû useradd Êëþ÷ Íàçíà÷åíèå -d Äëÿ íîâîãî ïîëüçîâàòåëÿ áóäåò ñîçäàí äîìàøíèé êàòàëîã. Ïî óìîë÷àíèþ ñèñòåìà äîáàâëÿåò èìÿ ïîëüçîâàòåëÿ ê äîìàøíåìó êàòàëîãó ïî óìîë÷àíèþ -e Äàòà, êîãäà ó÷åòíàÿ çàïèñü ïîëüçîâàòåëÿ áóäåò îòêëþ÷åíà. Óêàçûâàåòñÿ â ôîðìàòå ÃÃÃÃ-ÌÌ-ÄÄ -f ×åðåç ñòîëüêî äíåé ïîñëå èñòå÷åíèÿ ñðîêà äåéñòâèÿ ïàðîëÿ ó÷åòíàÿ çàïèñü ïîëüçîâàòåëÿ áóäåò íàâñåãäà îòêëþ÷åíà. Çíà÷åíèå 0 îòêëþ÷àåò èñïîëüçî- âàíèå ó÷åòíîé çàïèñè ñðàçó ïîñëå îêîí÷àíèÿ äåéñòâèÿ ïàðîëÿ, à çíà÷åíèå –1 îòêëþ÷àåò âñå îïèñàííûå òóò âîçìîæíîñòè. Ïî óìîë÷àíèþ óñòàíàâëèâà- åòñÿ â –1 -g Èìÿ ñóùåñòâóþùåé ãðóïïû èëè íîìåð ãðóïïû ïîëüçîâàòåëÿ. Èìÿ ãðóïïû äîëæíî ñóùåñòâîâàòü. Íîìåð ãðóïïû äîëæåí ñîîòâåòñòâîâàòü óæå ñóùåñò- âóþùåé ãðóïïå. Ïî óìîë÷àíèþ íîìåð ãðóïïû óñòàíàâëèâàåòñÿ â 1 154 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 9.7 (îêîí÷àíèå) Êëþ÷ Íàçíà÷åíèå -G Ñïèñîê äîïîëíèòåëüíûõ ãðóïï, ÷ëåíîì êîòîðûõ ÿâëÿåòñÿ ïîëüçîâàòåëü. Ãðóïïû ðàçäåëÿþòñÿ çàïÿòûìè, ïðîáåëû è ïðîïóñêè çàïðåùåíû. Îãðàíè÷å- íèÿ äëÿ ãðóïï òóò òàêèå æå, êàê è äëÿ ãðóïï â ïàðàìåòðå -g. Ïî óìîë÷àíèþ ïîëüçîâàòåëü ïðèíàäëåæèò òîëüêî ê íà÷àëüíîé ãðóïïå -n Ïî óìîë÷àíèþ âìåñòå ñ ñîçäàíèåì ïîëüçîâàòåëÿ ñîçäàåòñÿ ãðóïïà ñ òàêèì æå èìåíåì. Äàííûé êëþ÷ îòêëþ÷àåò ýòó ñïåöèôè÷åñêóþ äëÿ Red Hat îñî- áåííîñòü -r Ýòîò ïàðàìåòð èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ñèñòåìíûõ ó÷åòíûõ çàïèñåé, òî åñòü ïîëüçîâàòåëÿ ñ èäåíòèôèêàòîðîì ìåíüøèì, ÷åì ìèíèìàëüíûé èäåí- òèôèêàòîð UID_MIN, îïðåäåëåííûé â ôàéëå /etc/login.defs. Çàìåòèì, ÷òî useradd íå ñîçäàñò äîìàøíèé êàòàëîã äëÿ òàêîãî ïîëüçîâàòåëÿ, äàæå åñëè ýòî îïðåäåëåíî â ôàéëå íàñòðîåê /etc/login.defs. Âàì íåîáõîäèìî óêà- çàòü -m, åñëè õîòèòå ñîçäàòü äîìàøíèé êàòàëîã äëÿ ñèñòåìíîé ó÷åòíîé çà- ïèñè -p Øèôðîâàííûé ïàðîëü ïîëüçîâàòåëÿ, âîçâðàùàåìûé crypt èëè ãåíåðàòî- ðîì ïàðîëåé MD5. Ïî óìîë÷àíèþ ó÷åòíàÿ çàïèñü îòêëþ÷åíà -s Èìÿ îáîëî÷êè âõîäà ïîëüçîâàòåëÿ. Ïî óìîë÷àíèþ ýòî ïîëå îñòàåòñÿ ïóñ- òûì, ÷òî óêàçûâàåò ñèñòåìå óñòàíàâëèâàòü îáîëî÷êó ïî óìîë÷àíèþ Допустим, нам необходимо ввести пользователя с именем user_01 , входя- щим в группу group_01 (основная). Для добавления нового пользователя необходимо ввести команду #useradd —c “My first User number 01”—g group_01 user_01 Здесь мы создаем пользователя user_01 . Группа group_01 должна уже суще- ствовать. В поле комментария записываем “My first User number 01” Если вы хотите при этом создать группу, то строка должна быть #useradd—c “My first User number 01”—g `groupadd group_01` gser_01 Посмотрим теперь, как те же действия можно выполнить при помощи ути- литы Webmin. Утилита Webmin работает только в графическом режиме. Для входа в режим наберите с клавиатуры: startx Webmin по умолчанию работает через порт 10 000. Выяснить, запущена ли утилита Webmin, можно командой netstat –ln Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 155 Если в списке процессов появятся строки, связанные с портом 10 000, то значит утилита работает. Запомните адрес, с которым связана эта утилита (рис. 9.1). Строка 0.0.0.0 означает любой адрес. Однако на деле надо вводить либо IP-адрес сервера, либо (если вы работаете с сервера) можно ввести: 127.0.0.1 Ðèñ. 9.1. Çàïóñê netstat Ðèñ. 9.2. Çàïóñê áðàóçåðà 156 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Теперь запускаем браузер и, если вы следовали указанным инструкциям, это будет Mozilla. На рис. 9.2 приведен пример запуска. В адресной строке набираем IP-адрес вашего сервера. Теперь нажимаем Появится окно, как на рис. 9.3. В нем необходимо ввести имя пользователя (в данном случае root) и пароль. Ðèñ. 9.3. Àâòîðèçàöèÿ â Webmin После авторизации перед вами появится главное окно Webmin. Для удобст- ва правую панель лучше закрыть, тогда перед вами появится следующее ок- но, представленное на рис. 9.4. Последовательно выбираем вкладку System, пункт Users and Groups. Мы оказались в окне Users and Groups. Здесь отображаются таблица пользо- вателей и таблица групп. Для создания или удаления пользователей и групп предназначены специальные ссылки. Они находятся вверху и внизу табли- цы. Выбираем ссылку Create a new user, в открывшемся окне заполняем не- обходимые поля (рис. 9.5). Их названия говорят сами за себя. Осталось нажать кнопку Сreate. Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 157 Ðèñ. 9.4. Ãëàâíîå îêíî Webmin Ðèñ. 9.5. Ñîçäàíèå íîâîãî ïîëüçîâàòåëÿ 158 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Новый пользователь добавлен в систему. Теперь рассмотрим, как можно модифицировать нашего пользователя. Ìîäèôèêàöèÿ ñóùåñòâóþùåãî ïîëüçîâàòåëÿ Модифицировать существующего пользователя можно так же, как и в пре- дыдущем случае тремя способами: либо из командной строки, либо с ис- пользованием утилиты администрирования Webmin, либо путем непосред- ственного редактирования файлов (опять же, последним лучше не заниматься без особой нужды). Изменить существующего пользователя можно при помощи команды user- mod . Наиболее употребительные ключи команды представлены в табл. 9.8. Òàáëèöà 9.8. Êëþ÷è êîìàíäû usermod Êëþ÷ Íàçíà÷åíèå -d Íîâûé äîìàøíèé êàòàëîã ïîëüçîâàòåëÿ. Åñëè óêàçàí êëþ÷ -m, òî âñå ñî- äåðæèìîå òåêóùåãî êàòàëîãà ïîëüçîâàòåëÿ ïåðåìåùàåòñÿ â íîâûé êàòàëîã (åñëè åãî íå ñóùåñòâóåò, òî îí áóäåò ñîçäàí) -e Äàòà, êîãäà ó÷åòíàÿ çàïèñü ïîëüçîâàòåëÿ áóäåò îòêëþ÷åíà. Óêàçûâàåòñÿ â ôîðìàòå ÃÃÃÃ-ÌÌ-ÄÄ -f Èíòåðâàë ïîñëå èñòå÷åíèÿ ñðîêà äåéñòâèÿ ïàðîëÿ. Çíà÷åíèå 0 îòêëþ÷àåò èñïîëüçîâàíèå ó÷åòíîé çàïèñè ñðàçó ïîñëå îêîí÷àíèÿ äåéñòâèÿ ïàðîëÿ, à çíà÷åíèå –1 îòêëþ÷àåò âñå îïèñàííûå ðàíåå âîçìîæíîñòè -g Èìÿ ñóùåñòâóþùåé ãðóïïû èëè íîìåð íîâîé ãðóïïû ïîëüçîâàòåëÿ. Èìÿ ãðóïïû äîëæíî ñóùåñòâîâàòü. Íîìåð ãðóïïû äîëæåí ñîîòâåòñòâîâàòü óæå ñóùåñòâó- þùåé ãðóïïå. Ïî óìîë÷àíèþ íîìåð ãðóïïû óñòàíàâëèâàåòñÿ â 1 -G Ñïèñîê äîïîëíèòåëüíûõ ãðóïï, ÷ëåíîì êîòîðûõ ÿâëÿåòñÿ ïîëüçîâàòåëü. Ãðóïïû ðàçäåëÿþòñÿ çàïÿòûìè, ïðîáåëû çàïðåùåíû. Îãðàíè÷åíèÿ äëÿ ãðóïï òóò òàêèå æå, êàê è äëÿ ãðóïï â ïàðàìåòðå -g. Åñëè ïîëüçîâàòåëü ÿâ- ëÿëñÿ ïîëüçîâàòåëåì ãðóïïû, íå ïåðå÷èñëåííîé òóò, òî îí áóäåò óäàëåí èç ýòîé ãðóïïû -l Èìÿ ïîëüçîâàòåëÿ áóäåò èçìåíåíî íà íîâîå. Áîëüøå íè÷åãî íå äîëæíî èç- ìåíÿòüñÿ. Íî, âèäèìî, áóäåò èçìåíåíî èìÿ äîìàøíåãî êàòàëîãà ïîëüçîâà- òåëÿ â ñîîòâåòñòâèè ñ åãî íîâûì èìåíåì -p Íîâûé øèôðîâàííûé ïàðîëü ïîëüçîâàòåëÿ, âîçâðàùàåìûé îò crypt(3) Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 159 Òàáëèöà 9.8 (îêîí÷àíèå) Êëþ÷ Íàçíà÷åíèå -s Èìÿ íîâîé îáîëî÷êè âõîäà ïîëüçîâàòåëÿ. Ñáðîñ ýòîãî ïîëÿ â ïóñòîå çíà÷å- íèå óñòàíîâèò îáîëî÷êó, îïðåäåëåííóþ ïî óìîë÷àíèþ â ñèñòåìå -u ×èñëîâîå çíà÷åíèå èäåíòèôèêàòîðà ïîëüçîâàòåëÿ. Ýòî çíà÷åíèå äîëæíî áûòü óíèêàëüíûì, åñëè òîëüêî íå èñïîëüçóåòñÿ ïàðàìåòð -o. Çíà÷åíèå äîëæíî áûòü íåîòðèöàòåëüíûì. Çíà÷åíèÿ ìåæäó 0 è 99 îáû÷íî ðåçåðâèðó- þòñÿ äëÿ ñèñòåìû. Âñå ôàéëû, âëàäåëüöàìè êîòîðûõ ÿâëÿåòñÿ ïîëüçîâà- òåëü, ðàñïîëîæåííûå â äîìàøíåì êàòàëîãå ïîëüçîâàòåëÿ, àâòîìàòè÷åñêè ïîìåíÿþò èäåíòèôèêàòîð âëàäåëüöà. Ó ôàéëîâ âíå äîìàøíåãî êàòàëîãà íåîáõîäèìî ñìåíèòü âëàäåëüöà âðó÷íóþ -L Áëîêèðóåò ïàðîëü ïîëüçîâàòåëÿ. Ïåðåä çàøèôðîâàííûì ïàðîëåì ïîìå- ùàåòñÿ ñèìâîë !. Ýòîò êëþ÷ íåëüçÿ èñïîëüçîâàòü âìåñòå ñ êëþ÷àìè -p èëè -U -U Ñíèìàåò áëîêèðîâêó ïàðîëÿ ïîëüçîâàòåëÿ. Óáèðàåò ñèìâîë ! ïåðåä ïàðî- ëåì. Íåëüçÿ èñïîëüçîâàòü ýòîò ïàðàìåòð âìåñòå ñ ïàðàìåòðàìè -p èëè -L Рассмотрим пример: # usermod—c “Modify string”—g group_02 user_01 В этом случае мы заменили у пользователя user_01 комментарий на “Modi- fy string” и группу по умолчанию на group_02 Выполним те же действия при помощи Webmin. 1. Запуск утилиты осуществляем, как и в предыдущем примере. 2. После открытия главного окна программы выбираем на вкладке System пункт Users and Groups. 3. В окне Users and Groups отображаются таблица пользователей и таблица групп. Находим там строку user_01 и щелкаем по ней мышью — открывается окно редактирования пользователя (рис. 9.6). 4. В нем исправляем необходимые поля. Данные будут модифицированы, а вы снова попадете в список пользовате- лей и групп. 160 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 9.6. Ìîäèôèêàöèÿ ñóùåñòâóþùåãî ïîëüçîâàòåëÿ Óäàëåíèå ïîëüçîâàòåëÿ Для удаления пользователя существует команда userdel . Команда userdel удаляет все ссылки на учетную запись из файлов /etc/passwd, /etc/shadow, /etc/usergroup. Каталог пользователя по умолчанию не уничтожается. Синтаксис команды: userdel [-r] имя_пользователя Команда userdel изменяет системные файлы учетных записей, удаляя все эле- менты, связанные с именем пользователя. Указанный пользователь должен су- ществовать. Ключ -r означает, что файлы в домашнем каталоге пользователя будут удалены вместе с самим каталогом и почтовым спулером. Файлы других файловых систем должны быть обнаружены и удалены вручную. Допустим, нам необходимо удалить пользователя user_01 , тогда выполним #userdel –r user_01 Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 161 Пользователь будет удален из системы. Рассмотрим выполнение удаления в Webmin. 1. В главном окне на вкладке System выбираем Users and Groups. Появится уже знакомое нам окно со списком пользователей и групп. 2. Щелкнув мышью по имени пользователя (user_01), мы попадаем в окно редактирования пользователя. 3. Спускаемся при помощи полосы прокрутки в самый низ (рис. 9.7). Ðèñ. 9.7. Óäàëåíèå ïîëüçîâàòåëÿ 4. Теперь щелкнем по кнопке Delete на экране. Появится окно с двумя кнопками: • Delete User (Удалить пользователя); • Delete User and Home Directory (Удалить пользователя и домашнюю директорию). 5. Нажимаем Delete User and Home Directory. Пользователь удален. Оста- лось только вернуться на заглавную страницу, щелкнув в правом верхнем углу окна Webmin Index. 162 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè 9.3. Ïðîöåññû. Óïðàâëåíèå ïðîöåññàìè. Îñòàíîâ ñèñòåìû Îáùàÿ õàðàêòåðèñòèêà ïðîöåññîâ Процессом называется выполняющаяся программа. Все процессы: и сис- темные, и прикладные — управляются одинаковыми командами. В текущий момент времени системой может выполняться только один про- цесс. Однако операционная система переключается между процессами, пре- доставляя им по очереди свои ресурсы, в результате получается многозадач- ная операционная система. В Linux существует три вида процессов: системные процессы (процесс init); процессы-демоны, выполняющиеся в фоновом режиме. В отлаженной системе демоны обычно запускаются при загрузке операционной систе- мы и обеспечивают работу печати, http-сервис, samba-сервис; прикладные процессы. Рассмотрим ряд характеристик процесса (табл. 9.9). Òàáëèöà 9.9. Íåêîòîðûå õàðàêòåðèñòèêè ïðîöåññîâ Õàðàêòå- ðèñòèêà Êîììåíòàðèé PID (Process ID) Èäåíòèôèêàòîð ïðîöåññà, íàçíà÷åííûé åìó ÿäðîì îïåðàöèîííîé ñèñòåìû ïî ïîðÿäêó. Ïîñëå çàâåðøåíèÿ ïðîöåññà åãî èäåíòèôèêà- òîð âûñâîáîæäàåòñÿ è ìîæåò áûòü ïðèñâîåí äðóãîìó ïðîöåññó PPID (Parent Process ID) Èäåíòèôèêàòîð ïðîöåññà, ïîðîäèâøåãî äàííûé ïðîöåññ. Èñõîäíûé ïðîöåññ íàçûâàåòñÿ ðîäèòåëåì, à ïîðîæäåííûé ïðîöåññ äî÷åðíèì ïðîöåññîì UID (User ID) Èäåíòèôèêàòîð ïîëüçîâàòåëÿ, çàïóñòèâøåãî äàííûé ïðîöåññ EUID (Effective UID) Ýôôåêòèâíûé èäåíòèôèêàòîð ïîëüçîâàòåëÿ ñëóæèò äëÿ îïðåäåëå- íèÿ ïðàâ äîñòóïà äàííîãî ïðîöåññà ê ñèñòåìíûì ðåñóðñàì. Ó áîëü- øèíñòâà ïðîöåññîâ UID è EUID ñîâïàäàþò GID (Group ID) Èäåíòèôèêàòîð ãðóïïû ïîëüçîâàòåëÿ, ïîðîäèâøåãî ïðîöåññ EGID (Effective GID) Ýôôåêòèâíûé èäåíòèôèêàòîð ãðóïïû ïîëüçîâàòåëÿ ñëóæèò äëÿ îï- ðåäåëåíèÿ ïðàâ äîñòóïà äàííîãî ïðîöåññà ê ñèñòåìíûì ðåñóðñàì Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 163 Важным является и понятие контекста процесса — это вся информация, необходимая для описания процесса: адресное пространство процесса (код, данные, стек процесса и другие области памяти, имеющие отношение к процессу); управляющая информация (тип управляющей структуры процесса); среда процесса (переменные среды, значения которых задаются непо- средственно или наследуются от родителя); аппаратный контекст (значение регистров процесса). Переключение между процессами, по сути, сводится к переключению меж- ду контекстами. В ходе своего жизненного цикла процесс может находиться в одном из че- тырех состояний: 1. Выполнение — процесс выполняется и периодически получает доступ к системным ресурсам. 2. Ожидание выделения ресурсов системы — процесс переходит в это со- стояние, если он не может завершиться немедленно. Тогда процесс пере- ходит в состояние ожидания и ждет наступления определенного события. Ресурсы данному процессу выделяются только после его пробуждения. 3. Зомби — в это состояние процесс переходит после выполнения команды exit . По сути, этого процесса уже не существует, но остаются записи, содержащие сведения о нем, и информация о завершении еще не посту- пила к породившему его процессу. 4. Останов — состояние аналогично ожиданию, однако выход из состояния останова возможен только с помощью другого процесса. Процесс входит в режим останова по команде STOP . Для того чтобы процесс восстановил работу, необходимо послать команду CONT Ïîëó÷åíèå èíôîðìàöèè î ïðîöåññàõ Если говорить о командной строке, то команда ps является основным инст- рументом для получения информации о процессе. Она выдает информацию об идентификаторах, приоритете, объеме памяти, затратах времени цен- трального процессора. Команда ps может выполняться с ключами (табл. 9.10). Òàáëèöà 9.10. Êëþ÷è êîìàíäû ps Êëþ÷ Çíà÷åíèå a Èíôîðìàöèÿ îáî âñåõ ïðîöåññàõ â òåðìèíàëå x Èíôîðìàöèÿ î ïðîöåññàõ çà òåêóùèì òåðìèíàëîì u Âûäàâàòü èíôîðìàöèþ â ôîðìàòå, îðèåíòèðîâàííîì íà ïîëüçîâàòåëÿ 164 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 9.10 (îêîí÷àíèå) Êëþ÷ Çíà÷åíèå -u Âûäàâàòü èíôîðìàöèþ òîëüêî ïî âûáðàííîìó ïîëüçîâàòåëþ -t Âûäàâàòü èíôîðìàöèþ ïî ïðîöåññàì, èìåþùèì îòíîøåíèå ê óêàçàííî- ìó òåðìèíàëó -g Âûäàâàòü èíôîðìàöèþ òîëüêî ïî îïðåäåëåííîé ãðóïïå -e Ïðåäîñòàâëÿòü èíôîðìàöèþ îáî âñåõ ïðîöåññàõ -l Âûäàåò äëèííûé ëèñòèíã -f Âûäàåò ïîëíûé ëèñòèíã Для просмотра всех процессов в системе можно воспользоваться командой: ps aux Ðèñ. 9.8. Ïîëó÷åíèå èíôîðìàöèè î ïðîöåññàõ Как видим, команда ps выдает свой отчет в виде таблицы (рис. 9.8). Каждо- му процессу соответствует отдельная строка. В самой верхней строке распи- саны значения полей, которые выдает эта команда. Раскроем некоторые из них (табл. 9.11). Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 165 Òàáëèöà 9.11. Îñíîâíûå õàðàêòåðèñòèêè ïîëåé Ïîëå Çíà÷åíèå %CPU Ïðîöåíò çàãðóçêè CPU %MEM Ïðîöåíò èñïîëüçîâàíèÿ ïàìÿòè Ñ Äîëÿ âûäåëåííîãî ïëàíèðîâùèêîì âðåìåíè PID Èäåíòèôèêàòîð ïðîöåññà PPID Èäåíòèôèêàòîð ðîäèòåëüñêîãî ïðîöåññà PRI Òåêóùèé ïðèîðèòåò ïðîöåññà STIME Âðåìÿ çàïóñêà ïðîöåññà SZ Ðàçìåð îáðàçà ïðîöåññà â ïàìÿòè â áëîêàõ (1 áëîê = 512 áàéòîâ) TIME Âðåìÿ âûïîëíåíèÿ ïðîöåññà TTY Òåðìèíàë, â êîòîðîì âûïîëíÿåòñÿ ïðîöåññ UID Èäåíòèôèêàòîð âëàäåëüöà ïðîöåññà WCHAN Àäðåñ ñîáûòèÿ, êîòîðîãî îæèäàåò ïðîöåññ Для получения информации о процессах при помощи утилиты Webmin не- обходимо открыть вкладку System и выбрать Running Processes. Результатом будет окно, представленное на рис. 9.9. Ðèñ. 9.9. Èíôîðìàöèÿ î ïðîöåññàõ â óòèëèòå Webmin 166 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Если щелкнуть мышью по имени процесса, можно узнать о нем подробную информацию, а также изменить его параметры (рис. 9.10). Ðèñ. 9.10. Èíôîðìàöèÿ î ïðîöåññå è óïðàâëåíèå èì Óïðàâëåíèå ïðèîðèòåòîì ïðîöåññîâ Существует такое понятие, как фактор уступчивости процесса. Это число, по которому ядро определяет, как себя вести в отношении этого процесса. По сути, фактор уступчивости определяет приоритет процесса. Чем выше фактор уступчивости, тем ниже приоритет процесса, и наоборот. Фактор уступчивости может находиться в пределах –20 до + 20. По умолча- нию дочерний процесс наследует приоритет своего родителя. Владелец про- цесса может только увеличивать фактор уступчивости, то есть снижать прио- ритет процесса. Сделано это для того, чтобы избежать порождений процессов с высоким приоритетом выполнения. Только root может в пол- ной мере управлять уступчивостью того или иного процесса. Фактор уступ- чивости может быть установлен при создании процесса, это делается при помощи команды nice , команда renice изменяет приоритет текущего про- цесса. Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 167 Рассмотрим синтаксис команд: nice [параметр] [ команда [аргумент]]. Например: #nice [-][+]n –10 mc В этом примере мы повышаем приоритет процесса, так как уменьшаем его уступчивость. Без указания параметров команда выдает текущий приоритет работы. Для renice примером может служить renice +1 -u daemon root Здесь изменяем приоритет для всех процессов, владельцы которых root и daemon. Для изменения приоритета процесса в утилите Webmin выбираем вкладку System и пункт Running Processes (рис. 9.9). В окне щелкнем по интересую- щему нас процессу и, помимо необходимой информации, можем изменить уступчивость процесса (рис. 9.10). Óíè÷òîæåíèå ïðîöåññîâ Для уничтожения процессов используется команда kill . Рядовые пользова- тели могут уничтожать только порожденные ими процессы, суперпользова- тель (root) может убить любой процесс. Синтаксис команды kill : kill [сигнал] pid, где сигналы представлены в табл. 9.12. Òàáëèöà 9.12. Òàáëèöà ñèãíàëîâ Èìÿ íîìåð Îïèñàíèå HUP 1 Îòáîé INT 2 Ïðåðûâàíèå QUIT 3 Âûõîä KILL 9 Óíè÷òîæåíèå TERM 15 Çàïðîñ íà çàâåðøåíèå STOP – Îñòàíîâ CONT – Ïðîäîëæåíèå ïîñëå îñòàíîâà 168 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Большинство сигналов приводят к завершению процесса. Однако только KILL и STOP нельзя ни заблокировать, ни перехватить. Послать процессу необходимый сигнал или просто уничтожить его можно и при помощи утилиты Webmin. Для этого во вкладке System щелкнем по Running Processes, а в открывшемся окне — по интересующему нас процес- су. Результатом будет уже знакомое нам окно (рис. 9.11). Далее наши дейст- вия зависят от того, что мы хотим сделать. Если послать сигнал, то выбира- ем необходимый сигнал и нажимаем Send Signal, если убить процесс, то Kill Process. Ðèñ. 9.11. Óíè÷òîæåíèå ïðîöåññà â Webmin Îñòàíîâ ñèñòåìû Как и в других операционных системах, непосредственное выключение пи- тания, путем выдергивания шнура из розетки — не лучший вариант остано- ва системы. Это и понятно, однако в компьютерах с форм-фактором АТ нажатие кнопки на корпусе аналогично выдергиванию шнура из розетки. Конечно, в современных компьютерах с АТХ-блоками такого не прои- зойдет. Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 169 Причин, по которым не следует выключать компьютер непосредственно, множество: от чисто технических до особенностей реализации операцион- ной системы. В Linux реализовано кэширование работы с жесткими диска- ми. Это значит, что перед непосредственной записью на диск данные буфе- ризуются в памяти компьютера и сохраняются только в определенные моменты времени. Это позволяет сгладить неравномерность обращений к жесткому диску и повысить производительность его работы. Однако в слу- чае пропадания питания кэшируемые данные потеряются. Даже если данные принудительно сохранены, все равно такой способ — не лучшее решение проблемы. Существует несколько способов остановки системы: Команда shutdown — самый корректный и безопасный способ выклю- чения питания. Команде shutdown при помощи опций можно задать ряд параметров, определяющих ее поведение. Например, опция –r приведет к перезагрузке системы, а опция –h к ее остановке. Можно также задать задержку выключения и предусмотреть посылку пользователям уведом- ления о том, что система выключится через определенное время. Команда halt это полный аналог shutdown –h . Команда корректно за- канчивает все процессы и выключает компьютер. Нажатие трех волшебных кнопок 9.4. Ôàéëîâàÿ ñèñòåìà. Ñòðóêòóðà êàòàëîãîâ. Ðàáîòà ñ ôàéëàìè Ïîíÿòèå ôàéëîâîé ñèñòåìû Термин "файловая система" используется в двух значениях: физический (способ хранения информации); иерархическая (структура файлов и каталогов). Структура каталогов похожа на перевернутое дерево. Самым верхним ката- логом, от которого начинается файловая система, является корневой ката- лог (root directory). Обозначается он так символом /. В Linux есть несколько типов файловых систем, однако основными являют- ся системы Ext2 и Ext3. В табл. 9.13 приведены некоторые параметры Еxt2. 170 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 9.13. Ôàéëîâàÿ ñèñòåìà Åxt2 Ïàðàìåòð Çíà÷åíèå Ìàêñèìàëüíàÿ äëèíà èìåíè ôàéëà (ñèìâîëîâ) 255 Ìàêñèìàëüíûé ðàçìåð ôàéëà (Ãáàéò) 2 Ìàêñèìàëüíûé ðàçìåð ôàéëîâîé ñèñòåìû (Òáàéò) 4 Ìèíèìàëüíûé ðàçìåð áëîêà (áàéò) 1024 Каждый диск, физический или логический, имеет свою файловую систему, которая создается при разбиении диска на разделы (рис. 9.12). Ðèñ. 9.12. Ñòðóêòóðà ñèñòåìû Åxt2 Важным отличием Linux и Windows является форма представления дисково- го пространства. В Windows каждый логический или физический диск пред- стает пользователю в виде отдельного устройства. В Linux все дисковое про- странство, включающее в себя набор физических и логических дисков, представляется единым деревом. В Linux вы не найдете диска D:\, физиче- ский или логический диск просто обозначен определенным каталогом. Ìîíòèðîâàíèå è äåìîíòèðîâàíèå ôàéëîâîé ñèñòåìû Отдельная файловая система является либо логическим разделом диска, ли- бо физическим диском (отдельным винчестером). Изначально файловая Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 171 система недоступна для пользователей. Для того чтобы файловая система стала доступна, ее необходимо монтировать командой mount : Синтаксис команды mount : Пример монтирования: #mount /dev/hda2 /home Эта команда монтирует файловую систему диска hda2 (соглашение о на- именовании устройств смотри далее) к каталогу /home корневой файловой системы. При загрузке системы возможно автоматическое монтирование постоянно используемых файловых систем. Список автоматически монтируемых фай- ловых систем находится в файле /etc/fstab (листинг 9.6). Ëèñòèíã 9.6. Ôàéë /etc/fstab # /etc/fstab: static file system information. # # /dev/hda7 none swap sw 0 0 /dev/hda6 / ext2 defaults,errors=remount-ro 0 1 proc /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 none /dev/pts/ devpts gid=5,mode=620 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro,iocharset=koi8-r /dev/fd0 /mnt/floppy auto noauto,owner,kudzu,iocharset=koi8-r /dev/hda5 /mnt/Disk_D vfat iocharset=koi8-r,user,umask=0,auto 0 1 Путем редактирования этого файла можно добавлять файловые системы, которые будут монтироваться автоматически. Для того чтобы это правильно сделать, нужно разобраться с форматом файла /etc/fstab. Как видно, каждая файловая система представлена в нем отдельной строкой. Содержимое каждой строки состоит из полей, разделенных пробелами: имя устройства, которое мы монтируем; точка монтирования; тип файловой системы в этом разделе; опции монтирования, которые могут определять права доступа, тип ко- дировки и многое другое. 172 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Для того чтобы монтировать раздел с файловой системой Fat32 (используе- мой Windows) к файловой системе Linux, необходимо в файле /etc/fstab до- бавить строку вида /dev/hda1 /mnt/disk_c vfat iocharset=koi8-r,codepage=866,auto,user 0 0. Обратным монтированию является демонтирования. Выполняется демонти- рование при помощи команды unmount . Если файловая система занята, то есть находится в работе, то демонтировать ее невозможно. Синтаксис команды unmont следующий: umount [ -O опции] устройство точка_монтирования. Ñîãëàøåíèå îá èìåíîâàíèè óñòðîéñòâ В Linux приняты следующие правила именования носителей (табл. 9.14): Òàáëèöà 9.14. Ñîãëàøåíèå î íàèìåíîâàíèè ôèçè÷åñêèõ íîñèòåëåé â Linux Íàèìåíîâàíèå Êîììåíòàðèé hda Ïåðâûé äèñê íà ïåðâîì êàíàëå IDE (Master) hdb Âòîðîé äèñê íà ïåðâîì êàíàëå IDE (Slave) hdc Ïåðâûé äèñê íà âòîðîì êàíàëå IDE (Master) hdd Âòîðîé äèñê íà âòîðîì êàíàëå IDE (Slave) sda Ïåðâûé SCSI Как известно, физические диски могут быть разбиты на логические. То есть на жестком диске могут существовать основной и расширенный разделы. Логические диски в основном разделе нумеруются цифрами от 1 до 4. Ло- гические диски в расширенном разделе нумеруются цифрами от 5 и больше. Например, диск D:\ операционной системы Windows в Linux будет наиме- новаться как hda5. Оговоримся, что такое справедливо только если диск D — логический диск). Ñòðóêòóðà êàòàëîãîâ ôàéëîâîé ñèñòåìû Структура каталогов файловой системы Linux подчинена строгой иерархии, определено место каждого каталога, а также характер информации, находя- щейся в данном каталоге. Некоторые каталоги, исходя из целей безопасно- сти, могут быть оформлены в виде самостоятельной файловой системы. В табл. 9.15 приведены некоторые наиболее важные каталоги и характер их содержимого. Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 173 Òàáëèöà 9.15. Ñòðóêòóðà êàòàëîãîâ è èõ ñîäåðæèìîå Êàòàëîã Ñîäåðæèìîå / Êîðíåâîé êàòàëîã. Îñíîâà ôàéëîâîé ñèñòåìû /bin Íàõîäÿòñÿ ñèñòåìíûå è ïîëüçîâàòåëüñêèå óòèëèòû /boot ßäðî îïåðàöèîííîé ñèñòåìû, ìîãóò íàõîäèòüñÿ ôàéëû çàãðóç÷èêà /dev  ýòîì êàòàëîãå íàõîäÿòñÿ ôàéëû óñòðîéñòâ, ñâÿçàííûå ñ ôèçè÷å- ñêèìè óñòðîéñòâàìè. ×åðåç ýòè ôàéëû ÎÑ Linux ïîëó÷àåò äîñòóï ê ôèçè÷åñêèì óñòðîéñòâàì. Ïðåäñòàâëåíèå ëþáîãî ôèçè÷åñêîãî óñò- ðîéñòâà â êà÷åñòâå ôàéëà îáëåã÷àåò àäìèíèñòðèðîâàíèå ñèñòåìû /etc Ôàéëû çàïóñêà è êîíôèãóðàöèè ñèñòåìû /home  ýòîì êàòàëîãå õðàíÿòñÿ äàííûå ïîëüçîâàòåëåé. Äëÿ êàæäîãî ïîëüçîâàòåëÿ çäåñü ñîçäàí ñâîé ïîäêàòàëîã /lib  ýòîì êàòàëîãå õðàíÿòñÿ ñîâìåñòíî èñïîëüçóåìûå áèáëèîòåêè /lost+foud Èíîãäà â ôàéëîâîé ñèñòåìå ìîãóò âîçíèêàòü ñáîè. Ïîñëå âîññòà- íîâëåíèÿ åå ðàáîòîñïîñîáíîñòè ñþäà ïîïàäàþò ïîòåðÿííûå äàííûå /mnt Ýòîò êàòàëîã ïî óìîë÷àíèþ èñïîëüçóåòñÿ äëÿ ìîíòèðîâàíèÿ ôàé- ëîâûõ ñèñòåì. Íàïðèìåð, CD-ROM, ñêîðåå âñåãî, áóäåò ìîíòèðîâàí â êàòàëîã /mnt/cdrom /opt Âñïîìîãàòåëüíûå ïàêåòû ïðîãðàìì /proc Ïî ñóòè, ýòî ñïåöèàëüíàÿ ôàéëîâàÿ ñèñòåìà. Çäåñü õðàíÿòñÿ îáðà- çû çàïóùåííûõ ïðîöåññîâ /root Ýòî ðàáî÷èé êàòàëîã ñóïåðïîëüçîâàòåëÿ /sbin Óòèëèòû çàãðóçêè /tmp Êàòàëîã âðåìåííûõ ôàéëîâ /usr Äîïîëíèòåëüíûå ñîâìåñòíî èñïîëüçóåìûå ôàéëû è ïðîãðàììû /var Ïðåäíàçíà÷åí äëÿ ðàçìåùåíèÿ èçìåíÿåìûõ äàííûõ Ïðîñìîòð èíôîðìàöèè î ôàéëå Для получения информации о файле (его типе, размере, правах доступа, времени создания) используется команда ls Синтаксис команды ls : ls [параметр]... [файл]... Наиболее употребительные ключи команды представлены в табл. 9.16. 174 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 9.16. Êëþ÷è êîìàíäû ls Êëþ÷ Çíà÷åíèå -a Íå ñêðûâàòü ôàéëû, íà÷èíàþùèåñÿ ñ òî÷êè (.) -A Íå âûäàâàòü . è .. -F Äîáàâëÿòü èíäèêàòîð (îäèí èç ñèìâîëîâ */=@|), ïîêàçûâàþùèé òèï ôàéëà -l Èñïîëüçîâàòü øèðîêèé ôîðìàò âûâîäà. Âûäàþòñÿ ïðàâà äîñòóïà, âëàäåëåö, ãðóïïà -r Îáðàòíûé ïîðÿäîê ïðè ñîðòèðîâêå -R Âûâîäèòü ïîäêàòàëîãè ðåêóðñèâíî -C Âûäàâàòü ýëåìåíòû ïî ñòîëáöàì --full-time Âûâîäèòü äàòó è âðåìÿ îáúåêòà Результатом работы команды ls является листинг файлов. Формат выдавае- мой информации зависит от того, с какими ключами была запущена коман- да ls . На рис. 9.13 приведен пример выполнения команды ls Ðèñ. 9.13. Âûïîëíåíèå êîìàíäû ls Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 175 Òèïû ôàéëîâ В Linux выделяют несколько типов файлов. Обычный файл — наиболее общий тип файлов. Он представляет собой последовательность байтов. Это может быть текстовый документ, про- грамма, файл базы данных. Признаком обычного файла является символ дефиса в первой позиции первого столбца. Обычные файлы создаются либо методом копирования, либо при помощи текстовых редакторов. Каталог — это файл, содержащий ссылки на хранящиеся в нем файлы. Читать содержимое каталога может любой процесс, имеющий на это право. Записывать содержимое каталога может только ядро системы. Создается каталог командой mkdir . Удаляется командой rmdir . Призна- ком каталога является символ d в позиции первого столбца. Файлы устройств (символьные и блочные) обеспечивают доступ к физи- ческим устройствам. Доступ к устройству осуществляется путем откры- тия файла, чтения из него или записи в него: • символьные (character special device) файлы устройств используются для небуферизованного обмена данными с устройством. Признаком символьного файла является символ с в первой позиции первого столбца; • блочные (block special device) файлы позволяют вести обмен данны- ми с устройством блоками, то есть пакетами фиксированной длины. Признаком блочного файла является символ b в первой позиции первого столбца. Файлы устройств может создавать только root. Соз- даются командой mknod , удаляются командой rm Символическая ссылка. Вместо имени файла символическая ссылка ука- зывает его псевдоним. Это аналог ярлыка в Windows. При обращении к ссылке обмен данными будет вестись не с ней, а тем файлом, на кото- рый эта ссылка указывает. Признаком символической ссылки является символ l в первой позиции первого столбца. Создается ссылка командой ln , удаляется командой rm Именованные каналы осуществляют взаимодействие между двумя про- цессами по принципу очереди FIFO (First Input First Output). Признаком именованного канала является символ p в первой позиции первого столбца. Создаются именованные каналы командой mknod , удаляются командой rm Сокеты позволяют представить в виде файла сетевое соединение. При- знаком сокета является символ s в первой позиции первого столбца. Создается сокет командой socket . Удаляется командой rm 176 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ïðàâà äîñòóïà Файловая система хранит для каждого файла несколько десятков информа- ционных полей. Большинство из этих полей используются самой операци- онной системой. Администраторов, как правило, интересует тип файла (файл, каталог или ссылка), владелец файла, группа, права доступа, размер файла и время последнего обращения. В Linux для файлов существуют три уровня доступа: владелец (owner); группа (group); все остальные (other). В рамках каждой категории права разделяются еще на три уровня доступа: чтение (read); запись (write); выполнение (execute). Пояснение правила чтения строк приводится на рис. 9.14. Ðèñ. 9.14. Ïðàâèëà ÷òåíèÿ èíôîðìàöèè î ôàéëå Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 177 Èçìåíåíèå ïðàâ äîñòóïà Изменение прав доступа к файлу осуществляется при помощи команды chmod . Изменить права доступа может только владелец файла и root. Синтаксис: chmod [ -fR ] абсолютные_права файл chmod [ -fR ] символьное_изменение_прав файл. Ключ –f говорит о том, что команда не будет сообщать о невозможности изменения прав доступа. R говорит о том, что права будут изменяться ре- курсивно, то есть на все вложенные каталоги и файлы. Абсолютные права задаются восьмеричным числом и приведены в табл. 9.17. Òàáëèöà 9.17. Êîäû ïðàâ äîñòóïà Ðåæèì äîñòóïà Äâîè÷íîå ÷èñëî Âîñüìåðè÷íîå ÷èñëî - - - 000 0 - - х 001 1 - w - 010 2 - w x 011 3 r - - 100 4 r - x 101 5 r w - 110 6 r w x 111 7 Это число указывает право для каждой из трех категорий. Например: chmod 711 file_1 назначает для file_1 следующие права: владелец — чтение, запись, выполне- ние; группа и остальные — только исполнение. Для символьного изменения существуют определенные правила синтаксиса (табл. 9.18). Òàáëèöà 9.18. Ïðàâèëà ñèíòàêñèñà äëÿ chmod Îïöèÿ Çíà÷åíèå a Èçìåíåíèÿ êàñàþòñÿ âñåõ u Èçìåíåíèÿ êàñàþòñÿ âëàäåëüöà g Èçìåíåíèÿ êàñàþòñÿ ãðóïïû 178 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 9.18 (îêîí÷àíèå) Îïöèÿ Çíà÷åíèå o Èçìåíåíèÿ êàñàþòñÿ îñòàëüíûõ ïîëüçîâàòåëåé + Íàçíà÷åíèå ïðàâà - Ñíÿòèå ïðàâà = Óñòàíîâêà r Íàçíà÷èòü ïðàâî ÷òåíèÿ w Íàçíà÷èòü ïðàâî çàïèñè x Íàçíà÷èòü ïðàâî âûïîëíåíèÿ Соответственно, примером выполнения может служить chmod u+rwx,go=x Эта команда выполняет те же действия, что и команда в предыдущем при- мере. Èçìåíåíèå âëàäåëüöà è ãðóïïû Владелец файла, а также root, помимо изменения прав доступа к файлу, мо- гут менять также владельца и группу файла. При этом первоначальный вла- делец теряет права на файл. Теперь они переходят к новому владельцу. Для изменения владельца и группы используется команда chwon : chown [ -h ] [ -R ] владелец [:группа] файл. Опция –h требует изменения владельца, на которого указывает символиче- ская связь. Опция –R требует рекурсивного изменения. Пример выполнения: chown user_01:group_01 file_1 При этом файлу file_1 задается владелец user_01 и группа group_01. Если требуется изменить только группу, не изменяя владельца, то можно воспользоваться командой chgrp , которая сменяет группу файла. Óñòàíîâêà ðåæèìà ñîçäàíèÿ ôàéëà Новый файл создается с правами, определяемыми пользовательской мас- кой режима создания файла. Встроенная команда umask позволяет ме- нять режим создания файла по умолчанию. Права доступа в команде umask задаются в виде трехзначного восьмеричного числа для каждой ка- Ãëàâà 9. Îñíîâû àäìèíèñòðèðîâàíèÿ Linux 179 тегории (владелец, группа, все). Это число соответствует аннулируемым правам (табл. 9.19). Òàáëèöà 9.19. Êîäû äëÿ umask Ðåæèì äîñòóïà Äâîè÷íîå ÷èñëî Âîñüìåðè÷íîå ÷èñëî r w x 000 0 r w - 001 1 r - x 010 2 r - - 011 3 - w x 100 4 - w - 101 5 - - õ 110 6 - - - 111 7 Например, umask 067 разрешает все владельцу, группе разрешен только запуск, всем остальным ничего нельзя. 9.5. Òåêñòîâûé ðåäàêòîð vi Текстовый редактор vi существует уже очень давно (рис. 9.15). Он отличает- ся от привычных графических редакторов, так как не обладает графическим интерфейсом, а общается с пользователем через систему команд. Его вызов содержится в большинстве общесистемных настроек, поэтому важно владеть основами работы с ним. Вызов текстового редактора осуществляется следующим образом: vi имя файла Редактор находится в режиме просмотра. Вход в режим редактирования осуществляется при выборе одной из команд. Возвращение в командный режим по клавише Для работы с редактором используется система команд. Основные команды приведены в табл. 9.20. |