Weiss jemand, wieso auf dem informatik servern (rzssh1.informatik.uni-hamburg.de)
auf "man printf" mit "getcwd: Zugriff verweigert" geantwortet wird?
Ausserdem kann man nicht mit mc navigieren oder etwas im aktuellen verzeichniss starten. Der cc von sun ist irgend wie im Arsch:
compiling "main.c"
Error in finding run directory. Using default /opt/SUNWspro/binmake: *** [main.o] Segmentierungsfehler (core dumped)
Und man staendig irgend wie folgende Fehler kriegt.
Error in finding run directory:Permission denied.
Ich wollt mein code auf big-endian tauglichkeit untersuchen aber irgend wie kriegt man den Eindruck, dass der Administrator von informatik Solaris servern keine Bock (oder vielleicht Ahnung hat) die Rechner richtig zu konfigurieren.
gdb funzt auch nicht
ich krieg
[New LWP 2]
[LWP 2 exited]
thread.c:595: internal-error: is_thread_state: Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
Kennt vielleicht jemand ein big endian rechner im internet zum testen? Warscheinlich muss ich dafuer doch mit qemu probieren.
Also ich hab alle versteckte Dateien geloescht, ssh keys eingestelt(wie auf der mafiasi.de wiki beschrieben ist) und auch kinit ausgefuhr aber das Problem besteht immer noch. Ich muss auch wenn ich irgend eine Datei editieren moechte immer das ganze Pfad angeben oder `pwd`/filename, ansonsten findet der Server die Datei nicht. Ich habe allerdings geschaft das Code mit gcc zu kompilieren, der hat zwar Fehler ausgegeben:
compiling "main.c"
Error in finding run directory:Permission denied.
aber hat alles fertigkompilliert. Ich habe erreicht was ich wollte, aber das obere Problem besteht immer noch.
Meine home Verzeichniss war oktal 40777 ich habe die mit chmod auf 40555 geaendert, wie bei den anderen, jetzt wenn ich in die Verzeichnisse reingehe, die es frueher gab, funktioniert es, wenn ich versuche ein neues Verzeichnis zu erstellen, dann kriege ich "Zugriff verweigert". Der midnight commander kann jetzt die Verzeichnisse wechseln! Vielen dank Uncle Owen, das scheint die richtige Richtung zu sein.
Ok, ich habe mein Heimverzeichniss mit chmod beschreibbar gemacht, es ist jetzt oktal 40755 und es funktioniert.
Es funktioniert jedoch nicht wenn ich weitere Unterverzeichnisse kreiere.
Ich glaub das Problem bei mir ist, dass neue Verzeichnisse, die man mit mkdir macht, erhalten komische Zugriffsrechte und dann funktioniert die getcwd nicht.
Es hilft nicht. Also wenn ich es richtig verstehe, wenn ich die Zugriffsrechte fuer den Heimverzeichniss von Besitzer auf lesen/schreiben/ausfueren setze sollte es doch funktionieren, zumindes funktioniert es auf meinem heimrechner. Wenn ich es auf dem Server versuche, konnen Programme nicht mehr ihr Aktuelles verzeichniss ablesen. Wenn ich lesen/schreiben/ausfuren fuer otheres setze, dann funktioniert es wie es sein soll aber nur fuer das Verzeichniss und nicht fuer Unterverzeichnisse. Vielleicht kommen hier irgend wie ACL's ins Spiel oder andere unix Mechanismen von denen ich keine Ahnung habe. Mein temporaere fix ist einfach alles mit chmod auf 0777 zu setzen, dann funktioniert es ohne Probleme.
$umask
027
Also 000 010 111, auf Wikipedia steht es soll normaleweise 022 sein.
Ich hab zum testen umask 700 gemacht und ein Verzeichniss erzeugt:
drwx——
Dann umask 070:
drwx——
dann umask 000
drwx——
Also immer das gleiche.
strace sagt:
ERROR: unable to open /dev/log
truss man printf:
truss man printf
execve("/usr/bin/man", 0xFFBFFA4C, 0xFFBFFA58) argc = 2
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/man", "/usr/bin/man", 1023) = 12
stat64("/usr/bin/man", 0xFFBFF708) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat64("/lib/libc.so.1", 0xFFBFEE98) = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3A0000
mmap(0x00010000, 1294336, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF200000
mmap(0xFF200000, 1241389, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF200000
mmap(0xFF330000, 35901, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1245184) = 0xFF330000
mmap(0xFF33A000, 1552, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF33A000
memcntl(0xFF200000, 145560, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF390000
munmap(0xFF3A0000, 32768) = 0
getcontext(0xFFBFF578)
getrlimit(RLIMIT_STACK, 0xFFBFF558) = 0
getpid() = 29597 [29596]
setustack(0xFF392A88)
access("/usr/lib/sgml/sgml2roff", X_OK) = 0
brk(0x00029B50) = 0
brk(0x0002BB50) = 0
stat64("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", 0xFFBFE608) = 0
resolvepath("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", "/platform/sun4v/lib/libc_psr.so.1", 1023) = 33
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3F0000
open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3A0000
munmap(0xFF3A2000, 24576) = 0
close(3) = 0
stat64("/usr/lib/locale/de_DE.UTF-8/de_DE.UTF-8.so.3", 0xFFBFE790) = 0
resolvepath("/usr/lib/locale/de_DE.UTF-8/de_DE.UTF-8.so.3", "/usr/lib/locale/de_DE.UTF-8/de_DE.UTF-8.so.3", 1023) = 44
open("/usr/lib/locale/de_DE.UTF-8/de_DE.UTF-8.so.3", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF380000
mmap(0x00010000, 1884160, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF000000
mmap(0xFF000000, 1813035, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF000000
mmap(0xFF1CA000, 5058, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1810432) = 0xFF1CA000
munmap(0xFF1BC000, 57344) = 0
memcntl(0xFF000000, 7148, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat64("/usr/lib/locale/common/methods_unicode.so.3", 0xFFBFE6C8) = 0
resolvepath("/usr/lib/locale/common/methods_unicode.so.3", "/usr/lib/locale/common/methods_unicode.so.3", 1023) = 43
open("/usr/lib/locale/common/methods_unicode.so.3", O_RDONLY) = 3
mmap(0xFF380000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x00010000, 131072, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF350000
mmap(0xFF350000, 58305, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF350000
mmap(0xFF36E000, 1436, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 57344) = 0xFF36E000
munmap(0xFF360000, 57344) = 0
memcntl(0xFF350000, 2824, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat64("/usr/lib/locale/de_DE.UTF-8/../common/libc.so.1", 0xFFBFE660) Err#2 ENOENT
stat64("/usr/lib/locale/de_DE.UTF-8/libc.so.1", 0xFFBFE660) Err#2 ENOENT
stat64("/usr/lib/locale/de_DE.UTF-8/../../../lib/libc.so.1", 0xFFBFE660) = 0
resolvepath("/usr/lib/locale/de_DE.UTF-8/../../../lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
munmap(0xFF380000, 32768) = 0
ioctl(1, TCGETA, 0xFFBFF974) = 0
access("/opt/man", R_OK|X_OK) = 0
open("/opt/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/opt/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 608
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/local/gnu/man", R_OK|X_OK) = 0
open("/local/gnu/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/local/gnu/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 544
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/usr/sfw/man", R_OK|X_OK) = 0
open("/usr/sfw/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/usr/sfw/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 464
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/usr/openwin/man", R_OK|X_OK) = 0
open("/usr/openwin/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/usr/openwin/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 752
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/usr/dt/man", R_OK|X_OK) = 0
open("/usr/dt/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/usr/dt/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 632
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/local/texlive/2010/texmf/doc/man", R_OK|X_OK) = 0
open("/local/texlive/2010/texmf/doc/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/local/texlive/2010/texmf/doc/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 96
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/usr/java/man", R_OK|X_OK) = 0
open("/usr/java/man/man.cf", O_RDONLY) Err#2 ENOENT
openat(-3041965, "/usr/java/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xFFBFF7A0) = 0
getdents64(3, 0xFF394000, 8192) = 104
getdents64(3, 0xFF394000, 8192) = 0
close(3) = 0
access("/usr/man", R_OK|X_OK) = 0
open("/usr/man/man.cf", O_RDONLY) = 3
fstat64(3, 0xFFBFEF10) = 0
brk(0x0002BB50) = 0
brk(0x0002DB50) = 0
fstat64(3, 0xFFBFEDB8) = 0
ioctl(3, TCGETA, 0xFFBFEE9C) Err#25 ENOTTY
read(3, " #\n # D e f a u l t ".., 8192) = 676
llseek(3, 0, SEEK_CUR) = 676
close(3) = 0
getcwd(0x0002C308, 1025) Err#13 EACCES
open("/usr/lib/locale/de_DE.UTF-8/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY) = 3
fstat64(3, 0xFFBFEE08) = 0
issetugid() = 0
mmap(0x00000000, 328987, PROT_READ, MAP_SHARED, 3, 0) = 0xFEFA0000
close(3) = 0
getcwdwrite(2, " g e t c w d", 6) = 6
: write(2, " : ", 2) = 2
Zugriff verweigertwrite(2, " Z u g r i f f v e r w".., 18) = 18
write(2, "\n", 1) = 1
_exit(1)