Hallo, ich hab ein kleines Programm geschrieben, dass auf /dev/port zugreifen soll. Aber ein 'open("/dev/port",O_RDWR);' schlaegt fehl, mit dem Fehler, dass ich nicht genug Rechte hab. crw-rw-rw- 1 root kmem 1, 4 2003-03-14 14:07 port Als root geht dann wieder alles! Was muss ich nun aendern, damit es auch als "normaler" Benutzer funktioniert? MfG Markus PS: SuSE 8.2 prof
Alloha, Wenn du etwas ausführen möchtest, dann musst du es auch executable machen. chmod o+x port o --> others Bei der selben Gruppe die Zugreift reicht auch chmod g+x port g --> group cu, Sebastian Lorkowski
Am Sonntag, 10. August 2003 18:17 schrieb SebLor:
Wenn du etwas ausführen möchtest, dann musst du es auch executable machen.
chmod o+x port
o --> others
Bei der selben Gruppe die Zugreift reicht auch
chmod g+x port
g --> group Ähm, ich meine, das ich das Programm ausführen kann, aber das Programm dann beim Versuch '/dev/port' zu oeffnen sich ueber fehlende Rechte beschwert.
Es ist also /dev/port crw-rw-rw- ! MfG Markus
Am Sun, 10 Aug 2003 18:26:55 +0200
Markus Hochmann
Am Sonntag, 10. August 2003 18:17 schrieb SebLor:
Wenn du etwas ausführen möchtest, dann musst du es auch executable machen.
chmod o+x port
o --> others
Bei der selben Gruppe die Zugreift reicht auch
chmod g+x port
g --> group Ähm, ich meine, das ich das Programm ausführen kann, aber das Programm dann beim Versuch '/dev/port' zu oeffnen sich ueber fehlende Rechte beschwert.
Es ist also /dev/port crw-rw-rw- !
Sorry, vielleicht hätte ich deine Beschreibung besser lesen und nicht überfliegen sollen. Die Rechte werden zusätzlich noch mal innerhalb des Programms vergeben. Diese kann man nicht so einfach ändern. Da weiß ich dann leider auch nicht weiter. Vielleicht noch mal versuchen, den Besitzer zu ändern, was natürlich auch nicht besonders sinnvoll ist. cu, Seb
Am Mon, 11 Aug 2003 13:02:05 +0200
SebLor
Am Sun, 10 Aug 2003 18:26:55 +0200 Markus Hochmann
schrieb: Am Sonntag, 10. August 2003 18:17 schrieb SebLor:
Wenn du etwas ausführen möchtest, dann musst du es auch executable machen.
chmod o+x port
o --> others
Bei der selben Gruppe die Zugreift reicht auch
chmod g+x port
g --> group Ähm, ich meine, das ich das Programm ausführen kann, aber das Programm dann beim Versuch '/dev/port' zu oeffnen sich ueber fehlende Rechte beschwert.
Es ist also /dev/port crw-rw-rw- !
Wie gesagt, sind /dev/ Sachen mit Vorsicht anzusehen. Habe ein paar Seiten dazu gefunden. Schau dir das doch mal an: http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html cu, Sebastian Lorkowski
Hallo Markus,
ich hab ein kleines Programm geschrieben, dass auf /dev/port zugreifen soll. Aber ein 'open("/dev/port",O_RDWR);' schlaegt fehl, mit dem Fehler, dass ich nicht genug Rechte hab.
crw-rw-rw- 1 root kmem 1, 4 2003-03-14 14:07 port
Als root geht dann wieder alles! Was muss ich nun aendern, damit es auch als "normaler" Benutzer funktioniert? vielleicht hilft die das etwas weiter. Es beschreibt wie man als NichtRootUser auf dem LPT-Port was ausgeben kann:
--- Externes Programm lptout/lptout.c -> Wert auf LPT-Port ausgeben ---
// Kompilieren: gcc -O2 -o lptin lptin.c
// Programm braucht set uid Bit --> z.B. mit mc setzen
// Aufruf mit: system(lptout 888,int Wert);
#include
participants (3)
-
Markus Hochmann
-
SebLor
-
Ulrich Gehring