Làm cách nào để tôi thay đổi vĩnh viễn quyền cho / dev / ttyS0?


8

Hệ thống của tôi là Ubuntu 13.04 và nó hoạt động tốt, nhưng tôi đã cài đặt VirtuaBox để chạy Windows XP, đây là điều cần thiết để tôi chạy một ứng dụng đối thoại với thiết lập cảnh báo bằng bộ chuyển đổi USB-nối tiếp.

VirtualBox sử dụng ttyS0 làm cổng Nối tiếp và giao tiếp chỉ có thể bắt đầu hiệu quả nếu lệnh sudo chmod 666 /dev/ttyS0được đưa cho Terminal.

Mỗi khi tôi khởi động Ubuntu, các ttyS0quyền sẽ trở về các giá trị mặc định và tôi phải chạy chmodmỗi lần khởi động.

Câu hỏi của tôi là: làm thế nào tôi có thể thay đổi quyền / dev / ttyS0 vĩnh viễn? Nếu đây không phải là một thực hành tốt, có cách cư xử khác để giải quyết vấn đề?

Câu trả lời:


16

Không cần phải thay đổi quyền của tệp hệ thống. Các thiết bị nối tiếp có các quyền mặc định sau:

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

Vì vậy, tất cả những gì bạn phải làm là thêm người dùng vào dialoutnhóm:

sudo adduser $USER dialout

Cảm ơn Eric, giải pháp của bạn đã làm việc cho tôi sau khi khởi động lại! Claudio :)
Claudio

khởi động lại là không cần thiết, đăng nhập lại es đủ. nếu bạn không muốn đóng phiên của mình, bạn cũng có thể làm ssh $USER@localhost(nếu bạn đã openssh-servercài đặt) và sử dụng thiết bị đầu cuối đó.
rrosa

2

Giải pháp 1: kiểm tra nhóm ttyS0 và sau đó gán nó cho người dùng của bạn, sau đó đăng nhập lại hoặc su - người dùng

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

Giải pháp 2: nếu bạn không thích giải pháp đầu tiên chỉnh sửa /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"

khởi động lại udev hoặc khởi động lại và tất nhiên trước khi thêm người dùng của bạn vào nhóm đã chọn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.