En cas de "bogue" dans le pilote de port, l'utilisation du verrouillage n'est pas acceptable.comment empêcher l'ouverture du port série sur Linux par une application étrangère?
Répondre
Vous avez donc besoin de verrouiller d'autres processus d'ouverture d'un fichier de périphérique, mais le verrouillage des fichiers est inacceptable ...
Eh bien, vous pouvez renommer le fichier de périphérique à quelque chose non standard, donc tout ce qui tente d'ouvrir/dev/ttyS0 ne marchera pas sur vos orteils.
* REMERCIE *. C'est une idée intéressante. –
En supposant que vous vous prémunissez contre erroné ouvre par des binaires "étrangers": dans la méthode open() de votre pilote, correspond au nom du binaire d'ouverture (current-> comm). Et autoriser ne s'ouvre que pour votre binaire.
Cela peut, bien sûr, être facilement contournée (en renommant un fichier binaire étranger.)
* MERCI * Ça m'intéresse mais pas pour moi. –
Ou vous pouvez modifier les propriétés du fichier dev correspondant, ne donnant accès à un groupe personnalisé vous êtes membre. Si vous voulez que le port série soit accessible à tout utilisateur, cela peut ne pas fonctionner.
Est-ce une question de programmation? Ecrivez-vous le pilote série? Que voulez-vous dire par "étranger"? – unwind
Oui, c'est une question de programmation. Non, j'écris une application pour un appareil connecté via un port série avec un pilote buggé. Étranger - démarré à partir d'autres binaires. –
Voir: [Quelle est la meilleure pratique pour verrouiller les ports série et autres périphériques sous Linux?] (Http://stackoverflow.com/questions/30316722/what-is-the-best-practice-for-locking-serial-ports -and-other-devices-in-linux) –