Меню Закрыть

No directory logging in with home

Я пытаюсь понять системное администрирование на Ubuntu. Итак, в качестве примера я создаю фиктивного пользователя, использующего

и passwd для создания пароля. Я проверяю, что запись была сделана с использованием cat /etc/passwd

Однако, когда I su — linda , я получаю

и, действительно, домашний каталог не создан. Что мне не хватает?

10 ответов

man useradd состояния:

Обратите внимание на low level utility

Чтобы добавить пользователя, вместо этого используйте adduser . Это более высокоуровневая утилита.

Кроме того, глядя на параметр -d :

The directory will not be created if it is missing.

Как правило, избегайте useradd , вместо этого используйте adduser .

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

попробуйте войти в систему, и это должно сработать.

В зависимости от man useradd , опция -d /home/linda не создаст каталог /home/linda , если этого не хватает. Итак, вы должны создать его вручную. Для этого выполните следующие команды в терминале:

См. также: Как создать домашнюю папку пользователя после учетной записи создание?

Посмотрите на /etc/defaults/useradd , если вы хотите изменить значения по умолчанию. Использование:

useradd -m -d /home/joe -s /bin/bash .

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

Это особенно полезно, если ваша система находится в сети, где пользователи управляются извне на ваш компьютер, например, с помощью LDAP.

Используйте -m вместо -d , поэтому каталог будет создан для вас:

sudo useradd -m linda

Кроме того, если linda является обычным пользователем, вы можете захотеть, чтобы она использовала /bin/bash по умолчанию shell :

sudo useradd -m linda -s /bin/bash

Читайте также:  Программа для открытия pdf файлов на компьютере

Добавьте следующую запись в /etc/login.defs и сохраните:

Теперь попробуйте создать учетные записи пользователей. Он создаст домашний каталог.

useradd вы должны сами добавить все параметры. Включая разрешения и некоторые другие вещи. adduser делает это на основе нормальных значений по умолчанию (а также добавляет домашний каталог самостоятельно).

Если вам нужно использовать adduser, вам, вероятно, понадобится опция -b вместе с опцией -d!

Если /home/linda отсутствует до того, как вы добавите linda в качестве пользователя, вам также нужно будет добавить —create-home .

Наиболее вероятная причина, по которой у вас не было созданного домашнего каталога, заключается в том, что у вас не было CREATE_HOME yes в /etc/login.defs .

Вы можете исправить это, указав, что предложили @OmPS или @Radu Rădeanu.

Но многие способы преодолеть эту проблему в будущем, используя одну из приведенных ниже команд:

Результат sudo adduser linda

По умолчанию для adduser выбираются из /etc/adduser.conf , если —home не указывается. Обратите внимание, что он также копирует содержимое /etc/skel .

Использовать adduser с —home

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

Укажите базовый каталог для команды useradd :

I checked by doing :

after ls shows my directory malik

as shown in picture as well :

But I don’t know why it is saying "No directory, logging in with" ?

1 Answer 1

The directory permissons says

Owner: root, Group: root, Others: cannot access

I think you created the directory as user root.

Change the directorys permissons with

The sudo command gives you temporary root permissons for a specified command. If you want to get temporary root permissons for more than one command use

Читайте также:  Почему компьютер не видит телефон через шнур

About the seconde error message: su — malik

It seams to me that you have not set a home directory for the user malik. You find this settings in /etc/passwd. It should look like

Created a new user in Ubuntu 11.04 using:

Now, after this I set its password using passwd dummy , but when I login to that user using su — dummy . I get the message:

No home directory, logging in with HOME=/

If I check the user account dummy’s entry in /etc/passwd :

I manually created the directory to resolve this issue through mkdir /home/dummy .

Now, the error seems to be resolved, but I’m amazed as to why no files like bash_profile are created in that home directory.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.