PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gesetzte variablen durch inhalt finden / Synology NAS



n1ghtnite
21.02.18, 15:23
Hallo,

ich habe eine Synology NAS.
Ich würde dort gerne herausfinden, ob bzw wenn ja wo ein paar configdateien als Variable gesetzt sind.

Zum Beispiel die /etc/samba/smb.conf

Wie kann Ich jetzt finden wo bzw ob die Variable gesetzt ist?

Bisher habe Ich so gesucht:
grep --exclude-dir={/volume1,/volume2,/volumeUSB1} -rnw '/' -e '/etc/samba/smb.conf'

Aber da konnte Ich nicht sehen, ob so eine Variable gesetzt ist.
Es geht darum, dass falls mal in einer zukünftigen Version der Pfad der Datei anders ist, dass Ich einfach in einem Script die Variable nutzen kann, um die Datei anzusprechen und nicht erst gucken muss, ob sie woanders liegt.

Kann Ich das mit regex irgendwie mit $???=/etc/samba/smb.conf finden?

nopes
21.02.18, 17:52
klar, der Befehl env (https://linux.die.net/man/1/env) zeigt alle Umgebungsvariablen an, die Ausgabe kann man dann mit anderen Programmen (zB grep) weiter verarbeiten:
env | grep smb.conf

Aber dran denken, jeder Benutzer hat seine eigene Umgebung, also auch eigen Umgebungsvariablen:
https://unix.stackexchange.com/questions/78061/get-environment-variable-of-other-user
Und Schrägstriche sind besondere Zeichen für grep:
https://stackoverflow.com/questions/11234858/how-do-you-grep-for-a-string-containing-a-slash

drcux
21.02.18, 20:45
Über eine Variable wirst du solche Sachen nicht abfragen können, diese werden normalerweise beim Kompilieren gesetzt. Man kann aber samba selber befragen:



# samba -b
Samba version: 4.7.4
Build environment:
Build host: Linux tobias 4.14.9-1-ARCH #1 SMP PREEMPT Tue Dec 26 00:18:37 UTC 2017 x86_64 GNU/Linux
Paths:
BINDIR: /usr/bin
SBINDIR: /usr/bin
CONFIGFILE: /etc/samba/smb.conf
NCALRPCDIR: /var/run/samba/ncalrpc
LOGFILEBASE: /var/log/samba
LMHOSTSFILE: /etc/samba/lmhosts
DATADIR: /usr/share
MODULESDIR: /usr/lib/samba
LOCKDIR: /var/cache/samba
STATEDIR: /var/lib/samba
CACHEDIR: /var/cache/samba
PIDDIR: /var/run
PRIVATE_DIR: /var/lib/samba/private
CODEPAGEDIR: /usr/share/samba/codepages
SETUPDIR: /usr/share/samba/setup
WINBINDD_SOCKET_DIR: /var/run/samba/winbindd
NTP_SIGND_SOCKET_DIR: /var/lib/samba/ntp_signd