비밀번호가없는 사용자를 어떻게 만드나요?


22

OS X에서는 비밀번호없이 사용자를 가질 수 있습니다. dscl비밀번호로 검사하면로 표시됩니다 *. 이는 같은 같은 데이터베이스에 대한 사용자로 시스템 사용자에 사용되는 mysql, pgsql등이 사용자가 로그인 화면에 표시되지 않습니다 당신이없이로 로그인 할 수 없다는 것입니다 이것에 대해 좋은 무엇 sudo

그런 일을 시도한 사용자를 삭제 한 후 다시 만들고 싶었지만 할 수 없었습니다. 빈 비밀번호를 가진 사용자를 관리하고 비밀번호를로 설정할 수 *있습니다. 그러나 사용자가 내 로그인 화면에 표시된 것처럼 위와 동일한 효과가 없었습니다.

그런 사용자를 어떻게 만드나요?


Linux에서는 --disabled-password 플래그를 adduser에 전달합니다. 어쩌면 OS X의 명령 줄 레퍼토리에 비슷한 것이 있습니까?
BR 2

를 의미 한거야; 비밀번호가 설정되어 있지 않으면 사용자가 비밀번호없이 로그인하거나 전혀 로그인 할 수 없습니까?
Chris Huang-Leaver

1
다양한 xdm 목록에서 벗어나기위한 한 가지 요구 사항은 사용자 ID가 상당히 낮다는 것입니다. 많은 시스템 useradd에서 1000의 ID를 추가하기 시작하고 로그인 관리자는 그 아래에 사용자 ID를 표시하지 않지만 위의 모든 것을 표시합니다. 따라서이 질문에 대한 대답은 아니지만 문제의 해결 방법 일 수 있습니다. 1000은 임의적이며 분포에서 더 낮거나 높을 수 있습니다. 문제를 해결하려면 사용자 항목을 수정하여 /etc/passwduid를 낮추십시오. 이제 비슷한 질문을하겠습니다.
xenoterracide

@ xenoterracide : 사용자를 다시 만들 때 이전 ID를주었습니다. 삭제 한 pgsql 사용자는 mysql보다 ID가 하나 높은 ID 이므로이 경우 아무런 영향을 미치지 않습니다. 하지만 어쨌든 정보를 주셔서 감사합니다.
googletorp

답변:


6

passwd --delete <username>사용자를 생성 한 후 실행할 수 있습니다 adduser. 그 후에는 비밀번호를 입력하지 않고도 로그인 할 수 있습니다.


4
나는 그것이 여기에서 요구되는 것과 정반대라고 생각합니다.
Shadur

처음에는 "시스템 사용자"에 대해 언급하고 "로그인 화면"에 나타나지 않는 OP의 질문을 다시 읽을 때까지 이것이 정답이라고 생각했습니다. 이 방법은 로그인 화면에 표시되며이 방법을 사용하여 '스도'할 수 있습니다.
HidekiAI

3

/ dev / null의 홈 디렉토리와 / sbin / nologin의 쉘을 가진 / etc / passwd의 사용자는 명령을 실행하는 데 사용할 수 있지만 실제로는 로그인 할 수 없습니다.

내 / etc / passwd에서

tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin

나는 이것이 XDM 로그인 화면에서도 사라질 것이라는 것을 기억하지만 더 이상 XDM을 사용하지 않으므로 추측합니다 :-)


OP가 쉘에 대해 '/ sbin / nologin'으로 설정하여 '로그인 화면'에 '스도'또는 표시 할 수없는 계정을 요청했기 때문에 정답입니다. 한 가지 주목할 점은 OP가 "시스템 사용자"를 요청했기 때문에 (portage / ebuild와 같이) UID를 적은 수로 작성하려면 'useradd --system'을 사용해야한다는 점을 언급해야합니다.
HidekiAI

3

을 사용할 수 있습니다 .이 대신을 usermod사용하여 비밀번호를 비활성화하십시오 .!*

usermod -L <username>

usermod의 매뉴얼 페이지에서 :

-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.

2

사용 dscl하면 줄 것이다

dscl . -passwd /Users/myuser ""

이것은 위의 대부분의 답변과 달리 실제로 나를 위해 일했습니다.
GroovyCakes

1

OSX에 대해서는 확신 할 수 없지만 FreeBSD에서는 다음을 사용할 수 있습니다.

pw add user mymuser -g mygroup -s /nonexistent -h -

옵션 에 -전달 된 값은 master.passwd의 비밀번호 필드를로 설정하여 로그인하지 않는 계정을 작성하도록 -h지시 합니다. 쉘 설정은 꼭 필요한 것은 아니지만 /etc/pw.conf에서 쉘 점검을 피합니다.pw*


1

passwd파일 에서 사용자의 비밀번호 필드를 비워두면 작동합니다.



-1

Linux에서는 다음을 사용합니다.

sudo useradd -r -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

다음 대안은 더 크로스 플랫폼이어야합니다 ( -r옵션을 사용할 수없는 경우).

sudo useradd -K UID_MIN=100 -K UID_MAX=499 -K GID_MIN=100 -K GID_MAX=499 -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

이리:

  • / etc / shadow의 비밀번호 는로 설정됩니다 *. -p \*그것 없이는!

  • 쉘은 /sbin/nologin(당신도 사용할 수 /bin/false있지만 /bin일부 시스템에서는 너무 늦게 마운트 될 수 있다고 생각합니다 ). 그래서 사용자는 로그인 할 수 없습니다

  • -d 사용자의 homedir을 설정합니다

중요 사항

여기에 -r시스템 사용자를 만듭니다

이 플래그는 시스템 계정을 만드는 데 사용됩니다. 즉, /etc/login.defsUIDUID_MIN정의 된 값보다 낮고 암호가 만료되지 않은 사용자입니다. useradd는 /etc/login.defs 의 기본 설정에 관계없이 해당 사용자의 홈 디렉토리를 만들지 않습니다 . 시스템 계정의 홈 디렉토리를 만들려면 옵션 을 지정 해야합니다. 이것은 Red Hat이 추가 한 옵션 입니다.-m

-r시스템에 옵션 이 없을 수 있습니다. 따라서 로그인 화면에 표시되지 않는 시스템 사용자를 만들려면 -K옵션 을 사용할 수 있다고 생각합니다 . 같은 것 : -K UID_MIN=100 -K UID_MAX=499. 다음과 같은 옵션을 시도해 볼 수 있습니다.

-K UID_MAX=$(cat /etc/login.defs | grep ^UID_MIN | awk '{print $2}')

자동으로 당신을 결정 UID_MAX,하지만 난 사용을 필요 OS X의 당신에 테스트하지했습니다 SYS_UID_MAX위해 UID_MIN그것의 주석의 경우 같은 /etc/login.defs

시스템 그룹 ID GID_MAX와 동일 GID_MIN합니다. ( 로 사용하기 위해 /etc/login.defs 에서 GID_MIN주석 처리가 제거 SYS_GID_MAX된 경우 참조 )GID_MAX

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.