ถามเรื่อง การ adduser ทีละมากๆ
Submitted by on 4 February, 2008 - 09:21.
ผมต้องการ adduser ทีละหลายๆคน(1000-2000)อยากทำเป็น File คำสั่งต้องทำเป็นรูปแบบใดครับ
|
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |
















Re: ถามเรื่อง การ adduser ทีละมากๆ
ผมไม่มีความรู้ว่า การเพิ่มผู้ใช้ในระบบมากขนาดนั้น เหมาะสมที่จะใช้ระบบ user ในลินุกซ์ปกติหรือไม่
แต่หากต้องการทำจริง ๆ อาจเขียนสคริปต์ขึ้นมาจัดการเองได้ครับ
ยกตัวอย่างการสร้างสคริปต์อย่างง่ายคือ
GROUPNAME:GIDคือ ชื่อกรุ๊ป และไอดีของกรุ๊ป
GROUPNAME:UID:USERNAME:PASSWORDคือ ชื่อกรุ๊ป ไอดีผู้ใช้ ชื่อผู้ใช้ และรหัสผ่านตามลำดับgen-group-users.shจะเป็นดังนี้#!/bin/bash if ! [ -f group-data ]; then echo "File $1/group-data not exist" exit 1 fi if ! [ -f users-data ]; then echo "File $1/user-data not exist" exit 1 fi if ! [ $UID == 0 ]; then echo "Please run as root" exit 1 fi SYSGROUP="lp,dialout,cdrom,floppy,audio,video,plugdev,lpadmin,sudo" #CREATE GROUP cat group-data | while read LINE; do GROUPNAME=`echo $LINE | cut -d : -f 1` GROUPID=`echo $LINE | cut -d : -f 2` done #CREATE USER cat users-data | while read LINE; do GROUPNAME=`echo $LINE | cut -d : -f 1` USERID=`echo $LINE | cut -d : -f 2` USERNAME=`echo $LINE | cut -d : -f 3` PASSWORD=`echo $LINE | cut -d : -f 4` /usr/sbin/useradd -g $GROUPNAME -u $USERID -m -d /home/$USERNAME \ -G $SYSGROUP -s /bin/bash $USERNAME echo $USERNAME:$PASSWORD$SUFFIX >> pass.txt #FOR SAMBA USER #(echo $PASSWORD$SUFFIX ; echo $PASSWORD$SUFFIX) | smbpasswd -a -s $USERNAME done #SET ALL USERS PASSWORD /usr/sbin/chpasswd < pass.txt rm -rf pass.txtทำให้รันได้
โดย
SYSGROUPเป็นกรุ๊ปของระบบ ที่จะให้ผู้ใช้ในชุดนี้เข้าเป็นสมาชิก-mคือยึดเอาโครงสร้างไดเรกทอรี่ของระบบ (ดูที่/etc/skel)-sคือให้เชลล์เป็น/bin/bashเป็นต้น
สั่งรันด้วยคำสั่ง
สิ่งที่สคริปต์นี้ยังขาดคือ
/home/olduser1กลับมาใช้หรือไม่