This article is protected by the Open
Publication License, V1.0 or later. Copyright © 2005 by Red Hat, Inc.
Original article: http://www.redhat.com/magazine/008jun05/departments/tips_tricks/
Перевод: © Иван Песин
Раздел "Tips & Tricks" этого месяца включает примеры вопросов и ответов системных администраторов, которые можно найти в базе знаний Red Hat Knowledgebase.
Проблема: мне удалось заблокировать себе доступ в среду GNOME, некорректно выставив Preferences-> Resolution.
В поисках решения я получил несколько важных уроков о конфигурации GNOME.
Главный урок, полученный мною, заключался в том, что конфигурация GNOME не хранится в старых добрых текстовых файлах. У GNOME есть своя собственная, аналогичная реестру Windows, конфигурационная система.
Другим уроком стало то, что не смотря на наследование параметров экрана по-умолчанию от сервера X, при изменении настроек они сохраняются в пользовательских настройках GNOME.
В данном конкретном случае, решение заключалось в отмене пользовательских настроек экранного разрешения. Для этого необходимо зарегистрироваться в текстовом режиме и выполнить:
gconftool-2 --unset /desktop/gnome/screen/$(hostname)/0/rate
gconftool-2 --unset /desktop/gnome/screen/$(hostname)/0/resolution
Когда сервис запускается с помощью init-скрипта, в каталоге /var/lock/subsys/
создается файл с таким же именем, как и у скрипта. Когда сервис останавливается,
этот файл удаляется. Нас не будет интересовать содержимое этих файлов, главное,
чтобы его имя совпадало с именем init-скрипта.
Данный файл, если он существует, говорит о том, что подсистема сервиса заблокирована или, другими словами, сервис сейчас находится в запущенном состоянии. Поскольку сервис может состоять из нескольких исполняемых программ с разными именами, поиск идентификатора процесса (PID) одного исполняемого файла может оказаться недостаточным для определения состояния всего сервиса. Поэтому команда:
service <initscript> status
проверяет и PID исполняемого файла, и файл в каталоге /var/lock/subsys/
. Если PID не найден, но соответствующий файл в каталоге существует, вы получите такое сообщение:
<service> dead but subsys locked
Управление подсистемой сервиса преследует две цели. Во-первых, даже
если сервис не блокирует подсистему, он все равно будет запускаться и
останавливаться с помощью интерфейса сервисов. Однако, при смене уровня
выполнения, rc-скрипты проверяют существование файла в каталоге /var/lock/subsys/
.
Если этот файл не найден, сервис не будет корректно остановлен или
запущен при переходе между уровнями выполнения, даже если в каталогах /etc/rc#.d/
есть символические ссылки для старта и завершения.
Во-вторых, при перезагрузке и останове системы проверяется каталог /var/lock/subsys/
. Рассмотрим процедуру останова системы:
service <initscript> stop
.kill -SIGTERM
kill -SIGKILL
Такой порядок выполняемых при останове системы процедур обеспечивает
максимально корректное завершение всех процессов. При завершении работы
системы, скрипт /etc/rc.d/init.d/killall
проверяет каталог /var/lock/subsys/
,
чтобы узнать какие подсистемы все еще заблокированы. Если после
остановки всех сервисов (т.е. завершения п.1) остаются заблокированные
подсистемы, то скрипт killall
использует имя файла для вызова service <initscript>
stop
.
Эта схема позволяет завершить выполнение процесса максимально толерантно, перед тем как перейти к выполнению пунктов 2-4, где оставшиеся сервисы завершаются безусловно.
/etc/timezone
в Red Hat® Enterprise Linux®?Файл /etc/timezone
не включается в Red
Hat Enterprise Linux. Локальный часовой пояс хранится в /etc/localtime
и используется библиотекой GNU для C (glibc) если не выставлена переменная TZ. Файл /etc/timezone
является либо копией дерева /usr/share/zoneinfo/
, либо символической ссылкой на него.
Существует много способов задания прав доступа к вашим ресурсам Samba и увеличения безопасности. Этот совет демонстрирует некоторые основные способы определения прав доступа.
Наиболее ключевые установки:
read only = Yes
guest ok = Yes
По-умолчанию read only = Yes
read only: Этот параметр контролирует возможность пользователей создавать и модифицировать файлы
на данном ресурсе.
guest ok: Если данный параметр равен yes, то пользователи будут получать доступ к ресурсу
без указания пароля, что может быть небезопасно.
Пример:
[share]
path = /samba
read only = Yes
Эта опция управляет доступом к ресурсу на запись.
read list: Данный параметр определяет список пользователей или групп, которые имеют доступ к
ресурсу в режиме "только для чтения".
write list: Задает список пользователей для данного ресурса, имеющих права на запись.
valid users: Можно открыть доступ к ресурсу только для определенных пользователей. Для этого, укажите необходимых
пользователей и группы в данном параметре.
invalid users: Указанные пользователи и группы не будут иметь доступа к данному ресурсу.
Пример:
[share]
path = /samba
write list = user1 user2
Имя группы может быть добавлено в качестве значения с помощью двух специальных символов:
@ (at symbol) группа будет искаться в NIS
+ (plus sign) группа не будет искаться в NIS
Примеры:
valid users = @groupname
invalid users = +groupname
create mask: Этот параметр задает восьмиричное значение прав доступа, которые устанавливаются
на созданных файлах. Пример: create mask = 1644
directory mask: Для разрешения доступа к каталогу, его права доступа должны включать бит исполнения.
Значение по умолчанию -- 0755
Пример:
[global]
create mask = 0775
write
ok = Yes"
не даст пользователям возможность записывать данные на эту файловую систему.Это сообщение означает, что устройство хранения данных получило от ядра запрос, который оно не понимает и игнорирует его. Это может, например, означать, что драйвер ядра послал команды, которые не поддерживаются конкретным устройством. Обычно, это не критическая ошибка и ее можно проигнорировать без побочных эффектов.
grep: /proc/cmdline: No such file or directory
и grep: /proc/mounts: No such file or directory
?Эти ошибки означают, что виртуальная файловая система proc не была смонтирована во время загрузки. Linux использует эту файловую систему для представления приложениям различной важной информации о процессах.
Если система не загружается, выполните загрузку в аварийный режим. Иструкции можно найти в разделе Загрузка в аварийный режим руководства системного администратора.
Если вы получите сообщение об ошибке:
An error occurred trying to mount all or some of your file systems.
Some of them may be under /mnt/sysimage
проверьте файл /etc/fstab
, поскольку он содержит таблицу файловых систем.
В этом файле должна присутствовать строка, аналогичная следующей:
none /proc proc defaults 0 0
Каталог /proc
должен существовать и быть доступен на чтение и выполнение для всех пользователей.
Для смены вашего командного интерпретатора, воспользуйтесь командой chsh.
Можно, также, воспользоваться параметрами команды. Чтобы вывести список доступных интерпретаторов в системе, введите:
chsh --list
в результате, вы получите приблизительно следующий список:
/bin/sh
/bin/bash
/sbin/nologin
/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
Чтобы сменить командный интерпретатор на csh, выполните команду:
chsh -s /bin/csh
Чтобы узнать текущий командный интерпретатор, используйте команду:
echo $SHELL
This article is protected by the Open Publication License, V1.0 or later. Copyright © 2004 by Red Hat, Inc.