Noip „Konfigurationsdatei kann nicht gefunden werden“, aber die Datei ist da

Noip „Konfigurationsdatei kann nicht gefunden werden“, aber die Datei ist da

Ich habe Noip installiert und den Befehl ausgeführt, der die Konfigurationsdatei erstellt hat

/usr/local/bin/noip2 -C

und dann habe ich den Befehl „Ausführen“ ausgeführt

/usr/local/bin/noip2

und es kam zurück

Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

Ich habe den Speicherort der Datei überprüft und sie war definitiv da. Irgendeine Idee, warum die Datei nicht gefunden werden konnte?

Ausgabe von strace:

execve("/usr/local/bin/noip2", ["/usr/local/bin/noip2"], [/* 15 vars */]) = 0
brk(0)                                  = 0x1375000
uname({sys="Linux", node="raspberrypi", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f33000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
mmap2(NULL, 44, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb6f32000
close(3)                                = 0
open("/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\270\4\0\0004\0\0\0"..., 512) = 512
lseek(3, 7276, SEEK_SET)                = 7276
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 7001, SEEK_SET)                = 7001
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=10170, ...}) = 0
mmap2(NULL, 39740, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f07000
mprotect(0xb6f09000, 28672, PROT_NONE)  = 0
mmap2(0xb6f10000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb6f10000
close(3)                                = 0
munmap(0xb6f32000, 44)                  = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=44950, ...}) = 0
mmap2(NULL, 44950, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6efc000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\214y\1\0004\0\0\0"..., 512) = 512
lseek(3, 1198880, SEEK_SET)             = 1198880
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1360) = 1360
lseek(3, 1198444, SEEK_SET)             = 1198444
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=1200240, ...}) = 0
mmap2(NULL, 1242408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6dcc000
mprotect(0xb6eef000, 28672, PROT_NONE)  = 0
mmap2(0xb6ef6000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x122) = 0xb6ef6000
mmap2(0xb6ef9000, 9512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6ef9000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f32000
set_tls(0xb6f324c0, 0xb6f32b98, 0xb6f37048, 0xb6f324c0, 0xb6f37048) = 0
mprotect(0xb6ef6000, 8192, PROT_READ)   = 0
mprotect(0xb6f36000, 4096, PROT_READ)   = 0
munmap(0xb6efc000, 44950)               = 0
rt_sigaction(SIGHUP, {SIG_IGN, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {SIG_IGN, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {SIG_IGN, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0
rt_sigaction(SIGALRM, {0xa568, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0
getcwd("/home/pi", 4096)                = 9
lstat64("/home/pi/noip2", 0xbef6f670)   = -1 ENOENT (No such file or directory)
open("/usr/local/etc/no-ip2.conf", O_RDWR) = -1 EACCES (Permission denied)
open("/usr/local/etc/no-ip2.conf", O_RDONLY) = -1 EACCES (Permission denied)
write(2, "Can't locate configuration file "..., 79Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

) = 79
exit_group(-1)                          = ?

Danke

Antwort1

open("/usr/local/etc/no-ip2.conf", O_RDWR) = -1 EACCES (Permission denied)
open("/usr/local/etc/no-ip2.conf", O_RDONLY) = -1 EACCES (Permission denied)

noip2versucht, seine Konfigurationsdatei zum Lesen und Schreiben zu öffnen. Wenn dies fehlschlägt, versucht es erneut, nur zu lesen, was ebenfalls fehlschlägt. Der Fehler ist auf eine fehlende Berechtigung zurückzuführen. Die Fehlermeldung ist wenig hilfreich allgemein gehalten.

Überprüfen Sie die Berechtigungen der Konfigurationsdatei und der dorthin führenden Verzeichnisse ( /und /usrdiese müssen auf jeden Fall in Ordnung sein, sonst würde Ihr System auf sichtbarere Weise beschädigt werden).

ls -ld /usr/local /usr/local/etc /usr/local/etc/no-ip2.conf

Die Verzeichnisse müssen mindestens das xBerechtigungsbit für den Benutzer haben, der den Befehl ausführt – wahrscheinlich für alle Benutzer. Die Datei selbst muss mindestens das rBerechtigungsbit haben. Die Verzeichnisse sollten das Berechtigungsbit haben r(streng genommen ist es nicht erforderlich, aber es ist normal; sieheSind die Berechtigungen des übergeordneten Verzeichnisses beim Zugriff auf ein Unterverzeichnis von Bedeutung?für Details).

Sie möchten wahrscheinlich chmod a+rX /usr/local/etc /usr/local/etc/no-ip2.conf, es sei denn, die Konfigurationsdatei soll vertraulich sein (z. B. weil sie ein Kennwort enthält).

Wenn einer der Einträge +nach dem r// Berechtigungsbits aufweist, gibt es ein Sicherheitsframework wie SELinux, das möglicherweise zusätzliche Einschränkungen auferlegt w.x

Antwort2

Ich hatte dieses Problem. Ich glaube, es war ein Berechtigungsproblem. Bei mir hat es funktioniert, es als Root auszuführen:

$ sudo noip2

Möglicherweise müssen Sie zuerst laufende Instanzen beenden.

$ ps -A |grep noip
 1577 ?        00:00:00 noip2
$ sudo kill 1577

Antwort3

Es handelt sich um ein Berechtigungsproblem. Ich habe es wie folgt behoben:

chown noip.wheel /usr/local/etc/no-ip2.conf

Antwort4

Meins war RO-Dateisystem, strace show , O_RDWR) = -1 EROFS (Read-only file system)

Kopieren nach /dev/shm hilft :D

verwandte Informationen