ผมได้ทำการแก้ไขไฟล์บน CentOS ครับ พอจะบันทึก กลับมี Error ว่า Operation not permitted
- ผมแก้ไขไฟล์ sshd_config ครับ
** ใช้สิทธิ์ root ในการแก้ไขก็เป็นเหมือนเดิม
*** ไม่สามารถทำการแก้ไข ลบ เปลี่ยนชื่อ อัพโหลดไฟล์ทับ ได้เลยครับ
รบกวนแนะนำวิธีแก้ไขหน่อยครับ
ls -al sshd_config
ขึ้นว่าอะไรครับ ลองตรวจสอบ permission ดูดีๆ
chmod +w sshd_config
แล้วลองแก้ไขใหม่อีกรอบครับ
เผื่อไม่มี permission write เลยแก้ไขไม่ได้ (เวลาทำ Hardending server บางที่ใช้ permission เป็น 400 ฮะ เวลาจะแก้ไขต้องมาเปลี่ยนก่อน)
kke
4
เดาว่า filesystem มี error ระบบเลย remount read-only filesystem ไว้
ลองเช็คดูด้วยคำสั่ง
#mount
ถ้า / เป็น read-only ก็ลองดู error log ใน /var/log/message
ปกติวิธีแก้ก็คือ fsck ใน single user mode ที่หน้าเครื่อง (แนะนำให้ backup ข้อมูลสำคัญไว้ก่อน)
ขึ้นแบบนี้ครับ
-rw-r–r-- 1 root root 2450 Mar 21 2012 sshd_config
ไม่ได้เหมือนเดิมครับ พิมพ์คำสั่งแล้วขึ้นแบบนี้
chmod: changing permissions of `sshd_config’: Operation not permitted
ใช้คำสั่งแล้วได้ออกมาประมาณนี้ครับ
เป็นเครื่อง VPS ครับ
icez
8
lsattr sshd_config
ถ้ามี ตัว i โผล่ใน list สั่ง chattr -i sshd_config แล้วลองแก้ใหม่ครับ
ไม่มีตัว i อย่างที่คุณ icez แนะนำมาครับ
ถ้าแก้ไขไฟล์ แล้วใช้คำสั่ง :wq ก็จะเป็นประมาณนี้ครับ
ลองเรียก vi ด้วยการ sudo แล้วลองแก้ไขดูครับ ว่าช่วยมั้ย
sudo vi /etc/ssh/sshd_config
poykub
11
ไม่ได้ครับ เป็นเหมือนเดิมเลย
แปลกจัง
permission ของ path เป็นยังไงครับ
ls -al /etc/ssh
ดูจาก error คล้ายๆ กับกระทู้นี้
http://www.linuxquestions.org/questions/linux-server-73/cannot-modify-sshd_config-[operation-not-permitted]-718551/
เขาให้ลองใช้คำสั่งนี้ดูครับ chattr -ua sshd_config ว่าแต่สั่งแล้วมีผลยังไง เพื่ออะไร อันนี้ผมก็ไม่รู้เหมือนกัน
poykub
15
กลับมาอัพเดทครับ…
ตอนนี้แก้ไขได้แล้วครับ โดยการเปลี่ยนชื่อโฟเดอร์ ssh เป็นชื่ออื่นแล้วทำการสร้างโฟเดอร์ ssh ขึ้นมาใหม่ จากนั้น copy ไฟล์จากโฟเดอร์เดิมมาไว้ที่สร้างใหม่ครับ
…แต่ก็ยังไม่สามารถแก้ไขไฟล์ในโฟเดอร์ที่เปลี่ยนชื่อไปได้เหมือนเดิม