การที่เรา disable root directory --> เพราะว่าไม่ต้องการให้ชื่ือ "root" มัน active ใช่ไหม

สวัสดีครับพี่น้อง

เนี่ืองจากว่ากระผมได้สาบานตัวว่าชีวิตที่เหลือนี้อีกครึ่งหนึ่งตัดสินใจมากะ UNIX แล้วครับ ตอนนี้เริ่มศึกษา Linux, Unix แล้ว ฝากตัวด้วยขอรับ มีคำถามมากมายที่แก้ไขไม่ได้ครับ

–การที่เราหรือหนังสือแนะนำให้ disable root directory ส่วนใหญ่เท่าที่ผมอ่านเจอเขาให้เรา disable root ผมเข้าใจว่ามันมีความหมายในการปฎิบัติว่า ห้ามไม่ให้ username ที่ชื่อว่า root สามารถ login เข้าระบบได้เพราะว่า user name ชื่อว่า root มันเป็น default ชือที่ใครๆเขาก็ใช้กัน อาจจะโดนเจาะได้
แต่ให้ไปเปลี่ยนชื่อจากคุณ root เป็นคุณคนอื่นๆแทนแต่มีสิทธิ์ทุกอย่างเหมือนกับคุณชื่อ root?

–ทำไมการสร้าง user ใหม่ใน centOS ทำไม่ได้มันเขียนอย่างนี้ขอรับ แม้แต่ command มันยังไม่มี หรือว่าผมอยู๋ใน mode ผิดครับ แม้แต่เข้าเป็น คุณ root แล้วทำไมคำสั่ง adduser, useradd มันยังไม่มีให้กระผมอีกครับ
bash-3.2$ useradd
-bash: useradd: command not found
-bash-3.2$ adduser
-bash: adduser: command not found

–ในระบบ unix, linux เนี่ยมันพอจะมี temporary folder เหมือน \windows emp
ที่เราสามารถจะลบออกไปได้ไหมครับ

–ในระบบ unix อีกเช่นกันผมเห็นมี folder พวกที่ดูแล้วไม่เป็นผิดภัยเหมือนกัน (คือมือใหม่กดแล้วเล่นกะมันระบบไม่ได้ล่ม) เช่นพวก folder \media พวกนี้เห็นแล้วมันคงเอาไว้เก็บ file แน่นอนเลย
ในทางตรงกันข้ามมันต้องมี folder ที่เข้าไปเล่นกะมันไม่ได้แน่นอน พวกคนที่เป็น admin unix เขาจะรู้จักทุก folder เลยไหมครับ?

–command top,free, ของ unix อันนี้น่าสนุกดีเพราะว่ามันเหมือน task manager เลย
แต่มันบอกได้แค่ cpu process… มันไม่มี command ที่บอก network traffic บ้างเหรอครับ
อย่าง netstat มันก็บอกอะไรไม่ได้ว่าจาก bandwidth ที่เรามีตอนนี้มันใช้ไปเท่าไหร่แล้ว :slight_smile: ไป download unix manual มาไม่เห็นมีบอก

ก็นึกออกเท่านี้ครับตอนนี้ขอบคุณสำหรับคำตอบของทุกท่านขอรับ

จริงๆต้องเรียก disable user root จะถูกกว่าครับ
ในการ adduser นั้น ต้องมีสิทธิ์เป็น root ก่อนครับ ถึงจะสร้าง user ได้
temp file ของ Linux จะอยู่ที่ /tmp , /var/tmp ครับ แต่เราไม่จำเป็นต้องไปยุ่งครับ ระบบ Linux จะลบไฟล์ต่างๆออกให้เอง

อยากจะดู traffic ลองสั่ง iptraf ดูครับ

  1. เพื่อให้ user ใช้อำนาจเท่าที่จำเป็น เหมือนอย่าง UAC ของ Windows คือ ให้สิทธิเฉพาะเวลาที่จำเป็นต้องใช้เท่านั้น เช่นเดียวกัน ตอนหลังผลักดันไปให้ใช้ user name ของตัวเอง เพราะ 1. Accountable (รู้ว่าใคร) 2. Authorization (สิทธิเท่าที่จำเป็น) . ใน Windows เราใช้ UAC กด Click, ใน Linux เราใช้คำสั่ง sudo เพื่อรันคำสั่งในสิทธิของ root. กรณีที่ root มีหลายคน ก็ใช้ account ของตัวเองไปเลย ตามเรื่องของความปลอดภัยคือ รหัสผ่านใครรหัสผ่านมัน ไม่ใช้ร่วมกัน ในขณะที่ เราสามารถเช็คได้ว่า user ไหนจัดการอะไรกับระบบบ้างจาก log.

ถ้าท่านเป็นมือใหม่ Linux ผมขอแนะนำหนังสือของสำนักพิมพ์ No Starch Press. ลองไปหาที่ SE-ED หรือ ITBookHouse ดูครับ เป็นเล่มที่ผมได้อะไรมากมาย ตอนที่เริ่มต้นกับ Linux. (http://www.nostarch.com/howlinuxworks.htm) ที่ไม่ได้จากหนังสือเล่มอื่นๆ. :smiley:

ไม่จำเป็นต้องเปลี่ยน user root ไปเป็นชื่ออื่นๆ
หากเราตั้งเครื่องบน internet เราก็เพียงแก้ไขใน /etc/ssh/sshd_config ดังนี้

PermitRootLogin no (เดิม comment ไว้) ผลคือจะ login root ผ่าน ssh ไม่

ให้ add user ใหม่ (หลีกเลี่ยงชื่อ admin, sysadm, manager อะไรต่ออะไรที่นิยมๆกัน) เป็นชื่อ nickname ตัวเอง
add user โดยดังนี้

เช้า root (ที่ หน้าเครื่อง)
adduser myname -g root

แล้วไปเพิ่มสิทธิให้ access myname ที่ sshd_config เพิ่มดังนี้

AllowUsers myname

แล้วทำการ restart sshd service ใหม่ดังนี้ /etc/init.d/sshd restart

อีกเรื่องคือควรจะเปลี่ยน ssh port จาก 22 ไปเป็นหมายเลข port อื่นครับ