Subscribe to fs Linux |File Server Linux Subscribe to fs Linux |File Server Linux's comments

  KitchenSource GREAT PRICES ON BLUETOOTH HEADSETS!

ด้วยข้อดีหลายๆ อย่างที่มีเพิ่มใน MySQL เวอร์ชั่น 5.1 ไม่ว่าจะเป็น partitioning, replication, storage engine, และอื่นๆ ทางเราแนะนำให้ upgrade เป็นเวอร์ชั่นใหม่

บทความนี้จะแนะนำวิธีการ upgrade MySQL บน  Fedora 10 ซึ่งเวอร์ชั่นที่มากับแผ่นดีวีดีติดตั้งจะเป็นเวอร์ชั่น 5.0.67 โดยจะปรับปรุงเฉพาะ MySQL แต่จะไม่มีการปรับปรุง ส่วนอื่นๆ ที่มาต่อเชื่อม เช่น  PHP ยังคงใช้ไฟล์ rpm ชื่อ php-mysql ที่อยู่ในแผ่นติดตั้ง Fedora 10 สร้างมาสำหรับ MySQL 5.0

 

ตรวจสอบ MySQL ที่ติดตั้งและสำรองข้อมูล

ใช้คำสั่ง rpm เพื่อตรวจสอบว่ามี MySQL ติดตั้งอยู่หรือไม่

[root@mysql5 ~]# rpm -qa | grep -i mysql
mysql-5.0.67-2.fc10.x86_64
mysql-server-5.0.67-2.fc10.x86_64
php-mysql-5.2.6-5.x86_64
mysql-libs-5.0.67-2.fc10.x86_64
perl-DBD-MySQL-4.005-8.fc9.x86_64

ปิดเว็บเซิร์ฟเวอร์หรือโปรแกรมอื่นๆ ที่มีการเชื่อมต่อเข้ากับ database ตัวนี้

[root@mysql5 ~]# service httpd stop
Stopping httpd:                                            [  OK  ]

ใช้คำสั่ง mysqldump เพื่อสำรองข้อมูลของ database ทั้งหมด บันทึกเป็นไฟล์เก็บไว้

[root@mysql5 ~]# mysqldump -u root -p --all-databases > mysql-5.0-dump.sql

ปิดเซอร์วิส MySQL Database Server

[root@mysql5 ~]# service mysqld stop
Stopping MySQL:                                            [  OK  ]

ถอดโปรแกรม MySQL และโปรแกรมที่เกี่ยวข้องที่ติดตั้งอยู่

ใช้คำสั่ง rpm -ev เพื่อถอดโปรแกรม MySQL และโปรแกรมที่เกี่ยวข้องออก

[root@mysql5 ~]# rpm -ev mysql-server
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
[root@mysql5 ~]# rpm -ev mysql
[root@mysql5 ~]# rpm -ev perl-DBD-MySQL
[root@mysql5 ~]# rpm -ev php-mysql
[root@mysql5 ~]# rpm -ev mysql-libs
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

ติดตั้ง MySQL 5.1

ดาวน์โหลด MySQL 5.1 จากเว็บไซต์  สามารถดูเว็บไซต์ดาวน์โหลดได้ในข้อมูลอ้างอิง สำหรับการติดตั้งบน Fedora 10 แนะนำให้เลือกเป็นไฟล์ rpm ที่สร้างขึ้นมาสำหรับ Red Hat Enterprise Linux 5 RPM โดยไฟล์ที่ต้องดาวน์โหลดมาประกอบด้วย

  • Server
  • Client
  • Shared compatibility

หมายเหตุ เวอร์ชั่นล่าสุด ณ ตอนที่เขียนบทความนี้เป็นเวอร์ชั่น 5.1.31

ใช้คำสั่ง rpm -ivh เพื่อติดตั้งไฟล์ rpm ที่ดาวน์โหลดมา ตามลำดับดังนี้

[root@mysql5 rhel5]# rpm -ivh MySQL-client-community-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-client-community ########################################### [100%]
[root@mysql5 rhel5]# rpm -ivh MySQL-shared-compat-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-shared-compat    ########################################### [100%]
[root@mysql5 rhel5]# rpm -ivh MySQL-server-community-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-server-community ########################################### [100%]
ERROR: 1136  Column count doesn't match value count at row 1
090214 11:59:07 [ERROR] Aborting
090214 11:59:07 [Warning] Forcing shutdown of 2 plugins
090214 11:59:07 [Note] /usr/sbin/mysqld: Shutdown complete
Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.
You can try to start the mysqld daemon with:
    shell> /usr/sbin/mysqld --skip-grant &
and use the command line tool /usr/bin/mysql
to connect to the mysql database and look at the grant tables:
    shell> /usr/bin/mysql -u root mysql
    mysql> show tables
Try 'mysqld --help' if you have problems with paths.  Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com/.  Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS.  Another information source are the
MySQL email archives available at http://lists.mysql.com/.
Please check all of the above before mailing us!  And remember, if
you do mail us, you MUST use the /usr/bin/mysqlbug script!
Starting MySQL.[  OK  ]
Giving mysqld 2 seconds to start

หลังจากติดตั้ง เซอร์วิส MySQL จะรันขึ้นมาโดยอัตโนมัติ

ตรวจสอบไฟล์ rpm ของ MySQL 5.1 ที่ปรับปรุง

[root@mysql5 rhel5]# rpm -qa | grep -i mysql
MySQL-shared-compat-5.1.31-0.rhel5.x86_64
MySQL-client-community-5.1.31-0.rhel5.x86_64
MySQL-server-community-5.1.31-0.rhel5.x86_64

ใช้คำสั่ง mysql เพื่อตรวจสอบเวอร์ชั่น และรายละเอียดอื่นๆ ของ database server ที่ปรับปรุงไป

[root@mysql5 rhel5]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.31-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.1.31-community |
+------------------+
1 row in set (0.00 sec)
mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)
mysql> exit

ติดตั้ง rpm ของ โปรแกรมอื่นๆ กลับเข้าไปเหมือนเดิม เช่น php-mysql ไฟล์จะอยู่ในแผ่นดีวีดีติดตั้ง

[root@mysql5 ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@mysql5 ~]# cd /media/Packages/
[root@mysql5 Packages]# rpm -ivh php-mysql-5.2.6-5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:php-mysql              ########################################### [100%]
[root@mysql5 Packages]# cd /
[root@mysql5 /]# umount /media/
[root@mysql5 /]#

รันเว็บเซิร์ฟเวอร์กลับเหมือนเดิม

[root@mysql5 /]# service httpd start
Starting httpd:                                            [  OK  ]

ข้อมูลอ้างอิง

บทความนี้ขอแนะนำการปรับแต่งคอนฟิกพื้นฐานของ Apache ซึ่งติดตั้งมากับ Fedora 9 ทำให้เว็บเซิร์ฟเวอร์ทำงานอย่างมีประสิทธิภาพ โดยการปิดคุณสมบัติที่ไม่ได้ใช้งานออกไป เพื่อประหยัดขนาด CPU, Memory ที่ต้องใช้ในการรันโปรแกรม

การแก้ไขทั้งหมดในบทความนี้เป็นการแก้ไขคอนฟิกในไฟล์ /etc/httpd/conf/httpd.conf ซึ่งจะเป็นไฟล์คอนฟิกหลักของ Apache เว็บเซิร์ฟเวอร์

คำเตือน

                      กรุณาทดสอบการแก้ไขคอนฟิกในเครื่องทดลองก่อนที่จะนำไปใช้กับเว็บเซิร์ฟเวอร์จริงๆ
                      แนะนำให้สำรองไฟล์ (backup) ก่อนที่จะแก้ไขคอนฟิก
ตรวจสอบความถูกต้องของรูปแบบไฟล์ httpd.conf
เมื่อแก้ไขไฟล์ httpd.conf เสร็จสิ้น ให้ใช้คำสั่ง httpd –t เพื่อตรวจสอบรูปแบบ (syntax) ของไฟล์ก่อนว่าถูกต้องหรือไม่ ผลลัพธ์จากการรันคำสั่งต้องขึ้นว่า Syntax OK ก่อนที่จะ restart เซอร์วิสใหม่อีกครั้งเพื่อให้คอนฟิกที่แก้ไขมีผล

ตัวอย่างการใช้คำสั่ง httpd –t เพื่อตรวจสอบ syntax ของไฟล์ httpd.conf

[root@web-server ~]# httpd -t
Syntax OKตัวอย่างผลลัพธ์การตรวจสอบในกรณีที่รูปแบบ syntax ของไฟล์ httpd.conf ไม่ถูกต้อง

[root@web-server ~]# httpd -t
Syntax error on line 44 of /etc/httpd/conf/httpd.conf:
Invalid command ‘ServerToken’, perhaps misspelled or defined by a module not included in the server configurationผลลัพธ์จะฟ้องว่าผิดตรงไหนในไฟล์คอนฟิก พร้อมทั้งคำแนะนำในการแก้ไข ซึ่งต้องแก้ไขจนกว่าจะได้ผลลัพธ์ “Syntax OK” แล้วค่อยใช้คำสั่ง service เพื่อทำการ restart เว็บเซิร์ฟเวอร์

——————————————————————————–

ServerTokens OS
ServerTokens จะเป็นคอนฟิกที่ใช้ควบคุมการส่งข้อมูลของ Server: ใน HTTP Header กลับไปยังเว็บไคลเอนต์ เพื่ออธิบายถึงโปรแกรมที่ใช้รันเป็นเว็บเซิร์ฟเวอร์ และรายละเอียดเพิ่มเติม

แนะนำให้เปลี่ยนคอนฟิกจาก OS เป็น Prod เพื่อลดรายละเอียดของโปรแกรมที่ใช้ ด้วยเหตุผลทางด้านความปลอดภัยของตัวเซิร์ฟเวอร์เอง

ดีฟอลต์จากการติดตั้ง Fedora 9

ServerTokens OSข้อมูล Server: ใน HTTP Header ที่ส่งกลับไปยังไคลเอนต์จะมีทั้งชื่อโปรแกม เวอร์ชั่น และระบบปฏิบัติการที่ใช้ เช่น Apache/2.2.8 (Fedora)

คำแนะนำ

ServerTokens Prodข้อมูล Server: ใน HTTP Header จะส่งแค่คำว่า Apache

——————————————————————————–

ServerSignature On
คอนฟิก ServerSignature จะควบคุมการแสดงข้อมูลของเว็บเซิร์ฟเวอร์ในหน้าเว็บเพจที่เปิดแล้วมีปัญหา เช่น Apache Server at 10.3.3.91 Port 80

แนะนำให้เปลี่ยนจาก On เป็น Off เพื่อปิดการแสดงข้อมูล

ดีฟอลต์จากการติดตั้ง Fedora 9

ServerSignature Onคำแนะนำ

ServerSignature Off
——————————————————————————–

ปิดการใช้คุณสมบัติ Indexes
ดีฟอลต์คอนฟิกที่ติดตั้งมากับ Fedora นั้น จะเปิดการใช้ Indexes เพื่อแสดงชื่อไฟล์ต่างๆ ที่อยู่ในไดเร็คทอรี่ ที่ไม่มีไฟล์ index.html

ดีฟอลต์จากการติดตั้ง Fedora 9
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
คำแนะนำ

ปิดการใช้งาน Indexes โดยลบออกจากบรรทัด Options ในคอนฟิก Directory ต่างๆ
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

——————————————————————————–

ปิดคอนฟิกการแสดงรูป icons
หลังจากการปิดการใช้งาน Indexes เพื่อแสดงชื่อไฟล์ต่างๆ ที่อยู่ในไดเร็คทอรีที่ไม่มีไฟล์ index.html เราสามารถปิดคอนฟิก icons ในบรรทัดต่อไปนี้ในไฟล์ได้ วิธีการปิดที่แนะนำคือใส่เครื่องหมาย # ไว้ด้านหน้า

ตัวอย่างการปิดคอนฟิก icons ในไฟล์ httpd.conf ด้วยการใส่เครื่องหมาย #

#Alias /icons/ “/var/www/icons/”#
# Options Indexes MultiViews FollowSymLinks
# AllowOverride None
# Order allow,deny
# Allow from all
##IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable#AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip#AddIconByType (TXT,/icons/text.gif) text/*
#AddIconByType (IMG,/icons/image2.gif) image/*
#AddIconByType (SND,/icons/sound2.gif) audio/*
#AddIconByType (VID,/icons/movie.gif) video/*#AddIcon /icons/binary.gif .bin .exe
#AddIcon /icons/binhex.gif .hqx
#AddIcon /icons/tar.gif .tar
#AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
#AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
#AddIcon /icons/a.gif .ps .ai .eps
#AddIcon /icons/layout.gif .html .shtml .htm .pdf
#AddIcon /icons/text.gif .txt
#AddIcon /icons/c.gif .c
#AddIcon /icons/p.gif .pl .py
#AddIcon /icons/f.gif .for
#AddIcon /icons/dvi.gif .dvi
#AddIcon /icons/uuencoded.gif .uu
#AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
#AddIcon /icons/tex.gif .tex
#AddIcon /icons/bomb.gif core#AddIcon /icons/back.gif ..
#AddIcon /icons/hand.right.gif README
#AddIcon /icons/folder.gif ^^DIRECTORY^^
#AddIcon /icons/blank.gif ^^BLANKICON^^#DefaultIcon /icons/unknown.gif#ReadmeName README.html
#HeaderName HEADER.html#IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
——————————————————————————–

ปิดการใช้งาน CGI (ในกรณีที่ไม่ใช้งาน)
หากเว็บเซิร์ฟเวอร์ไม่มีการใช้งาน CGI แนะนำให้ปิดคุณสมบัตินี้ออกไป วิธีการปิดคือใส่เครื่องหมาย # นำหน้า บรรทัดต่อไปนี้

ตัวอย่างการปิดการใช้งาน CGI โดยการใส่เครื่องหมาย # นำหน้าบรรทัด

#ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”#
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#
——————————————————————————–

ปิดการใช้งาน Server-Side Includes (SSI)
หากไม่มีการใช้งาน Sever-Side Includes (SSI) แนะนำให้ปิดคุณสมบัตินี้ออกไป วิธีการปิดคือใส่เครื่องหมาย # นำหน้า บรรทัดต่อไปนี้

ตัวอย่างการปิดการใช้งาน Server-Side Includes (SSI) โดยการใส่เครื่องหมาย # นำหน้าบรรทัด

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

หลังจากที่เราติดตั้งและคอนฟิก Fedora Directory Server เรียบร้อยแล้ว ในบทความนี้จะอธิบายถึงการเก็บ UNIX User Account และ Group เข้าไปใน LDAP เพื่อที่จะใช้รองรับการ authentication จากโปรแกรมต่างได้ เช่น สำหรับการ login, secure shell และอื่นๆ

โดยดีฟอลต์เมื่อติดตั้ง Fedora Directory Server ตัวโปรแกรมจะสร้างข้อมูลพื้นฐานขึ้นมาจำนวนหนึ่ง ซึ่งประกอบด้วย

Base DN – ซึ่งจะเป็นชื่อพื้นฐานโดเมนที่เราใช้ตอนติดตั้ง ในบทความนี้จะคอนฟิกอยู่ในโดเมน (BASE) เป็น dc=your-domain, dc=com ที่รันอยู่บนเครื่องที่ชื่อ “server”
ou=Users – มีไว้สำหรับเก็บข้อมูลของผู้ใช้งาน ซึ่งเราจะไว้เก็บ UNIX User Account จากไฟล์ /etc/passwd
ou=Groups – จะเป็นส่วนที่เก็บข้อมูลกลุ่มของผู้ใช้งาน (Groups) ซึ่งเราจะไว้เก็บ UNIX Group จากไฟล์ /etc/group
ในการที่จะ authenticate รหัสผู้ใช้งานจาก LDAP ได้นั้น เราจะต้องนำข้อมูลของผู้ใช้งานจากไฟล์ /etc/passwd, /etc/group ไปเก็บไว้ใน LDAP โดยจะมีวิธีการอยู่หลายวิธี แต่ในที่นี้จะแนะนำวิธีการสร้างไฟล์ ldif ขึ้นมา แล้วค่อย import เข้าไปใน LDAP โดยที่ Directory Server กำลังทำงานอยู่

สร้างไฟล์ passwd.ldif
เริ่มต้นสร้างไฟล์ passwd.ldif ซึ่งจะเก็บ user account และรายละเอียดของ user นั้นๆ อยู่ ซึ่งจากตัวอย่างด้านล้าง จะเป็นข้อมูลของผู้ใช้งานที่ใช้ login เป็น user01 (uid: user01)

dn: uid=user01,ou=People,dc=your-domain,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}*
shadowLastChange: 14050
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 601
gidNumber: 600
homeDirectory: /home/user01
gecos: user01ถ้าต้องการสร้างผู้ใช้หลายๆ คน ก็เพิ่มข้อมูลต่อท้ายลงไปในไฟล์นี้โดยให้เว้นไว้บรรทัดว่างไว้หนึ่งบรรทัด ระหว่างข้อมูลแต่ละ user

สร้างไฟล์ group.ldif
ขั้นต่อไปสร้างไฟล์ group.ldif ซึ่งจะเก็บ UNIX Group และรายละเอียด ซึ่งจากตัวอย่างด้านล้าง จะเป็นข้อมูลของกลุ่มผู้ใช้งานที่ชื่อ ldapuser

dn: cn=ldapusers,ou=Groups,dc=your-domain,dc=com
objectClass: posixGroup
objectClass: top
cn: ldapusers
userPassword: {crypt}x
gidNumber: 600Import ข้อมูลจากไฟล์ ldif เข้าไปใน LDAP
เมื่อได้ไฟล์ ldif แล้ว ต้องใช้คำสั่ง ldif2ldap เพื่อนำข้อมูลจากไฟล์เข้าไปเก็บไว้ใน LDAP โดยก่อนที่จะรันคำสั่งนี้ได้ Directory Server ต้องรันทำงานอยู่แล้ว

เวลาที่รันคำสั่ง ldif2ldap จำเป็นต้องระบุ “cn=Directory Manager” และรหัสผ่านลงไปด้วย โดยรหัสผ่านนี้คือรหัสที่ใส่ตอนใช้คำสั่ง setup-ds-admin.pl ตอนที่คอนฟิก Directory Server ตั้งแต่ตอนแรกที่ติดตั้ง

ตัวอย่างการรันคำสั่ง ldif2ldap เพื่อนำข้อมูลจากไฟล์เข้าไปใน LDAP

[root@server ~]# /usr/lib/dirsrv/slapd-server/ldif2ldap “cn=Directory Manager” passwd.ldif
adding new entry uid=user01,ou=People,dc=your-domain,dc=com[root@server ~]# /usr/lib/dirsrv/slapd-server/ldif2ldap “cn=Directory Manager” group.ldif
adding new entry cn=ldapusers,ou=Groups,dc=your-domain,dc=comหมายเหตุ
- ในที่นี้จะรันอยู่บนเครื่องที่ชื่อ server ดังนั้น path ที่ใช้จะเป็น /usr/lib/dirsrv/slapd-server/ ซึ่งถ้าคุณรันคำสั่งนี้บนชื่อเครื่องอื่นๆ ให้เปลี่ยนตรงคำว่า server
- ให้สังเกตผลลัพธ์จากการรันคำสั่ง ldif2ldap ด้วย ว่าสำเร็จหรือไม่ ถ้าไม่สำเร็จ ให้แก้ไข ไฟล์และรันใหม่อีกครั้ง

เปลี่ยนคอนฟิกของเครื่องให้อ่านข้อมูล User Account และ Group จาก LDAP ด้วย
โดยดีฟอลต์ของ Linux ข้อมูล User Account และ Group จะถูกอ่านจากไฟล์ /etc/passwd และ /etc/group ตามลำดับ ถ้าเราต้องการให้มาอ่านข้อมูลจาก LDAP ด้วย ให้ใช้คำสั่ง authconfig-tui เพื่อแก้คอนฟิก

[root@server ~]# authconfig-tui
┌────────────────┤ Authentication Configuration ├─────────────────┐
│ │
│ User Information Authentication │
│ [*] Cache Information [ ] Use MD5 Passwords │
│ [ ] Use Hesiod [*] Use Shadow Passwords │
│ [*] Use LDAP [*] Use LDAP Authentication │
│ [ ] Use NIS [ ] Use Kerberos │
│ [ ] Use Winbind [ ] Use SMB Authentication │
│ [ ] Use Winbind Authentication │
│ [*] Local authorization is sufficient │
│ │
│ ┌────────┐ ┌──────┐ │
│ │ Cancel │ │ Next │ │
│ └────────┘ └──────┘ │
│ │
│ │
└─────────────────────────────────────────────────────────────────┘คลิ้กเลือก [*] Use LDAP และ [*] Use LDAP Authentication แล้วกดปุ่ม Next

┌─────────────────┤ LDAP Settings ├─────────────────┐
│ │
│ [ ] Use TLS │
│ Server: ldap://localhost/_______________________ │
│ Base DN: dc=your-domain,dc=com___________________ │
│ │
│ ┌──────┐ ┌────┐ │
│ │ Back │ │ Ok │ │
│ └──────┘ └────┘ │
│ │
│ │
└───────────────────────────────────────────────────┘ใส่คอนฟิกของ Server เป็น ldap://localhost และ ใส่ Base DN: เป็น dn=your-domain, dc=com แล้วกดปุ่ม Ok

คำสั่ง authconfig-tui จะไปแก้ไฟล์ /etc/ldap.conf และไฟล์ต่างๆ ใน /etc/pam.d/ ซึ่งหลังจากแก้ไขแล้ว ต่อไปเวลาตรวจสอบชื่อหรือรหัสผู้ใช้งาน ระบบจะตรวจสอบจากไฟล์ /etc/passwd และ /etc/group ก่อน ถ้าหาไม่พบถึงจะไปค้นหาใน LDAP อีกที

ทดสอบการใช้งาน
สามารถใช้คำสั่ง id เพื่อตรวจสอบ User Account จาก LDAP ได้ โดยผลลัพธ์ที่ได้จะมี uid, group ของผู้ใช้งานนั้นๆ

ตัวอย่างการใช้คำสั่ง id เพื่อตรวจสอบ User จาก LDAP

[root@server ~]# id user01
uid=601(user01) gid=600(ldapusers) groups=600(ldapusers)ถ้าต้องการเปลี่ยนแปลงข้อมูล เช่น password หรือต้องการลบ แนะนำให้ใช้ Management Console ได้ จากการรันคำสั่ง fedora-idm-console ใน X Window

การใช้งานแบบ desktop ที่ใช้บ่อยที่สุดคงหนีไม่พ้นการใช้เว็บบราวเซอร์
เข้าสู่หน้าเว็บไซต์ต่างๆ ไม่ว่าคุณจะใช้เดสทอปแบบ GNOME หรือ KDE
ก็ตามมีเทคนิคที่เข้าเว็บได้เร็วมากมาแนะนำกัน

โดยการกดปุ่ม Alt+F2 จะได้กรอบ Run ขึ้นมา
พิมพ์ชื่อ URL ของเว็บที่ต้องการเข้าลงไป แล้วกด Enter
เพียงเท่านี้ Firefox หรือ Konqueror จะเปิดเข้าสู่เว็บที่ต้องการทันที

Konqueror เป็น File Manager คู่บารมีของเดสทอป KDE
นอกจากจะทำหน้าที่นี้แล้ว มันยังเป็น Browser ได้อีกหลายหน้าที่

เช่นการใช้งานเป็น SFTP ( Secure Shell FTP subsystem ) Client
คุณสามารถพิมพ์ข้อความเพื่อ login ในช่อง Location ดังนี้
sftp://user@host.domain.com/home/user
จะมีการถามรหัสผ่านแล้วใช้โอนย้ายไฟล์ได้เลย

หากคุณต้องการทราบว่าโปรเซสของโปรแกรมที่เราสนใจ
กำลังถูก access โดย client ใดอยู่ หรือกำลัง connect กับ
โฮสต์ใดอยู่ จะใช้คำสั่งอย่างไร

คำสั่ง netstat เป็นทางหนึ่งที่ทำได้โดยเป็นคำสั่งพื้นฐานของ linux อยู่แล้ว
เช่น ต้องการทราบการสื่อสารของ squid
# nestat -acp | grep squid

Virtual Desktop ของ KDE ช่วยให้แบ่งงานออกจากกันเพิ่ม
ความสะดวกให้สมกับเป็นระบบปฏิบัติการแบบ Multitask

วิธีเลือก Virtual Desktop แบบด่วนไม่ต้องเอื้อมไปจับเมาส์ให้เมื่อย
สามารถใช้ปุ่ม Ctrl+F1 ,Ctrl+F2 เรียงไปเรื่อยๆ จะได้หน้าจอที่

โปรแกรมช่วยการมอนิเตอร์เครือข่ายมีอยู่หลายโปรแกรมก็จริง
แต่บางครั้งเราเพิ่งติดตั้งระบบใหม่ๆ ยังไม่มีโปรแกรมลงมากนัก
เช่น debian หรือ FreeBSD หากลงเสร็จใหม่ๆ จะไม่มีแม้แต่
โปรแกรม tcpdump

การใช้คำสั่งพื้นฐานจึงเป็นทางออกที่ดีกว่า
# netstat -ctn
-c หมายถึง continuous
-t หมายถึง TCP protocol
-n หมายถึง numerical host/port

หลังจากปรับปรุงภาษาไทยให้แสดงผลได้อย่างถูกต้องใน Fedora/Redhat แล้ว
หากต้องการให้แสดงผลรายชื่อไฟล์ที่เป็นภาษาไทยได้จะต้องปรับแก้เพิ่มเติมอีก

โดยการเมาต์ที่อุปกรณ์ storage ต่างๆ จะต้องใช้ option “utf8″ ด้วย
# mount /dev/sda1 /mnt/usb -o utf8

/dev/shm เป็น Share Memory ของลีนุกซ์
ที่มีค่า permission เป็น 1777 ซึ่งเปิดให้แฮกเกอร์นำ Backdoor เข้ามาได้

วิธีป้องกันง่ายๆ คือ mount ที่ระบบไฟล์นี้ด้วยอ๊อปชั่น
nodev,noexec,nosuid