우분투에서 여러 사용자를 추가하는 스크립트 (대량)


9

우분투 12.04에서 스크립트로 10 명의 사용자를 추가해야합니다.

이렇게하면 사용자를 수동으로 추가하여 시간을 줄일 수 있으며이 스크립트를 다른 데스크탑에 적용 할 수 있습니다.

각 사용자에게는 특정 사용자와 특정 그룹이 있습니다.

어떤 생각?


답변:


5

터미널을 열고 다음을 입력 vim /tmp/name파일과 사용자의 이름을 만들 : 예를 :

vim /tmp/name
mika
mery
etc

Home Dir 및 기본 쉘을 사용하여 사용자를 작성하십시오.

for i in `cat /tmp/name`; do useradd -m -d /home/$i -s /bin/bash $i; done

각 사용자의 비밀번호를 작성하십시오.

for i in `cat /tmp/name`; do passwd $i; done


0

당신은 이것을 시도 할 수 있다고 생각합니다.

for user in {1..200}; do
    echo "Creating user$user"
    cat <<EOF | adduser --gid 500 user$user
password
password
user$user







EOF
done

여기서 모든 사용자는 같은 그룹에 있습니다.
guntbert

@guntbert 그들은 또한 OP의 답변에있었습니다. 모두 OP의 513에 있었다.
kiri

사실이지만이 질문에는 "각 사용자마다 특정 사용자와 특정 그룹이 있습니다." - --gid 500부분 을 생략하여 달성 할 수 있습니다.
guntbert

0

대답을 봐 여기 당신이 최선의 방법을 추가 할 사용자의 전체 많이하지 않는 말한다 사용하는 것입니다 adduser(사용자 추가)과 usermod많은 것들을 돌봐 (그룹에 사용자를 추가하는). 당신은 여전히 미리 만들어진 스크립트하고자하는 경우,이 하나 여기에 또 다른 하나 여기에 ,하지만 난 모르는 당신을 위해 진짜로 일 경우


-1

내 솔루션입니다. 파일을 /tmp/userlist만들고 모든 사용자 이름을 추가했습니다. 스크립트가 완료되면 사용자가 생성되며 file에서 사용자 이름과 임의의 암호를 찾을 수 있습니다 /tmp/userlist-created. 나는 그것이 완벽한 해결책이 아니라는 것을 안다.

root@demobox:/root : cat /tmp/userlist
xyz1
zyz2
zyz3

root@demobox:/root : cat demo.sh
#!/bin/bash

if [ -f /tmp/userlist ]
then
for i in $(cat /tmp/userlist)
do
if [ -f /usr/bin/pwgen ]
then
PASSWORD=$(pwgen -1 -s 16)
else
PASSWORD=$(cat /dev/urandom | tr -dc "passwordNSR!@#$%0-9" | fold -w 9 | head -1)
fi
useradd -s /bin/bash -d "/home/$i" -m -p "$PASSWORD" "$i"
echo "$i --------- $PASSWORD" >>/tmp/userlist-created
done
else
echo "File /tmp/userlist not found"
fi
chmod 0600 /tmp/userlist-created

root@demobox:/root : ./demo.sh

root@demobox:/root : cat /tmp/userlist-created
xyz1 --------- FivSHfdbDCRffhc7
zyz2 --------- AIjFjE0bv3FslHnp
zyz3 --------- JazcGcKYp2Y0I3Rk

root@demobox:/root : egrep "xyz1|zyz2|zyz3" /etc/passwd
xyz1:x:9016:100::/home/xyz1:/bin/bash
zyz2:x:9017:100::/home/zyz2:/bin/bash
zyz3:x:9018:100::/home/zyz3:/bin/bash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.