9.5 โปรแกรมเพิ่มผู้ใช้ /usr/bin/_crt
: โปรแกรมนี้เป็น shell script สำหรับเพิ่มผู้ใช้อย่างง่าย สร้างด้วย pico และกำหนดให้ประมวลผลด้วย chmod
โปรแกรมนี้ชื่อ _crt ถูกเก็บไว้ในห้อง /usr/bin โดยกำหนดให้ chmod 700 เพื่อให้สั่งประมวลผล shell script ตัวนี้ได้
และการจะใช้โปรแกรมนี้ได้จะต้องกำหนด PATH ไว้ที่ห้อง /usr/bin และ /usr/sbin จึงต้องกำหนด PATH เพิ่มเติม
จากเดิม PATH=$PATH:$HOME/bin (ถ้า admin ไม่แก้ไขให้ก่อนนะครับ)
เป็นใหม่ PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
ตรวจสอบตัวแปร PATH ด้วยคำสั่ง echo $PATH
ปัญหานี้จะไม่เกิดขึ้น ถ้ากำหนดไว้ในแฟ้ม .bash_profile ในห้อง /etc/skel เพราะเป็นห้องที่เก็บค่าเริ่มต้น
Version 1: ตัวอย่างโปรแกรมที่ใช้งานอยู่
#!/bin/bash
echo Username
read un
echo Realname
read cm
finger $un
echo ===============================
read sure
RESULT="Error - Try other username again .. "
EXIST=0
id $un >/dev/null 2>/dev/null && EXIST=1
if [ $EXIST = 0 ]; then
useradd -g users -d /home/httpd/cgi-bin/$un -c "$cm" $un
chown $un:users /home/httpd/cgi-bin/$un
chmod 705 /home/httpd/cgi-bin/$un
usermod -d /home/httpd/cgi-bin/$un $un
ln -s /home/httpd/cgi-bin/$un /home/httpd/html/$un
passwd $un
RESULT="Complete"
fi
echo "Add new user : $RESULT"
Version 2: โปรแกรมข้างล่างนี้ใช้กับเครื่องที่ใช้งาน ssi ได้
#!/bin/bash
clear
echo _CRT version 2.June42001
echo User name
read un
echo Real Name
read cm
finger $un
echo ===============================
echo Are you ok?
RESULT="Error - Try other username again .. "
EXIST=0
id $un >/dev/null 2>/dev/null && EXIST=1
if [ $EXIST = 0 ]; then
read sure
useradd -g users -d /home/httpd/html/$un -c "$cm" $un
chmod 705 /home/httpd/html/$un
passwd $un
RESULT="Complete"
fi
echo "Add new user : $RESULT"
Version 3: โปรแกรมข้างล่างนี้ใช้กับ isinthai.com ในช่วงปิด telnet เพื่อให้ upload ผ่านเว็บ
เหตุที่ใช้แฟ้มชื่อ password.pl เพราะป้องกันการแอบเปิดดูรหัสผ่าน แล้วแฟ้มนี้ใช้สำหรับบริการ upload (ซึ่งไม่ได้เข้ารหัสไว้)
#!/bin/bash
echo Username
read un
echo Real name
read cm
echo Password
read password
finger $un
echo ===============================
echo Are you ok?
RESULT="Error - Try other username again .. "
EXIST=0
id $un >/dev/null 2>/dev/null && EXIST=1
if [ $EXIST = 0 ]; then
read sure
useradd -g users -d /home/httpd/html/$un -c "$cm" $un
chmod 777 /home/httpd/html/$un
echo $password>/home/httpd/html/$un/password.pl
chown nobody:nobody /home/httpd/html/$un/password.pl
chmod 700 /home/httpd/html/$un/password.pl
passwd $un
RESULT="Complete"
fi
echo "Add new user : $RESULT"
เจอปัญหาใช้ useradd ไม่ได้เพราะ lock
มีเรื่องแปลกเกิดขึ้นครับ ทำให้ไม่สามารถเพิ่ม user ได้
useradd: error locking shadow group file หรืออะไรทำนองนี้
ไม่แน่ใจว่าเกิดขึ้นเพราะเหตุใด แต่แก้ไขด้วยการลบแฟ้มที่ ls -al *.lock
หรือที่มีนามสกุลเป็น .lock ในห้อง /etc เช่น passwd.lock group.lock เป็นต้น
และทุกแฟ้มก็มีค่าเป็น 741 เหมือนกันหมด สันนิฐฐานว่าเป็นเลข ps ที่ทำการ lock ไว้
|