Hi,
grundsätzlich verhält es sich unter Linux Systemen etwas anders als unter z.B. Windows.
Kurzübersicht:
Eigentümer darf eine Datei lesen, sonst niemand:
400 (r-- –- –-)
Eigentümer darf lesen und ausführen (sprich wie eine .exe starten):
500 (r-x –- –-)
Eigentümer darf lesen und schreiben, nicht ausführen:
600 (rw- –- –-)
Eigentümer darf lesen, schreiben und ausführen:
700 (rwx –- –-)
Die zweite Stelle in diesem Schema ist für die Gruppenberechtigungen, gemeint ist hier die ürimäre Gruppe des entsprechenden Users.
Beispiel:
User joe wurde bei der Installation angelegt, standardmäßig wurde sofort eine Gruppe mit demselben Namen erstellt und als primäre Gruppe für diesen User konfiguriert. Erstellt joe nun eine beliebige Datei gehört sie automatisch joe, und ebenfalls eingetragen ist joe, die Gruppe. joe ist aber gleichzeitig noch Mitglied der Gruppen cdrom, video, games, lpadm, wheel, audio und noch anderen. Bei den Files im eigenen homedir ist das irrelevant, hier zählt die primäre Gruppe.
Das Berechtigungsschema ist für die Gruppe exakt gleich wie für den User.
Die dritte und letzte Stelle ist für alle anderen User im System, sicherheitshalber steht das bei mir (auf Servern z.B.) standardmäßig auf 0, keiner darf was.
"Besonderheit":
Verzeichnisse/Ordner müssen ausführbar sein, sonst kann man sie nicht öffnen (Programmiererlogik).
Soweit nun zum groben Überblick, sinnvolle Konstellationen im eigenen homedir sind im Allgemeinen:
750 (rwx r-x –-) für Verzeichnisse
640 (rw- r-- –-) für "normale" Dateien
600 (rw- –- –-) für "vertrauliches"
400 (r-- –- –-) "da stecken 2 Jahre Arbeit drin, ich darf da unbedacht garnix ändern" 😉
Die Einstellung welche Rechte eine Datei beim erstellen bekommt ist mit de sogenannten umask festgelegt, diese steht per default auf 022. Die Schreibweise ist gewöhnungsbedürftig da es sich um das normale Schema invertiert handelt.
022 Heißt nichts anderes als daß Verzeichnisse mit 755 und Dateien mit 644 ertellt werden, wenn Du mehr Sicherheit oder andere Einstellungen willst kannst Du diese Variable (definiert/gesetzt in ~/.bashrc) ändern.
Pauschal also das executeable bit zu setzen (Ausführbarkeit, +x) ist unter Linux nicht sinnvoll, dieses ist Verzeichnissen und echten ausführbaren Programmen vorbehalten. Zumindest vom Konzept her 😉
So, hoffe etwas Klarheit geschaffen zu haben und Dich nicht endgültig mit meinem Chaotengewäsch verunsichert zu haben...
Cheers
tcs