Moja karta telewizyjna, OEM oparta o układ Phillips SAA7134 nie jest poprawnie rozpoznawana przez moduł saa7134. Aby uruchomić kartę muszę wykonać najpierw
Niestety po uaktywnieniu karty przez modprobe od razu pojawia się dźwięk na jej wyjściu, co w moim wypadku jest dość uciążliwe - karta nie jest spięta z kartą dźwiękową, a podłączona bezpośrednio do miksera. Oczywiście po zakończeniu oglądania telewizji również trzeba wyłączyć moduł saa7134 aby nie było słychać ostatnio oglądanego kanału.
Można by to ubrać w ładny skrypt, ale cały czas jest tu polecenie sudo, które wymaga oczywiście hasła administratora. I tu kształtuje się pytanie - czy jest jakaś opcja umożliwienia zwykłemu użytkownikowi modprobe/rmmod na danym module bez konieczności korzystania z uprawnień roota?
Karta normalnie łączona jest za pomocą zewnętrznego kabelka jack 3.5mm - jack 3.5mm z LineIn karty dźwiękowej. Ja zamiast podpinać do karty mam podpięte do miksera (sprzętowy, Phonic MX202), dzięki czemu mogę dźwięk regulować niezależnie od tego co idzie z karty dźwiękowej ;-)
ryba84
Z tego co zrozumiałem mogę pozwolić użytkownikowi wykonywać polecenie modprobe i rmmod. Z tym że ja chciałbym to ograniczyć do wywołania konkretnego modułu przez te polecenia.
Przejrzyj dokładnie mana i na pewno jest tam możliwość wykonywania konkretnych poleceń z konkretnymi parametrami bez podawania hasła. To linux więc ja uważam, że lepiej jest dać komuś wędkę niż podać rybę na tacy
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
ALL ALL=NOPASSWD:/sbin/shutdown
%tv ALL=(root) NOPASSWD: /sbin/modprobe saa7134 card=21, /sbin/rmmod saa7134
# Allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
Dodałem grupę "tv", umieściłem siebie w tej grupie, dalej sudo prosi o hasło. Co robię źle?
%tv ALL = NOPASSWD:/sbin/modprobe saa7134 card=21, /sbin/rmmod saa7134
Mogę się mylić ale nie chce mi się sprawdzać. A i pamiętaj odstęp między %tv i ALL to nie spacja tylko tabulator. Jeśli to nie jest u Ciebie tabulator to popraw bo nie będzie działać.