Sida 1 av 1
låta programmet få SUDO rättigheter och andra linux frågor
Postat: 20 nov 2007, 23:10
av O_Isoz
Hej
Sitter just nu med ett litet program som skall läsa in data ifrån USB porten.
för att köras så måste programmet ha "sudo rättigheter" annars så skiter det sig (tog ett tag för mig att hitta den lösningen)
finns det något sätt som jag kan låta programmet själv "byta till" sudo rättigheter? (känns ifos lite orimligt) utan att den som startar kan sudo lösenordet?
Hur göra jag om jag vill skapa filer större än 2G? får "file limit exceeded" som felmeddelande
Tack för hjälpen
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 20 nov 2007, 23:17
av Daniel Nylander
Varför root för att läsa från en USB-enhet? Antar att du försöker skriva till den.
Lägg till "-o users" när du monterar den.
2GB låter Windowsigt.. kör ett vettigt filsystem som förstår filrättigheter
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 20 nov 2007, 23:21
av gasol
Här beskrivs hur du låter dina program ha root access fast dom bara körs som en vanlig användare.
http://en.wikipedia.org/wiki/Setuid
angående stora filer så beror det nog på overflow problem av size_t variablerna har du testat att öppna filerna med O_LARGEFILE flaggan satt? kolla på man för open(2).
edit: många externa enheter typ mp3spelare osv som använder flash-minnen använder sig av FAT filsystem som inte kan hantera filer över 2gig
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 00:37
av O_Isoz
Tackar!
hur sätter jag den flaggan om jag öppnar filen med fopen?
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 01:00
av Daniel Nylander
Om du kör dit program med setuid (sudo chmod +s program) bör du känna till att det kan vara en säkerhetsrisk att göra så
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 07:41
av gasol
O_Isoz skrev:
Tackar!
hur sätter jag den flaggan om jag öppnar filen med fopen?
först så öppnar du filen med open(2) sedan så konverterar du den med fdopen(3) till en FILE* ström.
FILE *fdopen(int fildes, const char *mode);
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 10:02
av Barre
O_Isoz skrev:
Hej
Sitter just nu med ett litet program som skall läsa in data ifrån USB porten.
för att köras så måste programmet ha "sudo rättigheter" annars så skiter det sig (tog ett tag för mig att hitta den lösningen)
Först, nu är jag ingen programeringsguru, men jag kan inte låta bli att fråga ialla fall

Vad är det fär USB device?
Det borde gå att göra en udev regel för denna device som sätter skriv och läsrättigheter till den devicen för en given grupp. Och sen lägga in de användare som skall ha rättigheter till den gruppen och på så sätt slippa köra sudo.. bara en tanke...
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 16:30
av gasol
Barre skrev:
O_Isoz skrev:
Hej
Sitter just nu med ett litet program som skall läsa in data ifrån USB porten.
för att köras så måste programmet ha "sudo rättigheter" annars så skiter det sig (tog ett tag för mig att hitta den lösningen)
Först, nu är jag ingen programeringsguru, men jag kan inte låta bli att fråga ialla fall

Vad är det fär USB device?
Det borde gå att göra en udev regel för denna device som sätter skriv och läsrättigheter till den devicen för en given grupp. Och sen lägga in de användare som skall ha rättigheter till den gruppen och på så sätt slippa köra sudo.. bara en tanke...
Har inte så mycket koll på USB kommunikation men det är fallet att han eller biblioteket han använder måste te.x. öppna en RAW socket eller dylikt så måste det ske genom root access.
SV: låta programmet få SUDO rättigheter och andra linux frågor
Postat: 21 nov 2007, 18:10
av O_Isoz
Tack för all hjälp..
även om jag nog får leva med att det krävs root behörighet för att köra programmet... iofs så löser det sig hyfsat om man gör som Daniel Nylander tipsade om och använder sig av chmod +s när man har installerat programmet.
ang filskrivandet så var det visst enklare än jag trodde... byter man ut fopen mot fopen64 så löste sig filstorleks problemet....(har inte vågat max den men 4G är fullt möjligt)
Det jag gör är att jag sitter och leker med en hårdvaru delen till en GNSS (GPS och Galileo) mjukvaru mottagare som strömmar data över USB i 16MByte/sec (modulen samt windows versionen med källkod går att hitta på
http://www.sparkfun.com/commerce/produc ... ts_id=8238)