чтение / запись в последовательный порт без рута?

<p>я пишу приложение для чтения/записи в/из последовательного порта в fedora14, и оно прекрасно работает, когда я запускаю его как root. но когда я запускаю его как обычный пользователь, я не могу получить привилегии, необходимые для доступа к устройству (/ dev/ttysx). это немного глупо, потому что теперь я не могу отладить эту чертову штуку с помощью eclipse.</p><p>я попытался запустить eclipse с sudo, но он повредил мое рабочее пространство, и я даже не могу открыть проект. поэтому я хотел бы знать, возможно ли снизить требования к доступу для записи в/dev/ttysx, чтобы любой обычный пользователь мог получить к нему доступ. это возможно?</p>

<p>право доступа к последовательному порту определяется разрешениями файла устройства (например, <code>/dev/ttys0</code>). поэтому все, что вам нужно сделать, это либо организовать устройство, которым вы владеете, либо (лучше) поместить себя в группу, которая владеет устройством, либо (если fedora поддерживает его, что, я думаю, так и есть) организовать для устройства принадлежат пользователю, который вошел в систему на консоли.</p><p>например, в моей системе (не в fedora) <code>/dev/ttys0</code> принадлежит пользователю <code>root</code> и группе <code>dialout</code>, поэтому, чтобы иметь доступ к последовательному устройству, я бы добавил себя в группу <code>dialout</code>:</p><pre><code>usermod -a -g dialout my\_user\_name </code></pre>

<p>многие дистрибутивы используют членство в группах для обеспечения доступа к последовательным портам. я не знаю деталей для fedora, однако.</p>

<p>я думаю, что вы можете добавить себя в файл sudoers, который позволит вам указать набор команд в качестве псевдонима команды, которые вы сможете выполнять без пароля. вы можете найти отличный учебник по файлу sudoers в <a href="https://help.ubuntu.com/community/sudoers">buntu docs</a> .</p><p>затем вы можете запустить eclipse в обычном режиме, и он сможет выполнять эти конкретные команды без прав root.</p>