thaiall logomy background

ลีนุกซ์ (Linux) : superuser

my town
หน้าหลัก | ลีนุกซ์คืออะไร | แนะนำหนังสือ | superuser | บันทึกปัญหา |
 0976
9.76 การติดตั้ง Radius
: เพื่อทำเครื่อง Radius server รับบริการ Connect Internet ทางโทรศัพท์ผ่าน External modem
    โปรแกรมที่ใช้ install คือ radius-1.16.tar.GZ 27804 Byte ขั้นตอนการลงโปรแกรม su tar xvfz radius-1.16.tar.GZ cd radius-1.16 cd src make จะเกิด error ว่า radiusd.o: In function `unix_pass': radiusd.o(.text+0x1c77): undefined reference to `crypt' collect2: ld returned 1 exit status make: *** [radiusd] Error 1 จะพบว่า make ไม่ผ่านให้ ให้แก้แฟ้ม Makefile ด้วยคำสั่ง pico Makefile แล้วแก้บรรทัดหนึ่งใน Makefile จาก LIBS= เป็น LIBS= -lcrypt make cd ../raddb pico /etc/services radius 1645/udp radiusd radacct 1646/udp #radius 1812/tcp # Radius #radius 1812/udp # Radius #radacct 1813/tcp # Radius Accounting #radacct 1813/udp # Radius Accounting umask 22 mkdir /usr/adm mkdir /etc/raddb /usr/adm/radacct chmod 700 /etc/raddb /usr/adm/radacct cp * /etc/raddb cp ../src/radiusd /etc cd /etc/raddb cp clients.example clients cp users.example users เพิ่มคำว่า /etc/radiusd ในแฟ้ม /etc/rc.d/rc.local เพื่อให้ทุกครั้งที่เปิดเครื่องจะสั่ง run radiusd ขึ้นมา ให้แก้แฟ้ม users โดยลบ user อื่นออกให้หมด เพื่อต่อไปจะถาม user จาก /etc/passwd ให้แฟ้ม /etc/raddb/users เหลือเฉพาะส่วนข้างล่างนี้ ให้แก้แฟ้ม /etc/raddb/users ให้เป็นไปดังข้างล่างนี้จะรับระบบโทรศัพท์ได้ DEFAULT Password = "UNIX" User-Service-Type = Login-User, Framed-Protocol = PPP, Framed-Netmask = 255.255.255.0, Framed-Routing = Broadcast-Listen, Framed-Compression = Van-Jacobsen-TCP-IP, Framed-MTU = 1500 แฟ้ม /etc/raddb/users สามารถเขียนได้อีกรูปแบบเพื่อบริการ Modem ที่เข้ามาสอบถาม user แต่ตัว modem ไม่ได้ติดอยู่กับตัวเครื่อง yonokadmin Password = "123" User-Service-Type = Shell-User, Login-Service = Telnet, yonok Password = "456" User-Service-Type = Shell-User, Login-Service = Telnet, student1 Password = "789" User-Service-Type = Login-User, Framed-Protocol = PPP, Framed-Address = 255.255.255.254, Framed-Netmask = 255.255.255.255, Framed-Routing = None, Framed-Filter-Id = "std.ppp.in", Framed-MTU = 1500, student2 Password = "17890" User-Service-Type = Login-User, Framed-Protocol = PPP, Framed-Address = 255.255.255.254, Framed-Netmask = 255.255.255.255, Framed-Routing = None, Framed-Filter-Id = "std.ppp.in", Framed-MTU = 1500
    เมื่อต้องการเก็บข้อมูลการ login เข้ามาใช้บริการ ต้องสร้าง user ใหม่ด้วย useradd radius จะสร้างห้อง /home/radius ขึ้นมาให้ ดังข้างล่างนี้ก่อน su useradd radius cd /home/radius mkdir backup สร้าง runacct เก็บในห้อง /home/radius เขียน shell script สำหรับเก็บผลการ login ผ่านเข้ามาในระบบ เมื่อเขียนเสร็จแล้วให้ใช้คำสั่ง chmod 700 เพื่อให้เป็นโปรแกรมประมวลผล (ตอนแรกผมก็ไม่รู้ว่า detail นั้นอยู่ที่ไหน เจอเพราะใช้ find / -name detail ครับ) #!/bin/sh cp /usr/adm/radacct/door.yonok.ac.th/detail /home/radius /bin/date +%d > /tmp/date /bin/date +%m > /tmp/month /bin/date +%y > /tmp/year DATE=`cat /tmp/date` MONTH=`cat /tmp/month` YEAR=`cat /tmp/year` TODAY="$DATE$MONTH$YEAR" cd /home/radius cp detail backup mv detail $TODAY cd /tmp rm date month year rm /usr/adm/radacct/door.yonok.ac.th/detail ห้อง /etc/cron.daily ให้เพิ่มแฟ้มอีก 1 แฟ้มในห้อง /etc/cron.daily โดยมีขั้นตอนดังนี้ su pico radiusprocess พิมพ์คำนี้ลงไป /home/radius/runacct แล้ว ctrl-x ออกมาเลย chmod 755 radiusprocess สรุปในเรื่องของ Radius ดังนี้
    1. แฟ้ม /etc/rc.d/rc.loal อาจต้องเพิ่มไป 2 บรรทัด เพราะแฟ้มนี้ทำหน้าที่เสมือน autoexec.bat ของ dos และคำสั่ง 2 บรรทัดนี้อาจไม่จำเป็นก็ได้ แล้วแต่กรณี /etc/radiusd /sbin/ifconfig eth0:1 202.29.78.15
    2. ห้อง /home/radius มีแฟ้มชื่อ runacct ซึ่งเป็น script สำหรับเก็บข้อมูลการ login ไว้ทำสถิติ
    3. ห้อง /etc/raddb มีแฟ้มชื่อ users ซึ่งเก็บ account สำหรับ connect เข้ามาทั้งหมด
    4. ห้อง /etc/cron.daily มีแฟ้มชื่อ radiusprocess เพื่อสั่งให้ประมวลผลแฟ้ม /home/radius/runacct ทุกวัน
    5. แก้แฟ้ม /etc/raddb/clients ให้มีคำว่า 202.29.78.254 YournameRadiuS แทนคำว่า postmaster1 testing123 จึงจะรับ connection จากชุด Router Modem แต่ถ้าเป็นการ Connect Modem ผ่าน Com port แฟ้มนี้ไม่แก้อะไรก็ใช้ได้
    6. สำหรับ crond ต้องเปิดด้วย ใช้ ntsysv ดูว่า crond ถูกปิดหรือไม่ ถ้าไม่เปิดก็เก็บประวัติการเข้าใช้ไม่ได้

---
สารบัญ
บทที่ 9 : การบริหารระบบ โดย Super User
9.1 กำหนด IP address และ host name
9.5 Shell script เพิ่มผู้ใช้ _crt
9.6 Shell script ลบผู้ใช้
9.9 แก้ไข aliases ของ user account
9.10 เพิ่ม IP ใน Server ตัวเดียวด้วย IFCONFIG
9.11 เพิ่ม Virtual hosts
9.12 ตัวอย่าง router configuration และการ block port
9.50 ความผิดพลาด
9.52 ปรับระบบให้แข็งแรง
9.53 การทำ restricted shell
9.54 ติดตั้ง TCPWrapper เพื่อตรวจสอบ IP เครื่องต้นทาง
9.55 Network security
9.56 Procmail เพื่อกรอง spam mail และ junk mail
9.58 โปรแกรมภาษา c เพื่อสร้าง crypt ให้ shadow
9.59 ลีนุกซ์บนวินโดวส์ ด้วย cygwin (Unix Simulator)
9.61 ลืมรหัสผ่านของ root
9.62 แก้ไข httpd.conf เพื่อแก้ปัญหาของ web server
9.63 วิธีเปิดบริการ FTP server ด้วย vsftpd
9.64 วิธีเปิดบริการ homepage ให้ ~username ใน linux
9.65 วิธีเปิดบริการ samba
9.66 วิธีเปิดบริการ DNS server
9.67 ติดตั้งโปรแกรมสำหรับ Free hosting ด้วย easyhost_free.zip by CyberScript
9.68 ติดตั้งโปรแกรมสำหรับ Web-based mail ด้วย uebimiau-2.7.2-any.zip
9.69 ติดตั้ง DHCP server แจก Dynamic IP
9.71 ติดตั้ง Web Mail ของ Adjeweb หรือ Squirrelmail
9.72 ติดตั้ง squid เป็น Proxy server ที่ 3128
9.73 เพิ่ม incoming ในบริการ ftp
9.74 User authentication ด้วย .htpasswd + .htaccess
9.75 เปิดบริการ SSI (Server Side Include)
9.76 การติดตั้ง Radius
9.77 ติดตั้ง Modem สำหรับให้บริการเรียกเข้ามา
9.78 SMTP สำหรับ outgoing ของ Outlook ..
9.79 ติดตั้ง SSL (Secure Sockets Layer)
9.95 การย้ายระบบ user จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
9.96 วิธี copy server หรือ host(Backup)
9.97 Server ตัวนี้ให้บริการอะไรได้บ้าง
9.98 ขั้นตอนการทำ server ตัวนี้
9.99 การบำรุงรักษา และตรวจสอบ
Thaiall.com