/proc/[pid]/cmdline - Zugrifssrechte ändern

N

NIN

Grünschnabel
Hallo Leute,

die Zugriffsrechte von /proc/[pid]/cmdline gefallen mir nicht wirklich, da ich Passwörter als Argumente an Programme übergeben muss. Diese kann dann jeder User einfach von dort auslesen, was natürlich nicht erwünscht ist.
Da /proc/ ein Pseudo-Dateisystem ist , funktioniert chmod nicht. Ich denke, Access Control Lists werden ebenfalls keine Abhilfe schaffen.

Kennt jemand eine Möglichkeit?

Der Google-Treffer http://lwn.net/Articles/128392/ funktioniert nicht:

error: "proc.cmdline" is an unknown key
 
Hi,
die Zugriffsrechte von /proc/[pid]/cmdline gefallen mir nicht wirklich, da ich Passwörter als Argumente an Programme übergeben muss.
Dir ist aber schon klar wo dann das eigentliche Problem ist, oder? Statt komische Sachen mit dem Kernel zu versuchen, wuerde ich eher versuchen das eigentliche Problem zu fixen, was vermutlich auch einfacher und schneller geht.

Zum allgemeinen Verstaendnis von /proc hilft ja vielleicht dieser Thread:
http://www.unixboard.de/vb3/showthread.php?t=36901

Der Google-Treffer http://lwn.net/Articles/128392/ funktioniert nicht:
Der von dir verlinkte Patch scheint es nie in den Kernel geschafft zu haben, d.h. du muesstest wohl van Hand patchen.

Ansonsten koenntest du natuerlich noch den git log oder die kernel mailing liste durchsuchen, ob da was bei ist, was du suchst:
http://www.mail-archive.com/search?...s+with+sysctls&l=linux-kernel@vger.kernel.org

mfg,
bytepool
 
Ich würd mich mal um die Programme kümmern. Hier besteht nämlich durchaus die Möglichkeit,
die Passwörter unsichtbar zu machen, wenn man den entsprechenden argv[x] mit maximal der
Länge des PW mit space überschreibt. Das mache ich in eigenen Programmen selber und habe noch
nie damit Probleme gehabt.
so in der Art klappt das prima
sollte nur gleich beim Programmstart gemacht werden.
int main (argc, char *argv[]) {
strncpy(connectstring,argv[1],99);
bytes = strlen(connectstring);
... und schon ist /proc/xxx/cmdline hinten leer...

strncpy(argv[1],space,bytes);
 
Vielen Dank, ich werde sehen was ich tun kann. :)
 

Ähnliche Themen

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Zurück
Oben