Как удалить домашний каталог пользователя, не удаляя пользователя?

[root@Acheron ~]# systemctl status shadow
● shadow.service - Verify integrity of password and group files
   Loaded: loaded (/usr/lib/systemd/system/shadow.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2019-05-14 13:59:34 EDT; 1s ago
  Process: 25502 ExecStart=/bin/sh -c /usr/bin/pwck -r || r=1; /usr/bin/grpck -r && exit $r (code=exited, status=1/FAILURE)
 Main PID: 25502 (code=exited, status=1/FAILURE)

May 14 13:59:34 Acheron systemd[1]: Started Verify integrity of password and group files.
May 14 13:59:34 Acheron sh[25502]: user 'netdata': directory '/home/netdata' does not exist
May 14 13:59:34 Acheron sh[25502]: pwck: no changes
May 14 13:59:34 Acheron systemd[1]: shadow.service: Main process exited, code=exited, status=1/FAILURE
May 14 13:59:34 Acheron systemd[1]: shadow.service: Failed with result 'exit-code'.

У этого пользователя не должно быть домашнего каталога. Я хочу обновить его запись в / etc / passwd , чтобы удалить домашний каталог. Я мог бы отредактировать этот файл напрямую, но это кажется небезопасным. Есть ли способ лучше?

0
задан 14 May 2019 в 21:13
3 ответа

/ etc / passwd 의 다른 항목을 보면 "홈 디렉토리가없는"사용자가 실제로 홈 디렉토리를 / 로 설정 한 것 같습니다. .

usermod -d / netdata 를 사용하여 일치하도록 사용자의 홈 디렉토리를 업데이트했습니다.

0
ответ дан 23 November 2019 в 23:52

당신의 의도에 따라 다릅니다. 사용자가 대화 형 쉘로 로그인하기를 원합니까, 아니면 일반적인 로그인 수단을 통해 사용자 계정을 사용할 수 없게 하시겠습니까? 귀하의 질문에 직접 답변 할 수있는 평판이 없습니다. '답변'을 통해 질문을 명확히하고 있습니다.

0
ответ дан 23 November 2019 в 23:52

Похоже, вы намереваетесь убедиться, что учетная запись пользователя существует, но не может использоваться для входа в систему.

Если я прав, я бы сделал три шага.

  • Изменить запись пользователя и указать общий домашний каталог
  • Изменить запись пользователя и указать оболочку «nologin»
  • Удалить предыдущий домашний каталог пользователя.

Сначала удалите домашний каталог пользователя (это важно чтобы сделать это перед изменением дома пользователя). rm -rf ~ имя пользователя

Первые два могут быть достигнуты с помощью команды usermod: usermod -d / new / shared / directory -s / sbin / nologin

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

Примеры Usermod, по большей части useradd работает одинаково

0
ответ дан 23 November 2019 в 23:52

Теги

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