Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-08-2004, 11:17   #1
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
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... ) sul MAN che quando si crea un pipe e si indicano certi diritti a questi viene sottratta la maschera dei bit "standard" che, solitamente, e' impostata a 022 (Ma che puo' essere comunque modificata utilizzando la funzione umask). Quello che mi chiedevo e' se, inoltre, non esistono delle macro per rendere tutto cio' piu' "intuitivo". E' possibile ad esempio utilizzare le macro O_RDONLY etc. anche in fase di creazione della pipe ?

thks
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2004, 11:21   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2004, 11:25   #3
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
Quote:
Originariamente inviato da ilsensine
mkfifo + chmod
Risposta lapidaria...
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 01:48   #4
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
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.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 08:48   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da Ed_Bunker
Ovviamente tali impostazioni influenzano solo i diritti degli utenti e nulla in funzione dei processi. Esiste un modo per fare questo ?!?
Non direttamente, ma indirettamente. Definisci un profilo utente dedicato all'accesso in lettura al pipe; quindi, rendi il programma che accede al pipe proprietà di quell'utente, e imposta il flag suid.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 11:18   #6
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
Quote:
Originariamente inviato da ilsensine
Non direttamente, ma indirettamente. Definisci un profilo utente dedicato all'accesso in lettura al pipe; quindi, rendi il programma che accede al pipe proprietà di quell'utente, e imposta il flag suid.
E dovrei creare un profilo utente ad hoc per l'esecuzione del programma !? A me servirebbe qualcosa che mi permetta la massima portabilita'. Se facessi girare lo stesso proramma su un' altra macchina dovrei creare nuovamente un nuovo p.u. ?!

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.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 11:36   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da Ed_Bunker
E dovrei creare un profilo utente ad hoc per l'esecuzione del programma !? A me servirebbe qualcosa che mi permetta la massima portabilita'. Se facessi girare lo stesso proramma su un' altra macchina dovrei creare nuovamente un nuovo p.u. ?!
Usa uno dei profili standard del sistema (daemon, adm...)
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 ??!
E' un assurdo logico: vuoi che un programma che gira con i privilegi dell'utente che lo ha lanciato, compia operazioni che devono essere impedite all'utente stesso? Vuol dire che il programma gira con privilegi superiori, da qui la necessità del suid.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 12:12   #8
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9480
Quote:
Originariamente inviato da ilsensine
Usa uno dei profili standard del sistema (daemon, adm...)

E' un assurdo logico: vuoi che un programma che gira con i privilegi dell'utente che lo ha lanciato, compia operazioni che devono essere impedite all'utente stesso? Vuol dire che il programma gira con privilegi superiori, da qui la necessità del suid.
Pero' vorrei che il programma potesse essere lanciato da un qualsiasi utente. Mentre secondo cio' che hai suggerito sarebbe possibile lanciarlo soltanto come adm (ad esempio) ? Come e' possibile rendere un programma di esclusiva "proprieta'" di un certo utente !?? Inoltre a quale scopo viene settato il suid ?
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2004, 12:28   #9
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
Texas Instruments acquisisce Silicon Lab...
NVIDIA chiede l'archiviazione della caus...
MOUSE: P.I. For Hire: sembra un cartone ...
Francia all'attacco: X sotto indagine, p...
Vodafone abilita il Wi-Fi Calling in Ita...
GTA VI: confermata l'uscita a novembre, ...
Il robot umanoide G1 di Unitree cammina ...
Gli americani comprano quasi solo iPhone...
Xcode 26.3 trasforma gli assistenti AI i...
Anche la Spagna è pronta a vietar...
Loongson 3B6000: la CPU cinese scalfisce...
Hard disk ancora protagonisti: Western D...
Robot grandi quanto un granello di sale:...
Top 10 bestseller Amazon: febbraio strav...
Scendono ancora i prezzi Amazfit su Amaz...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v