Posts Tagged ‘Executable’

Mittwoch, 31. August 2016

Mit chmod gleichzeitig unterschiedliche Berechtigungsbits von Dateien und Verzeichnissen setzen

Wer kennt es nicht? Hantiert man rekursiv mit chmod herum, steht man immer vor dem Problem, dass man Verzeichnisse unterschiedlich von Dateien behandeln muss. Verlieren nämlich Verzeichnisse das Execution-Bit (--x), kann man nicht mehr in diese cden …

Fortgeschrittene Linuxer verwenden in solchen Fällen wahrscheinlich einen Zweizeiler in der Form …

$ find /unclean-directory -type d -exec chmod 700 '{}' ';'
$ find /unclean-directory -type f -exec chmod 600 '{}' ';'

Doch die wahren Profis wissen (wie ich seit gestern), dass das noch viel, viel einfacher funktioniert:

$ chmod -R u=rwX,go= /unclean-directory

Das grosse X sagt chmod, dass es das Executable-Bit nur bei Verzeichnissen setzen soll (und bei Dateien, die dieses bereits gesetzt haben). u=rwX bedeutet, dass der Owner der Datei Lese-, Schreib und (variable) Exekutionsrechte erhält. go= sagt aus, dass die Gruppe sowie die Anderen (others) keine Berechtigung erhalten. Ausgedeutscht also 700 für Verzeichnisse und 600 für Dateien.

Quellen: The use of the uppercase X in chmod und How can I change all of the contents inside of directory to what the default file ownership and permissions are?

Tags: , , , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 30. April 2015

Ist eine laufende Linux-Anwendung 32- oder 64-bit?

Das findet man mit folgenden zwei Befehlen heraus:

# ps ax | grep -i splunk
4137 ?        Sl     0:05 splunkd -p 8089 restart

Bewaffnet mit der pid kann man nun das Executable hinter dem Prozess analysieren:

# file -L /proc/4137/exe
/proc/4137/exe: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped

Meine Splunk-Installation enthält somit 32-bit Binaries.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen