Литмир - Электронная Библиотека
Содержание  
A
A

Заметили ли вы, что после первого использования команда sudo не предложила пользователю janet вновь ввести пароль? Это объясняется тем, что в большинстве конфигураций sudo продолжает «доверять» пользователю в течение нескольких минут (пока не истечет время ее действия).

chgrp — изменение группы файла

В старых версиях Unix команда chown изменяла только владельца файла, но не группу. Чтобы изменить группу, предоставлялась другая команда, chgrp. Она действует практически так же, как chown, но имеет больше ограничений.

Использование привилегий

Теперь, когда мы разобрались, как действует механизм привилегий, самое время научиться пользоваться ими. Далее демонстрируется решение типичной задачи — настройка общего каталога. Представьте себе двух пользователей, bill и karen. Оба имеют коллекции музыкальных произведений и хотели бы настроить общий каталог, где могли бы хранить файлы в формате Ogg Vorbis или MP3. Пользователь bill имеет доступ к привилегиям суперпользователя через sudo.

Первое, что нужно сделать, — это создать группу, куда будут входить оба пользователя, bill и karen. С помощью графического инструмента GNOME для управления пользователями bill создает группу с именем music и добавляет в нее пользователей bill и karen, как показано на рис. 9.3.

Рис. 9.3. Создание новой группы в GNOME

Далее bill создает каталог для музыкальных файлов:

[bill@linuxbox ~]$ sudo mkdir /usr/local/share/Music

Пароль:

Поскольку bill манипулирует файлами за пределами своего домашнего каталога, ему необходимы привилегии суперпользователя. После создания каталог получает следующие права доступа и владельца:

[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxr-xr-x 2 root root 4096 2012-03-21 18:05 /usr/local/share/Music

Как видите, каталогом владеет root, который имеет права доступа 755. Чтобы сделать каталог общим, bill должен изменить группу каталога и права доступа для группы:

[bill@linuxbox ~]$ sudo chown :music /usr/local/share/Music

[bill@linuxbox ~]$ sudo chmod 775 /usr/local/share/Music

[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwxr-x 2 root music 4096 2012-03-21 18:05 /usr/local/share/Music

И что все это означает? А означает это следующее: владельцем каталога /usr/local/share/Music является root, и члены группы music получают права на запись и чтение в этом каталоге. Группа music включает пользователей bill и karen; то есть bill и karen могут создавать файлы в каталоге /usr/local/share/Music. Другие пользователи могут просматривать содержимое каталога, но не могут создавать файлы в нем.

Но остается нерешенной еще одна проблема. С текущими разрешениями файлы и каталоги внутри каталога Music будут создаваться с обычными разрешениями для пользователей bill и karen:

[bill@linuxbox ~]$ > /usr/local/share/Music/test_file

[bill@linuxbox ~]$ ls -l /usr/local/share/Music

-rw-r--r-- 1 bill   bill   0 2012-03-24 20:03 test_file

В действительности здесь наблюдаются две проблемы. Во-первых, маска umask в этой системе имеет значение 0022, что не позволяет членам группы записывать в файлы, принадлежащие другим членам группы. Это не проблема, если общий каталог хранит только файлы, но так как в данном каталоге предполагается хранить музыкальные произведения, а музыкальные произведения обычно принято организовывать в иерархии по исполнителям и альбомам, членам группы может понадобиться создавать файлы в каталогах, принадлежащих другим членам. Нам нужно изменить маску umask для пользователей bill и karen на 0002.

Во-вторых, каждый файл и каталог, созданный одним членом группы, будет принадлежать основной группе пользователя, а не группе music. Исправить этот недостаток можно установкой бита setgid на каталог:

[bill@linuxbox ~]$ sudo chmod g+s /usr/local/share/Music

[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwsr-x 2 root music 4096 2012-03-24 20:03 /usr/local/share/Music

Теперь можно проверить, устранили ли проблему вновь добавленные разрешения. bill устанавливает маску umask в значение 0002, удаляет предыдущий проверочный файл и создает новый проверочный файл и каталог:

[bill@linuxbox ~]$ umask 0002

[bill@linuxbox ~]$ rm /usr/local/share/Music/test_file

[bill@linuxbox ~]$ > /usr/local/share/Music/test_file

[bill@linuxbox ~]$ mkdir /usr/local/share/Music/test_dir

[bill@linuxbox ~]$ ls -l /usr/local/share/Music

drwxrwsr-x 2 bill   music 4096 2012-03-24 20:24 test_dir

-rw-rw-r-- 1 bill   music 0 2012-03-24 20:22 test_file

[bill@linuxbox ~]$

И файл и каталог теперь созданы с правильными правами доступа, позволяющими всем членам группы music создавать файлы и каталоги внутри каталога Music.

Осталась только проблема с маской umask. Дело в том, что установленная маска действует лишь до конца сеанса и сбрасывается по его завершении. В главе 11 мы узнаем, как сохранить действие измененной маски umask между сеансами.

Изменение своего пароля

Последняя тема этой главы: изменение собственного пароля (и паролей других пользователей при наличии привилегий суперпользователя). Для установки и изменения пароля используется команда passwd. Она имеет следующий синтаксис:

passwd [пользователь]

Чтобы изменить свой пароль, просто введите команду passwd. Вам будет предложено ввести старый, а затем новый пароль:

[me@linuxbox ~]$ passwd

Смена пароля для me.

(текущий) пароль UNIX:

Введите новый пароль UNIX:

Команда пытается вынудить пользователей вводить «сильные» пароли. Это означает, что она будет отвергать слишком короткие пароли, слишком похожие на предыдущие пароли, пароли, являющиеся словарными словами или легко угадываемые:

[me@linuxbox ~]$ passwd

Смена пароля для me.

(текущий) пароль UNIX: :

Введите новый пароль UNIX:

BAD PASSWORD: is too similar to the old one

Введите новый пароль UNIX:

Выберите пароль большей длины

Введите новый пароль UNIX :

BAD PASSWORD: it is based on a dictionary word

При наличии привилегий суперпользователя можно передать команде passwd аргумент с именем пользователя, чтобы установить пароль для этого пользователя. Суперпользователю доступна также возможность блокировки учетных записей, установки времени действия пароля и многое другое. За подробностями обращайтесь к странице справочного руководства (man) для команды passwd.

10. Процессы

Современные операционные системы обычно являются многозадачными, в том смысле, что создают иллюзию одновременного решения множества задач, быстро переключаясь с выполнения одной программы на другую. Ядро Linux управляет всем этим посредством процессов. Именно с помощью процессов Linux организует приостановку программ в ожидании, пока наступит их очередь использовать процессор.

Иногда компьютер становится «вялым», или приложение вообще перестает откликаться на команды пользователя. Сейчас мы познакомимся с некоторыми инструментами командной строки, позволяющими увидеть, что делают программы, и завершить процессы, вышедшие из-под контроля.

В этой главе будут представлены следующие команды:

• ps — выводит список процессов, выполняющихся в текущий момент.

• top — выводит задачи.

• jobs — выводит список активных заданий.

• bg — переводит задание в фоновый режим работы.

• fg — переводит задание в режим работы на переднем плане.

26
{"b":"568756","o":1}