Файл: Алексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 202

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ãëàâà 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.