[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: beep, question de permissions?



Leopold BAILLY wrote:
Bayrouni <bayrouni@brutele.be> writes:


Jean-Michel OLTRA wrote:

   bonjour,
Le jeudi 24 mars 2005, Astar0th a écrit...


./trig-alarm
Could not open /dev/console for writing.
open: Permission denied.

Le programme s'exute pendant les 10 secondes de test mais sans aucun son.

Je suis persiadé qu'il s'agit d'une question de droits mais sur quoi ?

Essaye avec strace (man strace)
strace -e file ./trig-alarm


Voici l'affichage de 	

strace -e file ./bin/trig-alarm:

execve("./bin/trig-alarm", ["./bin/trig-alarm"], [/* 23 vars */]) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=24361, ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1253924, ...}) = 0
open("/dev/console", O_WRONLY)          = 3


J'ai lancé strace sur echo -e "\a", qui provoque un bip du haut-parleur, pour
voir dans quel périphérque il écrit.

Il écrit dans /dev/pts/0, qui est le terminal associé à mon shell comme je peux
le voir avec ps, sur lequel j'ai bien les droits d'écriture.

Je pense tout simplement que ton programme est buggé car il écrit
systématiquement dans /dev/console (réservé à root) au lieu de rechercher (par
un moyen que j'ignore) le terminal attaché à son processus.


Léo.


Voici la ligne qui est mise en cause dans mon programme C.
(Je ne suis pas du tout specialiste du C)

console_fd = open("/dev/console", O_WRONLY)

meme en changeant les droits à 666 sur /dev/console ça ne marche pas avec l'utilisateur ordinaire(moi).

Donc si /dev/console est accessible uniquemnt à root, ça ne sert à rien de changer les permissions, ou bien je me trompe?

Bayrouni



Reply to: