Bash 스크립트를 통해 사용자 계정을 추가하는 올바른 방법

Bash 스크립트를 통해 사용자 계정을 추가하는 올바른 방법

이 질문을 다른 사람에게 게시하고 있습니다.우분투에 물어보세요내 문제는 데비안/우분투에서 최악인 것 같아서 누군가 여기에 물어볼 것을 제안했습니다. 이 문제에 대해 제안된 해결책이 무엇이든 대부분의 배포판(예: openSuse 및 Ubuntu)에서 작동합니다. 지금 사용하고 있는 스크립트 코드는 다음과 같습니다.

getent group $MYGROUP
if [ $? -ne 0 ] ; then
    sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"

Ubuntu에서 생성되는 사용자 계정에는 몇 가지 문제가 있습니다.

  • 터미널 프롬프트가 설정되지 않았습니다( echo $PS1아무것도 반환되지 않음)
  • 터미널에서 화살표 키와 Tab 키가 제대로 작동하지 않습니다.
  • 비밀번호가 작동하지 않는 것 같습니다(정확히 문제가 무엇인지는 아직 확실하지 않지만).
  • 새 사용자에 대해 설정된 /etc/sudoers 권한을 존중하지 마십시오.

useradd 대신 수동으로 사용자를 생성하면 adduser이러한 문제가 발생하지 않습니다. 하지만 데비안이 아닌 독점 스크립트나 bash 스크립트를 통해 사용자 계정을 추가하는 방법이 필요합니다.

나도 하나 갖고 있어이전 질문주제에 대해서는이 질문과 관련이 없을 정도로 다릅니다.

답변1

/bin/sh문제는 Debian의 새로운 사용자를 위한 기본 셸 에는 익숙한 대부분의 기능이 없다는 것입니다 . 명령 에 bash추가해 보세요 .-s /bin/bashuseradd

기본 쉘을 편집하여 영구적으로 변경할 수도 있습니다 /etc/default/useradd.

편집하다:

비밀번호를 자동으로 변경하는 솔루션(MountainX에서 발견)은 다음과 같습니다.여기

답변2

커서 키와 프롬프트 문제는 뼈대 파일이 올바르게 복사되지 않는 것처럼 들립니다. 새 사용자를 위한 홈 디렉토리가 있습니까 .bashrc?

비밀번호는 man useraddSlack에서 알려줬어요

-p, --password PASSWORD 암호화된 비밀번호, crypt(3)에 의해 반환됩니다. 기본값은 비밀번호를 비활성화하는 것입니다.

따라서 거기에 일반 텍스트 비밀번호를 입력하면 안 됩니다. 하지만 현재로서는 crypt를 수동으로 호출할 수 있는 편리한 방법을 찾을 수 없으므로 추가로 호출해야 할 수도 있습니다 sudo passwd $mynewuser.

관련 정보