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”

yurividal
źródło

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.

Ed.
źródło
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.

Rinzwind
źródło
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
użytkownik130451
źródło
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.

użytkownik88742
źródło
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
Iboz
źródło
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
Salah Amean
źródło
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
Laurent
źródło
0

W systemie Ubuntu 18.04:

  1. sudo adduser <user> dialout
  2. Pełne ponowne uruchomienie , z jakiegoś powodu samo wylogowanie / logowanie nie jest wystarczające ( zgłoszenie błędu ).
Eero Aaltonen
źródło
-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.

LesA
źródło
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 :)

Zmora
źródło
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