Категории
Самые читаемые
Лучшие книги » Компьютеры и Интернет » Программное обеспечение » Linux глазами хакера - Михаил Флёнов

Linux глазами хакера - Михаил Флёнов

Читать онлайн Linux глазами хакера - Михаил Флёнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 29 30 31 32 33 34 35 36 37 ... 120
Перейти на страницу:

Теперь добавляем нового пользователя и просматриваем содержимое его папки:

useradd Denver

ls -al /home/Denver

В результате вы увидите, что созданный нами в каталоге /etc/skel файл был скопирован в папку нового пользователя. В директориях уже существующих пользователей этого файла не будет.

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

Среди файлов, копируемых в каталог нового пользователя, есть bash_profile. Это профиль командного интерпретатора /bin/bash. В нем можно настраивать некоторые параметры, в том числе и маску. В разд. 4.1 мы говорили о правах, которые назначаются всем новым файлам пользователя (далеки от идеала), и научились понижать их с помощью команды umask.

Зайдите под учетной записью robert и посмотрите маску с помощью команды umask. Обратите внимание, что она равна 0002. То есть мы в разд. 4.1 изменили маску своего пользователя, a robert получил другую, которую надо изменить. Если вы забудете это сделать, то могут возникнуть проблемы. Чтобы этого не произошло, я рекомендую добавить в конец файла bash_profile строку:

umask 0077

Лучше всего это сделать в файле /etc/skel/bash_profile, потому что он копируется во все папки новых пользователей, и можно быть уверенным, что все они получат нужную маску.

Для повышения безопасности я не рекомендую присваивать директориям имена учетных записей. При добавлении пользователя robert по умолчанию для него будет создан каталог /home/robert. Такое соответствие может сыграть злую шутку. Если злоумышленник узнает директорию, то он легко сможет определить имя пользователя, которому она принадлежит, и наоборот.

При создании пользовательских директорий достаточно даже просто добавить к имени какой-либо префикс, и это уже может усложнить задачу злоумышленнику.

4.3.2. Изменение настроек по умолчанию

Давайте теперь посмотрим, откуда берутся значения по умолчанию. Все это хранится в файле /etc/default/useradd. Взглянем на содержимое этого файла:

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash SKEL=/etc/skel

Этот файл можно редактировать вручную или воспользоваться командой useradd для изменения значений по умолчанию. Как это делать, мы рассмотрим чуть позже.

Единственный комментарий, который я хочу сделать сейчас, — это параметр GROUP. Он равен 100, и но идее все новые пользователи должны попадать в эту группу. Но как мы видели в разд. 4.3, это не так. В Red Hat этот параметр игнорируется, и по умолчанию создается новая группа, именно это мы и наблюдали. В других дистрибутивах этот параметр может работать, поэтому проверьте эту возможность, чтобы не оказаться в неудобном положении.

Номер 100 присваивается пользовательской группе, у которой по умолчанию очень мало прав. Это как гостевой пароль, который позволяет только просматривать файлы.

Но созданием пользователя команда useradd не ограничивается. Дело в том, что если не указать какой-либо параметр, то ему будет присвоено значение по умолчанию. Чтобы внести изменения, нужно сразу после имени команды указать ключ -D. После этого могут идти следующие опции:

□ -g — изменить группу;

□ -b — установить домашний каталог;

□ -f — время до отключения;

□ -e — дата отключения;

□ -s — оболочка (интерпретатор команд).

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

Некоторые администраторы плодят временных пользователей, забывая их удалить. А ведь это достаточно большая дыра в безопасности, т.к. эти учетные записи чаще всего имеют простой пароль. Действительно, зачем запоминать (на один-два дня) что-то типа opilivgdjwbe. Отключив запись (автоматически или вручную), вы закрываете один из проходов в вашу систему и сокращаете количество лазеек. Когда вы возвращаетесь домой, то обязательно закрываете за собой дверь для собственной безопасности. В случае с ОС надо поступать таким же образом, и, проводив временного гостя, нужно обязательно запереть дверь или замуровать ее (удалить из системы).

4.3.3. Редактирование пользователя

Для редактирования параметров учетной записи можно напрямую корректировать файл /etc/passwd, но я советую лучше использовать команду usermod. У нее такие же ключи, что и у useradd, но она не создает пользователя, а изменяет параметры уже существующего.

С помощью usermod вы можете добавлять уже имеющегося пользователя в ранее созданную группу. Давайте проделаем такую процедуру с учетной записью robert и определим ее в группу root. Это позволит пользователю robert выполнять некоторые административные функции:

usermod -G root robert

Здесь мы выполняем команду с ключом -G, который позволяет указать, членом каких групп должен быть пользователь (в данном случае root). Можно перечислить несколько групп, разделяя их запятыми. Для получения более подробной информации о команде usermod выполните man usermod.

Параметры у команды usermod такие же, как и у useradd.

4.3.4. Удаление пользователя

Для удаления пользователя применяется команда userdel. В качестве параметра передается только имя учетной записи, которую надо удалить, и можно распрощаться с ней навсегда. Например:

userdel Danver

Будет получено сообщение об ошибке, если пользователь в этот момент находится в системе.

Необходимо учитывать, что удаление пользователя не уничтожает его домашний каталог, вы должны сделать это вручную. Если указать в команде ключ -r, то вместе с пользователем будут удалены и его файлы в домашней директории:

userdel -r Danver

Никогда не указывайте этот ключ. Выполняйте операцию только вручную, просмотрев содержимое каталога и убедившись, что там нет нужных файлов.

К тому же, если для пользователя была автоматически создана группа и в ней никого больше нет, то можно произвести и ее удаление, но сделать это придется командой groupdel.

4.3.5. Несколько замечаний

Для полного понимания процесса создания учетных записей нам нужно познакомиться еще с файлом /etc/login.defs. В нем хранятся настройки, которые будут использоваться при добавлении пользователей. Содержимое файла можно увидеть в листинге 4.1.

Листинг 4.1. Файл /etc/login.defs

#*REQUIRED*

# Directory where mailboxes reside, _or_ name of file, relative to the

# home directory. If you _do_ define both, MAIL_DIR takes precedence.

# QMAIL_DIR is for Qmail

#

#QMAIL_DIR Maildir

MAIL_DIR /var/spool/mail

#MAIL_FILE .mail

# Password aging controls:

#

#PASS_MAX_DAYS Maximum number of days a password may be used.

#PASS_MIN_DAYS Minimum number of days allowed between password changes.

#PASS_MIN_LEN Minimum acceptable password length.

#PASS_WARN_AGE Number of days warning given before a password expires. #

PASS_MAX_DAYS 99999

PASS_MIN_DAYS     0

PASS_MIN_LEN      5

PASS_WARN_AGE     7

#

# Min/max values for automatic uid selection in useradd

#

UID_MIN 500

UID MAX 60000

#

# Min/max values for automatic gid selection in groupadd #

GID_MIN 500

GID_MAX 60000

#

# If defined, this command is run when removing a user.

# It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument).

#

#USERDEL_CMD /usr/sbin/userdel_local

#

# If useradd should create home directories for users by default

# On RH systems, we do. This option is ORed with the -m flag on

# useradd command line.

#

CREATE_HOME yes

Здесь находятся интересные установки, которые можно использовать для повышения безопасности. Рассмотрим основные параметры файла:

□ MAIL_DIR — директория, в которой будет храниться почта пользователей;

□ PASS_MAX_DAYS — максимальный срок жизни пароля;

□ PASS_MIN_DAYS — минимальный срок жизни пароля;

□ PASS_MIN_LEN — минимальная длина пароля (используется только в команде passwd и игнорируется в useradd). В большинстве дистрибутивов здесь будет стоять 5. Я рекомендую поменять его на число 8. В этом случае нельзя будет установить любимый большинством пользователей пароль типа qwerty;

1 ... 29 30 31 32 33 34 35 36 37 ... 120
Перейти на страницу:
На этой странице вы можете бесплатно скачать Linux глазами хакера - Михаил Флёнов торрент бесплатно.
Комментарии