[[:mac|{{ :Apple.png?40|}}]] ===== HFS+ und die File-Flags ===== Dieser Artikel behandelt die HFS+ File-Flags >>uchg<<, >>schg<< und >>hidden<<. Er zeigt die Möglichkeiten diese Flags mittels dem Befehlszeilenkommando >>chflags<< ((http://developer.apple.com/Mac/library/documentation/Darwin/Reference/ManPages/man1/chflags.1.html)) zu setzen oder zu entfernen, sowie das Handling dieser Flags im Finder. ** Praxisbeispiel:** Beim Löschen einer Datei im Finder wird Ihnen der Löschvorgang möglicherweise verweigert: \\ {{ :mac:deletefailure.png }} In diesem Fall ist die Datei durch ein Flag vor dem Löschen bzw. vor Veränderungen geschützt. Sie können sich die verwendeten Datei-Flags einer Datei in einem Terminal mit dem ls-Befehl anzeigen lassen, dafür verwenden sie die Optionen -lO (kleines L und grosses O) $ ls -lO /Users/pronto/Desktop/test.rtf -rw-r--r-- 1 pronto staff schg 177 21 Nov 13:58 /Users/pronto/Desktop/test.rtf Sie können das in diesem Beispiel verwendete Datei-Flag __schg__ durch den chflags-Befehl entfernen. $ sudo chflags noschg /Users/pronto/Desktop/test.rtf Password: $ ls -lO /Users/pronto/Desktop/test.rtf -rw-r--r-- 1 pronto staff - 177 21 Nov 13:58 /Users/pronto/Desktop/test.rtf In diesem Fall zB wurde das schg-Flag durch die Eingabe von noschg entfernt. (schg / noschg) Das HFS+ Filesystem kennt insgesamt acht File-Flags, jedoch die gängigsten sind: **uchg:** (User Immutable Flag) Dieses Flag führt beim Löschen im Finder lediglich zu einer Rückfrage. Das uchg-Flag kann im Finder ebenfalls durch das Aktivieren der Checkbox: Geschützt ((http://wiki.prontosystems.org/_media/mac:geschuetzt.png)) gesetzt bzw durch Deaktivieren entfernt werden. Zum entfernen dieses Flags verwenden Sie >>nouchg<<. **schg:** (System Immutable Flag) Dieses Flag verhindert das Löschen oder eine Veränderung der geschützen Datei systemweit. Jedoch kann der Super-User wie oben beschrieben dieses Flag entfernen. Zum entfernen dieses Flags verwenden Sie >>noschg<< **hidden:** (Versteckt) Dieses Flag versteckt Dateien oder Verzeichnisse im Finder. Zum entfernen dieses Flags verwenden Sie >>nohidden<<. In einem Terminal jedoch werden sie weiterhin durch den ls-Befehl auch ohne weitere Optionen angezeigt. Sie können das zB mit einem einfachen ls-Befehl im /-Verzeichnis überprüfen: $ cd / $ ls Applications bin private Developer cores sbin Handbücher & Informationen dev tmp Library etc usr Network gmon.out var System home vidotask.txt Users mach_kernel Volumes net prontos-Mac-Pro:/ pronto$ Sie sehen in dieser Ausgabe die Unix Standard Verzeichnisse wie zB usr, var, etc, tmp, welche Ihnen im Finder nicht angezeigt werden. Durch den Befehlszeilenparameter -lO fordern wir nun zur Gegenprobe den ls-Befehl auf, uns die Flags anzuzeigen: $ cd / $ ls -lO total 97956 drwxrwxr-x+ 58 root admin - 1972 19 Nov 19:37 Applications drwxrwxr-x@ 16 root admin - 544 16 Nov 20:01 Developer lrwxr-xr-x 1 root admin - 60 12 Nov 10:39 Handbücher & Informationen -> /Library/Documentation/User Guides and Information.localized drwxrwxr-t+ 60 root admin - 2040 19 Nov 18:56 Library drwxr-xr-x@ 2 root wheel hidden 68 23 Jun 08:19 Network drwxr-xr-x 4 root wheel - 136 12 Nov 10:54 System drwxr-xr-x 5 root admin - 170 12 Nov 10:39 Users drwxrwxrwt@ 5 root admin hidden 170 24 Nov 18:29 Volumes drwxr-xr-x@ 39 root wheel hidden 1326 12 Nov 10:53 bin drwxrwxr-t@ 2 root admin hidden 68 23 Jun 08:19 cores dr-xr-xr-x 3 root wheel hidden 4090 24 Nov 18:29 dev lrwxr-xr-x@ 1 root wheel hidden 11 14 Aug 22:48 etc -> private/etc -rw-r--r-- 1 pronto admin - 31421616 16 Nov 22:22 gmon.out dr-xr-xr-x 2 root wheel hidden 1 24 Nov 18:29 home -rw-r--r--@ 1 root wheel hidden 18676624 3 Nov 19:40 mach_kernel dr-xr-xr-x 2 root wheel hidden 1 24 Nov 18:29 net drwxr-xr-x@ 6 root wheel hidden 204 14 Aug 22:51 private drwxr-xr-x@ 64 root wheel hidden 2176 12 Nov 10:53 sbin lrwxr-xr-x@ 1 root wheel hidden 11 14 Aug 22:48 tmp -> private/tmp drwxr-xr-x@ 12 root wheel hidden 408 16 Nov 19:59 usr lrwxr-xr-x@ 1 root wheel hidden 11 14 Aug 22:48 var -> private/var -rw-r--r-- 1 pronto admin - 28624 19 Nov 19:46 vidotask.txt prontos-Mac-Pro:/ pronto$ Durch das Setzen einer Finder Systemvariable, kann man den Finder dazu veranlassen, ebenfalls die versteckten Dateien anzuzeigen. Das kann uU für Webentwickler notwendig sein, wenn sie mit Unix .Dateien (Punkt-Datei) arbeiten müssen wie zB .htaccess oder .htpasswd und nicht auf die GUI verzichten wollen. Systemvariable: **AppleShowAllFiles** Value: **TRUE** (versteckte Dateien anzeigen) Value: **FALSE** (versteckte Dateien ausblenden) $ defaults write com.apple.finder AppleShowAllFiles TRUE $ killall Finder Dieser Wert wird in die ''**/Users/[Benutzer]/Library/Preferences/com.apple.finder**'' geschrieben. Das >>killall Finder<< Kommando startet den Finder neu. Sie können sich die Preferences auch im Property List Editor anschauen und ggf dort auch editieren. Der Property List Editor ist Teil des Apple Tool Kits, welches auf der Installations DVD zu finden ist und nachinstalliert werden muss. {{ :mac:finderplist.png |}} --- //[[pronto@kastner.de|WikiSysop]] 2009/11/24 23:56// ~~DISCUSSION~~ {{keywords>hfs+ uchg nouchg schg noschg hidden chflags flags}}