useradd: "9001" 그룹이 존재하지 않습니다.

useradd: "9001" 그룹이 존재하지 않습니다.

다음 명령을 실행하려고 합니다. root@minimanode:/# sudo wget -O minima_setup.sh https://raw.githubusercontent.com/minima-global/Minima/master/scripts/minima_setup.sh && chmod +x minima_setup.sh && sudo ./minima_setup.sh -r 9002 -p 9001

그리고 출력:useradd: group '9001' does not exist

무엇을 해야 할까요?

우분투 20.04.3 LTS(GNU/Linux 5.4.0-104-일반 x86_64)

답변1

이는 해당 gid가 있는 그룹을 찾을 수 없기 때문입니다. 설치 스크립트를 실행하기 전에 그룹을 생성한 다음 생성 라인을 제거하는 것은 어떨까요? userdel minima | groupdel minima그런 다음 groupadd -g 9001 minima 이전에 이것을 실행했다면 getent그룹에서 정보를 읽는 데 if 블록이 필요하지 않을 것입니다(그래서 제거했습니다).

스크립트:

#!/bin/sh
set -e

CLEAN_FLAG=''
PORT=''
HOST=''
HOME="/home/minima"
CONNECTION_HOST=''
CONNECTION_PORT=''
SLEEP=''
RPC=''

print_usage() {
  printf "Usage: Setups a new minima service for the specified port"
}

while getopts ':xsc::p:r:d:h:' flag; do
  case "${flag}" in
    s) SLEEP='true';;
    x) CLEAN_FLAG='true';;
    r) RPC="${OPTARG}";;
    c) CONNECTION_HOST=$(echo $OPTARG | cut -f1 -d:);
       CONNECTION_PORT=$(echo $OPTARG | cut -f2 -d:);;
    p) PORT="${OPTARG}";;
    d) HOME="${OPTARG}";;
    h) HOST="${OPTARG}";;
    *) print_usage
       exit 1 ;;
  esac
done

apt update
apt install openjdk-11-jre-headless curl jq -y


if ! id -u 9001 > /dev/null 2>&1; then
  echo "[+] Adding minima user"
    useradd -r -u 9001 -g 9001 -d $HOME minima
    mkdir $HOME
    chown minima:minima $HOME
fi

wget -q -O $HOME"/minima_service.sh" "https://github.com/minima-global/Minima/raw/master/scripts/minima_service.sh"
chown minima:minima $HOME"/minima_service.sh"
chmod +x $HOME"/minima_service.sh"

CMD="$HOME/minima_service.sh -s $@"
CRONSTRING="#!/bin/sh
$CMD"

echo "$CRONSTRING" > /etc/cron.weekly/minima_$PORT
chmod a+x /etc/cron.weekly/minima_$PORT

CMD="$HOME/minima_service.sh $@"
/bin/sh -c "$CMD"

echo "Install complete - showing logs now -  Ctrl-C to exit logs, minima will keep running"
journalctl -fn 10 -u minima_$PORT

추신: 다음 번에는 더 많은 정보, 코드 또는 이와 유사한 것을 제공해주세요. 편집 중인 내용을 인터넷에서 검색해야 합니다.

관련 정보