|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
|
[C] Modalita' di creazione di una pipe
Ciao, vorrei creare una pipe e fare in modo che solo io la possa aprire in lettura mentre sia possibile per tutti aprirla in scrittura (Ma non in lettura). E' possibile ? Ho visto (Sommariamanete...
thks
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
mkfifo + chmod
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
|
Quote:
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
|
Continuo ad avere qualche problema. Siccome dai bit che indico io all'atto della creazione della pipe (Mediante apposite macro) vengono sottratti quelli della variabile (?) 'mask' ho utilizzato la funzione umask per settare tali bit a 000. E' scorretto oppure e' plausibile farlo ?!?!
Ho quindi creato una pipe e vorrei fare in modo che solo io (Non utente ma processo !) possa aprirla in lettura mentre chiunque altro (Tutti gli altri processsi) possa aprirla in lettura. Ho provato facendo: mknod("jonny.p", S_IFIFO | S_ISUID | S_IWUSR | S_IRGRP | S_IROTH, -1) Ovviamente tali impostazioni influenzano solo i diritti degli utenti e nulla in funzione dei processi. Esiste un modo per fare questo ?!? thks
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
|
Quote:
Non sarebbe possibile fare in modo che sia il creatore della pipe (Il processo che la crea ed in futuro la eliminera') il solo processo ad avere la possibilita' di accedervi on lettura mentre tutti gli altri potranno scriverci ??! thks
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
|
Quote:
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Normalmente un programma viene eseguito con i privilegi dell'utente che lo ha lanciato. E' una norma elementare di sicurezza.
Alcuni programmi possono essere eseguiti con i privilegi del "proprietario" del file eseguibile, e cambiare privilegio in corso di esecuzione se necessario: sono i programmi suid, come ad es. pppd. Per impostare l'attributo suid è sufficiente un chmod +s effettuato dal proprietario del file o da root; per modificarne il proprietario occorre usare chown. E' ovvio che il tuo programma, avendo privilegi superiori a quelli dell'utente, dovrà essere installato da root. Una soluzione alternativa che forse puoi considerare è usare i socket: un server socket in ascolto su una porta è una risorsa non condivisibile, può essere aperto solo da un processo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:08.


















