Участник:Petr-akhlamov/Login.defs Manual RU

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


НАЗВАНИЕ

       login.defs - содержит конфигурацию подсистемы теневых паролей

ОПИСАНИЕ

       Файл /etc/login.defs содержит настройки подсистемы теневых паролей (shadow password suite). Этот файл является обязательным. Отсутствие данного файла не повлияет на работу системы, но, вероятно, приведёт к выполнению нежелаемых операций.
       Файл представляет собой обычный текстовый файл; каждая строка описывает один параметр настройки. Строки состоят из названия параметра и его значения, которые разделяются пробельным символом. Пустые строки и комментарии игнорируются. Комментарии начинаются со знака фунта «#», который должен быть первым непробельным символом в строке.
       Значения параметров могут быть четырёх типов: строки, логические значения, числа и длинные числа. Строки состоят из любых печатных символов. Под логическими значениями подразумеваются yes или no. Неопределённый логический параметр или имеющий значение, отличное от указанных выше, считается как имеющий значение no. Числа (обычные и длинные) можно задавать в десятичной, восьмеричной (перед значением ставится «0») или шестнадцатеричной (перед значением ставится «0x») системах счисления. Максимальные значения параметра обычного и длинного числа зависят от архитектуры компьютера.
       Возможны следующие параметры настройки:

CHFN_RESTRICT (строка)

       Этим параметром определяются части поля gecos в файле /etc/passwd, которые могут изменять обычные пользователи с помощью программы chfn. Строка может содержать любую комбинацию букв f, r, w, h для изменения полного имени пользователя, номера комнаты, рабочего и домашнего телефона, соответственно. Для совместимости значение yes эквивалентно rwh и no эквивалентно frwh. Если ничего не задано, то только суперпользователь может выполнять любые изменения. Наиболее ограничительная настройка достигается снятием SUID бита с файла chfn.

CONSOLE_GROUPS (строка)

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

CREATE_HOME (логический)

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

CRYPT_PREFIX (строка), CRYPT_ROUNDS (число)

       The password hashing method and iteration count to use for group passwords that may be set with gpasswd. Please refer to crypt(3) for information on supported password hashing methods.

DEFAULT_HOME (логический)

        Определяет, можно ли войти в систему, если нельзя выполнить cd в домашний каталог. По умолчанию «no».
        Если равно yes, то пользователь будет попадать в корневой каталог (/), если невозможно выполнить cd в его домашний каталог.

ENCRYPT_METHOD (строка)

        Задаёт системный алгоритм шифрования по умолчанию для шифрования паролей (используется, если алгоритм не указан в командной строке).
        Возможны следующие значения: DES (по умолчанию), MD5, SHA256, SHA512.
        Замечание: этот параметр переопределяет переменную MD5_CRYPT_ENAB.
        Замечание: действует только при генерации паролей к группам. Генерация пользовательских паролей выполняется PAM и там же настраивается. Рекомендуется устанавливать значение этой переменной согласно настройкам PAM.

ENV_HZ (строка)

       Если установлена, то будет использоваться для определения переменной окружения HZ при входе пользователя в систему. Значение должно начинаться с HZ=. Обычное значение для Linux — HZ=100.
       Переменная окружения HZ устанавливается только когда пользователь (суперпользователь) входит в систему с помощью sulogin.

ENV_PATH (строка)

       If set, it will be used to define the PATH environment variable when a regular user login. The value is a colon separated list of paths (for example /bin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/usr/bin.

ENV_SUPATH (строка)

       If set, it will be used to define the PATH environment variable when the superuser login. The value is a colon separated list of paths (for example /usr/sbin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/usr/sbin:/usr/bin].

ERASECHAR (число)

      Символ ERASE у терминала (010 = backspace, 0177 = DEL).
       Значение может начинаться с «0» при указании значения в восьмеричной системе счисления или «0x» при указании значения в шестнадцатеричной системе счисления.

FAIL_DELAY (число)

       Задержка в секундах перед повторной попыткой после неудачного входа.

FAKE_SHELL (строка)

       Если установлена, то программа login запустит указанную оболочку вместо
       пользовательской оболочки заданной в /etc/passwd.

GID_MAX (число), GID_MIN (число)

       Диапазон идентификаторов групп, используемый в программах useradd, groupadd или
       newusers для создания обычных групп.
       Значение по умолчанию для GID_MIN (соотв.  GID_MAX) равно 1000 (соотв. 60000).

GROUPNAME_MAX (число)

       Maximum число of characters for group names. This value can't be greater than 32. If not specified, 32 characters will be assumed.

HUSHLOGIN_FILE (строка)

       Если определена, то этот файл может заблокировать все обычные переговоры (chatter) при
       входе. Если указан полный путь к файлу, то будет включён сокращённый (hushed) режим,
       если в этом файле указано имя пользователя или оболочка. Если указан не полный путь,
       то будет включён сокращённый (hushed) режим, если файл находится в домашнем каталоге
       пользователя.

KILLCHAR (число)

       Символ KILL у терминала (025 = CTRL/U).
       Значение может начинаться с «0» при указании значения в восьмеричной системе счисления или «0x» при указании значения в шестнадцатеричной системе счисления.

LOG_OK_LOGINS (логический)

       Включить протоколирование успешных входов.

LOG_UNKFAIL_ENAB (логический)

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

LOGIN_RETRIES (число)

       Максимальное количество попыток входа при вводе неверного пароля.
       Наиболее вероятно это значение будет переопределено PAM, так как по умолчанию в модуле pam_unix определено 3 попытки. Однако, это значение является резервом, если вы используете модуль аутентификации, который не учитывает PAM_MAXTRIES.

LOGIN_TIMEOUT (число)

       Максимальное время в секундах, отведённое на вход.

MAIL_DIR (строка)

       Почтовый каталог. Данный параметр нужен для управления почтовым ящиком при изменении или удалении учётной записи пользователя. Если параметр не задан, то используется значение указанное при сборке.

MAIL_FILE (строка)

       Определяет расположение почтовых файлов пользователя относительно домашнего каталога.
       Переменные MAIL_DIR и MAIL_FILE используются командами useradd, usermod и userdel для создания, перемещения или удаления почты пользователя.

MAX_MEMBERS_PER_GROUP (число)

       Максимальное количество членов в записи о группе. При достижения максимума заводится новая запись группы (строка) в /etc/group (с тем же именем, паролем и тем же GID).
       Значение по умолчанию равно 0, означающее, что ограничения на количество членов в группе нет.
       Данная возможность (разделение группы) позволяет ограничить длину строк в файле групп.
       Это полезно для ограничения длины строк групп NIS в 1024 символа.
       Если вам нужно такое ограничение, укажите значение 25.
       Замечание: разделение групп поддерживается не всеми инструментами (даже в наборе инструментов Shadow). Вы не должны использовать эту переменную, если вам действительно это ненужно.

MD5_CRYPT_ENAB (логический)

       Обозначает, что пароль должен быть зашифрован по алгоритму на основе MD5. Если значение равно yes, то новые пароли будут зашифрованы по алгоритму на основе MD5, совместимому с используемым в новых версиях FreeBSD. Он поддерживает пароли неограниченной длины и имеет более длинную строку соли. Установите в no, если вам нужно копировать шифрованные пароли в другие системы, которые не поддерживают новый алгоритм. По умолчанию no.
       Эта переменная переопределяется переменной ENCRYPT_METHOD или любым параметром командной строки, который задаёт алгоритм шифрования.
       Эта переменная устарела; используйте ENCRYPT_METHOD.
       Замечание: действует только при генерации паролей к группам. Генерация пользовательских паролей выполняется PAM и там же настраивается. Рекомендуется устанавливать значение этой переменной согласно настройкам PAM.

PASS_MAX_DAYS (число)

       Максимальное число дней использования пароля. Если пароль старее этого числа, то будет запущена процедура смены пароля. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).

PASS_MIN_DAYS (число)

       Максимальное число дней между изменениями пароля. Любая смена пароля ранее заданного срока выполнена не будет. Если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).

PASS_WARN_AGE (число)

       Число дней за которое начнёт выдаваться предупреждение об устаревании пароля. Нулевое значение означает, что предупреждение выдаётся в день устаревания, при отрицательном значении предупреждение выдаваться не будет. Если значение не задано, выдача предупреждения отключается.
       Параметры PASS_MAX_DAYS, PASS_MIN_DAYS и PASS_WARN_AGE используются только при создании учётной записи. Любые изменения этих параметров не влияют на уже существующие учётные записи.


REGEXP_NAME (строка)

       Regular expression to which user/group names must match. If not defined or empty then traditional check will be performed. Note that leading
       digits are still not allowed regardless of defined regular expression. The names that differ by letter case only are also prohibited.

SAFE_PWDB_FIELDS (логический)

       If yes then non-ASCII characters in the password database files are not allowed.

SULOG_FILE (строка)

       Если определена, то любая активность su будет протоколироваться в этот файл.

SU_NAME (строка)

       Если определена, то выводится имя команды когда работает «su -». Например, если значение равно «su», то «ps» покажет команду как «-su». Если не определена, то «ps» покажет имя запускаемой оболочки например как «-sh».

SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)

       The commands useradd and newusers allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.
       The default values for SUB_GID_MAN, SUB_GID_MIN, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.

SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)

       The commands useradd and newusers allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.
       The default values for SUB_GID_MAN, SUB_GID_MIN, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.

SYS_GID_MAX (число), SYS_GID_MIN (число)

       Диапазон идентификаторов групп, используемый в программах useradd, groupadd или newusers для создания системных групп.
       Значение по умолчанию для SYS_GID_MIN (соотв.SYS_GID_MAX) равно 101 (соотв. GID_MIN-1).

SYS_UID_MAX (число), SYS_UID_MIN (число)

       Диапазон идентификаторов пользователей, используемый в программах useradd или newusers для создания системных пользователей.
       Значение по умолчанию для SYS_UID_MIN (соотв.  SYS_UID_MAX) равно 101 (соотв. UID_MIN-1).

SYSLOG_SG_ENAB (логический)

       Включить протоколирование «syslog» действий sg.

SYSLOG_SU_ENAB (логический)

       Включить протоколирование «syslog» действий su — дополнительно к протоколированию в файле sulog.

TCB_AUTH_GROUP (логический)

       If yes, newly created tcb shadow files will be group owned by the auth group.

TCB_SYMLINKS (логический)

       If yes, the location of the user tcb directory to be created will not be automatically set to /etc/tcb/user, but will be computed depending on the UID of the user, according to the following algorithm:

           if ( UID is less than 1000) {
              use /etc/tcb/user
           } else if ( UID is less than 1000000) {
              kilos = UID / 1000
              use /etc/tcb/:kilos/user
              make symlink /etc/tcb/user to the above directory
           } else {
              megas = UID / 1000000
              kilos = ( UID / megas * 1000000 ) / 1000
              use /etc/tcb/:megas/:kilos/user
              make symlink /etc/tcb/user to the above directory
           }

TTYGROUP (строка), TTYPERM (строка)

       Права терминала: tty входа будет принадлежать группе TTYGROUP, а права будут назначены в соответствии с TTYPERM.

       По умолчанию, терминалом владеет первичная группа пользователя, а права устанавливаются в 0600.

       В TTYGROUP может задаваться или имя группы, или числовой идентификатор группы.

       Если ваша программа write имеет «setgid» со специальной группой, которой принадлежат терминалы, то присвойте TTYGROUP номер этой группы, а TTYPERM значение 0620. В противном случае оставьте TTYGROUP закомментированной и назначьте TTYPERM значение 622 или 600.

TTYTYPE_FILE (строка)

       Если определена, то в ней указывается имя файла, в котором описано соответствие между линией tty и параметром окружения TERM. Каждая строка файла имеет формат вида «vt100 tty01».

UID_MAX (число), UID_MIN (число)

       Диапазон идентификаторов пользователей, используемый в программах useradd или newusers для создания обычных пользователей.
       Значение по умолчанию для UID_MIN (соотв.  UID_MAX) равно 1000 (соотв. 60000).

UMASK (число)
       Задаёт начальное значение маски доступа для создаваемых файлов. Если не указано, то маска устанавливается в 022.

       Команды useradd и newusers используют эту маску для установки прав доступа к домашнему каталогу, который они создают.

       Она также используется командой pam_umask как значение umask по умолчанию.

USERDEL_CMD (строка)
       Определяет программу, которая будет запущена при удалении пользователя. Она должна удалять любые задания at/cron/печати удаляемого пользователя (передаётся в качестве первого аргумента).

       Возвращаемый сценарием код завершения не учитывается.

       Вот простой сценарий, который удаляет задания печати, cron и at:

           #! /bin/sh

           # проверить все необходимые параметры
           if [ $# != 1 ]; then
                echo "Использование: $0 имя_пользователя"
                exit 1
           fi

           # удалить задания cron
           crontab -r -u $1

           # удалить задания at
           # Заметим, что это удалит все задания с указанным UID,
           # даже если он используется для другой учётной записи.
           AT_SPOOL_DIR=/var/spool/cron/atjobs
           find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;

           # удалить задания печати
           lprm $1

           # всё
           exit 0

USERGROUPS_ENAB (логический)
       Если значение равно yes, то userdel удаляет пользовательскую группу, если в ней нет больше членов, а useradd по умолчанию создаёт группу с именем пользователя.

ПЕРЕКРЕСТНЫЕ ССЫЛКИ
       Следующие перекрёстные ссылки отражают связь между программами и их параметрам из набора для работы с теневыми паролями.

       chage
       USE_TCB

       chfn
       CHFN_RESTRICT SAFE_PWDB_FIELDS

       chgpasswd
       ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB

       chpasswd

       gpasswd
       ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB CRYPT_PREFIX CRYPT_ROUNDS

       groupadd
       GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP REGEXP_NAME SYS_GID_MAX SYS_GID_MIN GROUPNAME_MAX

       groupdel
       MAX_MEMBERS_PER_GROUP

       groupmems
       MAX_MEMBERS_PER_GROUP

       groupmod
       MAX_MEMBERS_PER_GROUP GROUPNAME_MAX REGEXP_NAME

       grpck
       MAX_MEMBERS_PER_GROUP

       grpconv
       MAX_MEMBERS_PER_GROUP

       grpunconv
       MAX_MEMBERS_PER_GROUP

       login
       CONSOLE_GROUPS DEFAULT_HOME ERASECHAR FAIL_DELAY FAKE_SHELL HUSHLOGIN_FILE KILLCHAR LOGIN_RETRIES LOGIN_TIMEOUT
       LOG_OK_LOGINS LOG_UNKFAIL_ENAB TTYGROUP TTYPERM TTYTYPE_FILE USERGROUPS_ENAB

       newgrp / sg
       SYSLOG_SG_ENAB

       newusers
       ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
        REGEXP_NAME SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN
       SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK

       pwck
       PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB

       pwconv
       PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE USE_TCB

       pwunconv
       USE_TCB

       su
       CONSOLE_GROUPS DEFAULT_HOME ENV_PATH ENV_SUPATH SULOG_FILE SU_NAME SYSLOG_SU_ENAB

       sulogin
       ENV_HZ

       useradd
       CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE REGEXP_NAME               
       SAFE_PWDB_FIELDS SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX
       SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK
       USERNAME_MAX GROUPNAME_MAX TCB_AUTH_GROUP TCB_SYMLINK USE_TCB

       userdel
       MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB TCB_SYMLINKS USE_TCB

       usermod
       MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERNAME_MAX REGEXP_NAME SAFE_PWDB_FIELDS TCB_SYMLINKS USE_TCB

       vipw
       USE_TCB