Jak zezwolić na dostęp / ttyUSB0 w trybie innym niż root?


35

Ponieważ zaktualizowałem z 10.04 do 12.04, nie mam dostępu do urządzenia podłączonego do / ttyUSB0, jeśli nie mam dostępu do roota. Mówiąc dokładniej, używam konwertera portu USB na port szeregowy, aby uzyskać dostęp i konfigurować sprzęt Cisco za pomocą oprogramowania o nazwie Putty. Zdarza się, że od czasu aktualizacji do 12.04 Puttywidzi podłączone urządzenie tylko wtedy, gdy go uruchomię gksudo putty. Jeśli nie, napis „nie można połączyć się z portem / ttyUSB0”. Udało mi się zmienić uprawnienia za pośrednictwem chmod 666 i działa, ale jeśli odłączę usb i ponownie się połączę, nastąpi powrót tylko do rootowania. Jak mogę na stałe zezwolić na dostęp użytkownika innego niż root? Mam pojęcie, że może to wynikać z reguł udev, ale nie mam pojęcia, jak to zrobić.

obs. Producent i sterowniki „PROLIFIC”

Odpowiedzi:


10

Możliwe, że jest to związane z modemmanager , jak wyszczególniono tutaj .

Usunąłem to ( sudo apt-get remove modemmanager) i naprawiłem mój problem.

Nadal musisz być w dialoutgrupie.


1
Co jeśli nie mogę usunąć modemu zarządzającego? Mam przyjaciela, który ma modem 3G i wygląda na to, że nie może usunąć menedżera modemów z tego powodu. Jak może uzyskać dostęp do / ttyUSB0 na 12.04 bez roota, ale bez usuwania modemu zarządzającego?
Leonardo Czarnogóra

Możesz spróbować to zatrzymać? sudo stop modemmanagerTo zadziałało dla mnie.
Aleks

Minęło kilka lat, ale nadal tak jest w Ubuntu 17.10. Musiał zrobić sudo apt-get purge modemmanagerwcześniej sudo usermod -a -G dialout $USERmiał pożądany efekt.
Stéphane,

95

Urządzenie najprawdopodobniej jest podłączone do grupy użytkowników dialout. Wystarczy dodać użytkownika do grupy połączeń, aby mieć odpowiednie uprawnienia na urządzeniu.

sudo usermod -a -G dialout $USER

(Może być konieczne wylogowanie się i ponowne zalogowanie, aby nowa grupa zaczęła obowiązywać).

Nie musisz zadzierać z uprawnieniami lub regułami udev.


3
Loguję się, aby głosować. Najczystsze rozwiązanie.
yildirimyigit

1
@ tom-hennen Chyba powinieneś dodać go jako komentarz, a nie edytować go bezpośrednio.
MadMike,

2
To nie działa dla Debiana
Mike

1
Wyrazy uznania za włączenie „może być konieczne wylogowanie i ponowne zalogowanie się”.
Rob Stoecklein

1
W Ubuntu (mam 18.04) wylogowanie / logowanie nie działa. musimy zrestartować komputer po wykonaniu usermod.
Sujay Phadke

7
sudo adduser <the user you want to add> dialout
sudo reboot

Wspomniany przez „Wypróbuj teraz” działał dla mnie. Sprawdź, czy masz dialoutgrupę jako ttyUSB0:

ls -l /dev/ttyUSB0

w moim przypadku wynik jest następujący:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0

w Linux Mint 18 Cinnamon Dostaję ten błąd podczas wywoływania „ls -l / dev / ttyUSB0” ls: nie mogę uzyskać dostępu do „/ dev / ttyUSB0”: Brak takiego pliku lub katalogu
flyingdrifter

2

To zadziałało dla mnie. Wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenie.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Spróbuj teraz.


2

Jak donosi Rinzwind , zacznij od wpisania:

sudo usermod -a -G dialout $USER

Ale to tylko część rozwiązania, ponieważ wtedy musisz ponownie uruchomić system:

sudo reboot

6
1) Nie publikuj komentarzy jako odpowiedzi. 2) Nie ma potrzeby ponownego uruchamiania; po prostu wyloguj się i zaloguj ponownie.
gertvdijk

Musiałem zrestartować komputer, aby to zadziałało. Wylogowanie nie propagowało zmiany.
user1182988

2

Próbowałem obu

sudo usermod -a -G dialout $USER #(worked perfectly)

I sudo chmod 666 /dev/ttyUSB0(działał, ale musiał ponownie wpisać polecenie)

Usunąłem również menedżera trybów, ale tak naprawdę nie pomogłem. Dlatego najlepszym poleceniem, które dla mnie zadziałało, było

sudo usermod -a -G dialout $USER

0

Na Ubuntu 18.04 musiałem dodać się do grupy tty.

Zostałem podpowiedziany przez wyjście polecenia minicom:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty


-1

Miałem ten problem z / dev / ttyS0 w Mint Rosa. Wymagane jest dodanie użytkownika do grupy połączeń, ale w moim przypadku dostęp do urządzenia był ograniczony i musiałem go rozwinąć, aby umożliwić dostęp z / do poziomu grupy.


1
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat tego, jak to zrobić. (Zobacz także Jak napisać dobrą odpowiedź?, Aby uzyskać ogólne porady na temat tego, jakie rodzaje odpowiedzi są uważane za najcenniejsze w Ask Ubuntu.)
David Foerster,

-4

przejdź do folderu / etc / i edytuj plik grupy, dodaj swoją nazwę użytkownika w ten sposób dialout:x:20:USER

działało idealnie dla mnie :)


4
Ogólnie uważa się za złą praktykę bezpośrednią edycję tych plików, ponieważ niektóre proste błędy mogą spowodować utratę dostępu.
flickerfly
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.