Как влиять на присвоение зависимого UIDs/GIDs при создании учетных записей пользователей?

Если Вы просматриваете страницу справочника для tidy Вы заметите комментарий, в котором говорится следующее:

Название конфигурационного файла по умолчанию. Это должно быть полным путем, так как Вы, вероятно, вызовете опрятный из различных каталогов. Значение HTML_TIDY будет проанализирован после скомпилированного - в значении по умолчанию (определенный с -DTIDY_CONFIG_FILE), но перед любым из файлов, указанных с помощью -config.

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

Просмотр части из tidyонлайн-документация на странице Raggett я столкнулся с этой аннотацией:

С другой стороны, можно назвать файл конфигурации по умолчанию через переменную среды под названием "HTML_TIDY". Обратите внимание, что это должно быть полным путем, так как Вы, вероятно, захотите работать Опрятный в различных каталогах. Можно также установить файл конфигурации во время компиляции путем определения CONFIG_FILE как строку пути, видеть platform.h.

Таким образом, после загрузки источника для tidy и взгляд в файле platform.h Я нашел следующие строки:

/* #define TIDY_CONFIG_FILE "/etc/tidy_config.txt" */ /* original */
/* #define TIDY_CONFIG_FILE "/etc/tidyrc" */
/* #define TIDY_CONFIG_FILE "/etc/tidy.conf" */

/*
  Uncomment the following #define if you are on a system
  supporting the HOME environment variable.
  It enables tidy to find config files named ~/.tidyrc if 
  the HTML_TIDY environment variable is not set.
*/
/* #define TIDY_USER_CONFIG_FILE "~/.tidyrc" */

Если Вы знаете C/C++, все эти строки комментируются, поэтому в действительности tidy то, что я имею, имеет все опции использовать отключенный файл конфигурации. Я также проверил дважды пакет, который был создан, чтобы моя система Fedora 14 удостоверилась, что форма файла пакета, которая был создан пакет (tidy.spec) не имел никого configure команды, которые переопределили бы вышеупомянутые конфигурации в platform.h. Я не нашел таких переопределений.

Поэтому казалось бы что запас tidy не имеет способности искать конфигурационный файл любого вида.

Таким образом, каковы Ваши опции?

Хорошо можно все еще обеспечить tidy конфигурационный файл как часть командной строки:

$ ... | tidy -config ~/.tidyrc > foo.xml

Дополнительно Вы могли использовать другую функцию tidy это, возможно, осталось незамеченным выше, его способность использовать переменную среды HTML_TIDY. Это должен быть полный путь, таким образом, Вы не можете использовать "~/.tidyrc", но Вы могли сделать это:

$ экспортируют HTML_TIDY =" $HOME/.tidyrc" кошка $-v foo.out | опрятный> foo.xml

Если Вы хотите сделать ту переменную постоянной, просто добавьте его к Вашему $HOME/.bashrc файл:

export HTML_TIDY="$HOME/.tidyrc"

Ссылки

5
30.12.2014, 15:25
2 ответа

Да, это можно настроить в /etc/login.defs с помощью параметров SUB_UID_MIN, SUB_UID_MAX и SUB_UID_COUNT и их SUB_GID_* аналогов.

Все эти параметры описаны в login.defs(5) man page, однако значения по умолчанию, приведенные в этой документации, верны не на всех платформах.

Согласно man-странице, поведение, подобное описанному вами, должно использоваться по умолчанию с диапазонами, кратными 10000. Однако это вызвало бы проблемы с некоторыми системными учётными записями и группами, UID и GID которых превышают 65000 на некоторых платформах (например, Debian и производные). Поэтому по умолчанию был введен диапазон 65536 с известным вам побочным эффектом.

Итак, чтобы получить более человекочитаемые диапазоны, вы можете явно установить следующие значения в вашем /etc/login.defs файле:

SUB_UID_MIN   100000
SUB_UID_MAX   600100000
SUB_UID_COUNT 100000
SUB_GID_MIN   100000
SUB_GID_MAX   600100000
SUB_GID_COUNT 100000

Кстати, файлы /etc/subuid и /etc/subgid действительно могут быть отредактированы вручную, но убедитесь, что диапазоны не перекрываются, и не нарушайте права собственности процессов, файлов или любых других объектов. Другими словами, хотя это безопасно делать до фактического использования диапазона, после этого потребуется особая осторожность.

1
27.01.2020, 20:43

Вы можете использовать команду usermodдля установки конкретных значений FIRST и LAST для SUBUID и SUBGID. Например:

user=<insertusername>
uid=$(id -u $user)
sudo usermod -v $((uid+200000))-$((uid+200000+65535)) -w $((uid+200000))-$((uid+200000+65535)) $user

Это добавит запись в /etc/subuid и /etc/subgid с нужными значениями. См. man usermodдля получения дополнительной информации.

0
27.01.2020, 20:43

Теги

Похожие вопросы