различие между useradd-b и useradd-d

tmp не должен использоваться для персистентных данных

LSB (Основа Стандарта Linux) определяет в FHS (FilesystemHierarchyStandard) 2.3 это

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

Как Gilles указал, это может включать сокеты для того, чтобы запустить программы. Большинство этих программ является propably сетевыми службами, расположенными в runlevel 2 или 3.

Получить информацию о детали для Вашей системы:

cd /etc/init.d ; grep tmp * должен показать Вам использование tmp во время начальной загрузки.

Сделайте дополнительное grep mktemp * искать высокоуровневое использование tmp.

Каждая программа должна использовать tmp только очень вскоре.

В Вашей рабочей системе делают fuser /tmp/* ; fuser /tmp/*/* и так далее проверять на выполнение процессов, блокирующихся tmp.

Кроме этого/etc/fstab должен быть стандартным местом для монтирования файловых систем - почему Вы не должны добавлять его с "1 2"?

3
22.07.2013, 11:38
1 ответ

-b указывает местоположение корневых каталогов пользователей. На Вашем среднем поле Debian это будет /home; можно изменить значение по умолчанию путем редактирования /etc/default/useradd. useradd добавит новое имя пользователя к этому пути для получения корневого каталога. Это означает это, если Вы делаете

useradd -b /somewhere ian

каталог нового пользователя будет /somewhere/ian.

-d устанавливает корневой каталог явно, независимо от значений по умолчанию. Так

useradd -d /somewhere-else/ian ian

затем корневой каталог пользователя будет установлен на /somewhere-else/ian.

Обратите внимание, что каталог будет установлен в файле паролей, но не будет на самом деле создан если -m также указан (или CREATE_HOME установка включена в файле значений по умолчанию).

5
27.01.2020, 21:17
  • 1
    , Ваше объяснение (главным образом) корректно, но лучше подчеркнуть различие между переключателями, Вы, возможно, использовали что-то другое, чем "ian" как корневой каталог в -d пример. Это - основной момент использования -d вместо -b. Кроме того, в -d пример Вы пропускаете имя пользователя, так, чтобы команда не работала бы. –  Paulo Almeida 22.07.2013, 12:19
  • 2
    Ой, я зафиксировал свою опечатку, благодарит указать на это. –  Flup 22.07.2013, 12:21
  • 3
    В связи с -m опция - различие между -b и -d это -d позволяет определять подлинное имя, возможно отличающееся от имени пользователя [например. /somewhere/ians_new_home] и это -b создает новый каталог с именем пользователя [/somewhere/ian поскольку Вы уже описали :)]. Using neither - b', ни -d [в связи с -m] создаст нового пользователя с корневым каталогом в /home. Это, возможно, действительно было всем, что является о том различии? Другой случай 'наблюдаемого, потому что слишком очевидный?' –  erch 23.07.2013, 20:02

Теги

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