แก้ไขปัญหา WinSCP Permission Denied เมื่อต้องการแก้ไขสิทธิ์ด้วยสิทธิ์ root

บทความนี้ผมขอเสนอแนวทางในการแก้ไขปัญหาการใช้งานที่มันติดๆ ขัดๆ บนโปรแกรม WinSCP กันสักนิด

ต้นตอของปัญหา
เริ่มจากผมเองใช้ Raspbian  ซึ่งเป็น Foundation’s official supported Operating System คือระบบปฏิบัติการหลักๆ ที่ Raspberry PI ใช้งาน มีทั้งแบบ Desktop และแบบ CLI (หน้าดำคำสั่งล้วนๆ)  ซึ่งเวลาที่เราจะคอนฟิกไฟล์ต่างๆ ของมันที่จำเป็นจะต้องใช้สิทธิ์ของ Root ปกติเราต้องใช้คำสั่ง sudo เช่น sudo vi /etc/asterisk/sip.conf เป็นต้น เราสามารถทำได้เลย แต่การใช้คอมมานไลน์ มันเหมาะสำหรับผู้ที่เชี่ยวชาญแล้ว (อย่างผมเองยังอ่อนหัด)

ผมจึงมองหาเครื่องมือที่ช่วยให้เราแก้ไขไฟล์ต่างๆ มันได้ง่ายๆ คำตอบคือ WinSCP ครับ ซึ่งเป็นโปรแกรมหลักๆ ที่ผมชอบใช้งานอยู่แล้วนั่นเอง เอาไว้โอนไฟล์ต่างๆ เข้าไปยังระบบปฏิบัติการ Linux (ได้เกือบทุกตระกูล ที่ใช้คำว่าเกือบ เพราะอาจจะมี Linux Distro ตัวอื่นที่ผมไม่เคยใช้ จึงไม่รับประกัน 100%)

เมื่อเราใช้ตัวโปรแกรมนี้แล้วมันทำให้เราแก้ไขไฟล์ต่างๆ ได้อย่างง่ายได้ โดยเปิดไฟล์ใน linux ด้วย Notepad++ เลยก็ได้จากนั้นก็ทำการแก้ไข แล้วก็บันทึก ง่ายม่ะ แทนที่จะทำบน คำสั่งของ vi editor

แต่ถ้าใช้ WinSCP มันจะทำให้การแก้ไขไฟล์ต่างๆ ดูง่าย เพราะเราถนัดอะไรก็ตามที่เป็นหน้าต่าง Windows ที่เราคุ้นเลย

คราวนี้ปัญหาที่ผมเจอคือ ไอ้เจ้า Raspbian  มันดันกำหนดสิทธิ์ไว้ไม่อนุญาตให้ root ทำการ Login ตรงๆ ต้องเข้าด้วย user อื่นๆ เช่น PI เข้ามาก่อนแล้วค่อยทำการ switch user ด้วย su หรือไม่ก็ใช้คำสั่ง sudo นำหน้าเมื่อต้องการแก้ไขไฟล์ในสิทธิ์ของ root นั่นเอง

แต่เมื่อเราใช้งานด้วยโปรแกรม WinSCP แล้วนั่น โดยปกติเราจะเข้าด้วยชื่อผู้ใช้ชื่อว่า PI รหัสผ่าน rapsberry ตามค่า Default ที่มา ทำให้เราไม่สามารถเข้าไปแก้ไขไฟล์ใดๆ ที่จะใช้สิทธิ์ของ Root ได้ เมื่อเราจะแก้ไขมันจะขึ้นข้อความว่า Permission denied อย่างที่เห็น ทำให้ปวดตับ แสบใส้ กันเลยทีเดียว (แต่ถ้าใช้พวก CentOS มันเข้าได้เลยน่ะด้วย root แต่ไม่ขอพูดถึงละกัน จริงๆบน Raspbian ก็ทำได้ถ้าจะให้เข้าด้วย root โดยตรง แต่มันจะลึกไปสำหรับบทความนี้ และก็ไม่ตรงกับหัวข้อด้วย อิอิ ขอเว้นไว้ก่อน)

เมื่อเจอปัญหานี้ ผมว่ามันต้องมีทางแก้ไข จึงค้นหาจากอินเตอร์เน็ต ด้วยคอนเซ็ปที่ว่า เมื่อเราเจอปัญหา มันต้องมีคนเจอก่อนเรา ฮ่าๆๆๆ จึงได้คำตอบครับว่าถ้าเรา Login ด้วยผู้ใช้ธรรมดาแล้วจะให้มันได้สิทธิ์ root คือคำสั่ง sudo su – มาด้วยมันทำอย่างไร

การแก้ไขปัญหาดังกล่าว

เวลาที่คุณจะการ New site บน WinSCP มาแล้วนั่น ให้คุณเลือก File protocol เป็น SCP จากนั้นใส่โฮส ชื่อผู้ใช้ และรหัสผ่านเข้าไป ส่วนพอร์ตก็ 22 หรืออื่นๆ ที่คุณได้แก้ไข

ส่วนสำคัญอยู่ตรงนี้ครับ ให้คลิกที่ปุ่ม Advanced.. ครับ

แล้วไปที่เมนู Environment จากนั้นเลือกที่ SCP/shell
ตรง Shell ให้เลือก sudo su – (เปลี่ยนค่าจาก Default) จากนั้นก็คลิก OK แล้ว Login เข้าระบบได้เลย

แค่นี้คุณก็เข้ามาด้วยชื่อผู้ใช้ PI ธรรมดา แต่ได้สิทธิ์ Root มาด้วยนั่นเอง ทำให้เมื่อคุณต้องการแก้ไขไฟล์ต่างๆ ของ Raspbian  ก็สามารถทำได้โดยสะดวก สบาย นั่นเอง

เพียงแค่นี้ เท่านี้ ตรงนี้ และบัดนี้คุณก็สามารถแก้ไขไฟล์ด้วย notepad++ หรือ editor ตัวอื่นๆ ที่คุณถนัดบนโปรแกรม WinSCP ได้เรียบร้อย

ขอจบบทความแค่นี้ จริงๆ ไม่น่ายาวขนาดนี้ เพราะแค่สองคลิกมันก็ได้ล่ะ แต่ผมติดนิสัยชอบเกริ่นยาว ฮ่าๆๆๆๆๆ เลยซัดมาหลายบรรทัด ไปล่ะ ขอบคุณอีกครั้งที่ติดตามเรา ทีมงาน บริษัท โอติก เน็ตเวิร์ค จำกัด ด้วยนโยบาย ไม่ได้อยากได้แค่เงิน เราอยากแบ่งปันความรู้ให้คุณด้วยเช่นกัน .. สวัสดี

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *