ฉันจะเปลี่ยนการอนุญาตสำหรับ / dev / ttyS0 อย่างถาวรได้อย่างไร


8

ระบบของฉันคือ Ubuntu 13.04 และใช้งานได้ดี แต่ฉันได้ติดตั้ง VirtuaBox เพื่อเรียกใช้ Windows XP ซึ่งเป็นสิ่งสำคัญสำหรับฉันที่จะเรียกใช้แอปพลิเคชั่นที่โต้ตอบกับการตั้งค่าการเตือนด้วยอะแดปเตอร์ USB เป็นอนุกรม

VirtualBox ใช้ ttyS0 เป็นพอร์ตอนุกรมและการสื่อสารสามารถเริ่มต้นได้อย่างมีประสิทธิภาพก็ต่อเมื่อได้รับคำสั่งsudo chmod 666 /dev/ttyS0ให้กับเทอร์มินัล

ทุกครั้งที่ฉันบูต Ubuntu ttyS0สิทธิ์อนุญาตกลับไปเป็นค่าเริ่มต้นและฉันต้องเรียกใช้chmodทุกครั้งที่บูตเครื่อง

คำถามของฉันคือฉันจะเปลี่ยนการอนุญาตไฟล์ / dev / ttyS0 อย่างถาวรได้อย่างไร หากไม่ใช่วิธีปฏิบัติที่ดีมีมารยาทอื่น ๆ ในการแก้ไขปัญหาหรือไม่?

คำตอบ:


16

ไม่จำเป็นต้องเปลี่ยนการอนุญาตของไฟล์ระบบ อุปกรณ์อนุกรมมีการอนุญาตเริ่มต้นต่อไปนี้:

crw-rw---- 1 root dialout ... /dev/ttyS0

ดังนั้นสิ่งที่คุณต้องทำคือเพิ่มผู้ใช้ในdialoutกลุ่ม:

sudo adduser $USER dialout

ขอบคุณ Eric โซลูชันของคุณใช้ได้กับฉันหลังจากรีบูตเครื่อง! เคลาดิโอ :)
เคลาดิโอ

ไม่จำเป็นต้องบูตเครื่องใหม่ให้ล็อกอินใหม่อีกครั้ง หากคุณไม่ต้องการปิดเซสชันคุณสามารถทำได้ssh $USER@localhost(ถ้าคุณopenssh-serverติดตั้งไว้) และใช้เทอร์มินัลนั้น
rrosa

2

โซลูชันที่ 1: ตรวจสอบกลุ่มของ ttyS0 จากนั้นกำหนดให้กับผู้ใช้ของคุณจากนั้นทำการ relogin หรือ su-user

crw-rw---- 1 root dialout 4, 64 feb 28 18:23 /dev/ttyS0
usermod -aG dialout youruser
su - youruser

โซลูชันที่ 2: หากคุณไม่ชอบโซลูชันแรกให้แก้ไข /etc/udev/rules.d/50-tty.rules

KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="whateveryouwant"

รีสตาร์ท udev หรือ reboot และแน่นอนก่อนเพิ่มผู้ใช้ของคุณในกลุ่มที่เลือก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.