useradd로 기본 쉘이 선택되지 않음

useradd로 기본 쉘이 선택되지 않음

최신 버전의 Ubuntu 16.04.1이 설치되어 있고 root. 나는 다음과 같이 읽도록 SHELL줄을 변경했습니다 ./etc/default/useradd

SHELL=/bin/bash

(이전에 읽었습니다 /bin/sh)

실행하면 useradd -D다음과 같은 출력이 제공됩니다.

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

그런 다음 다음과 같이 사용자를 생성하려고 합니다.

useradd -m -G sudo -c "David Buckley" david

그러나 기본 쉘은 여전히 /bin/sh​​. 보다 구체적으로 /etc/passwd파일 내용은 다음과 같습니다.

david:x:1000:1000:David Buckley:/home/david:

약간 관련이 있을 수 있지만 새 사용자는 sudo 액세스 권한을 받지 못합니다. groups 가 제공되고 david sudo파일 /etc/sudoers에는 다음 행(주석 처리되지 않음)이 포함됩니다.

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

내가 뭘 잘못하고 있는 걸까요?

답변1

이것은알려진 버그Ubuntu의 경우 useradd(Ubuntu 전용 패치로 추가됨) 에 지정된 모든 설정을 무시합니다 /etc/default/useradd.

해결 방법은 다음과 같습니다.마울링론스의 대답adduser는 데비안 파생물에 시스템이 아닌 사용자를 추가하는 데 권장되는 도구인 대신 사용하는 것 입니다.

답변2

이상하게도 어제 Ubuntu 16.04 LTS를 실행하는 서버에서 이런 일이 일어났습니다.

나는 그것에 대해 구체적인 대답을 가지고 있지 않다.이런 일이 발생하지만 여기에 저에게 도움이 된 빠른 해결책이 있습니다.
을 사용하지 말고 대신 useradd사용하십시오 adduser!

설명

adduseraddgroup 의 명령줄 옵션과 구성 정보에 따라 시스템에 사용자와 그룹을 추가 합니다 /etc/adduser.conf. 기본적으로 데비안 정책을 준수하는 UID 및 GID 값을 선택하고, 뼈대 구성으로 홈 디렉토리를 생성하고, 사용자 정의 스크립트를 실행하고, 기타 기능을 제공하는 프로그램 과 useradd같은 하위 수준 도구에 대한 더 친숙한 프런트 엔드입니다 .groupaddusermod

의 경우 sudo새 그룹 설정이 적용되려면 해당 사용자를 로그아웃했다가 다시 로그인해야 합니다.

여기좋은 링크useraddadduser.

관련 정보