|
@@ -22,14 +22,19 @@ There are a few non-trivial blocks:
|
|
|
|
|
|
- +name+ is the path to the file you want to create/modify
|
|
- +name+ is the path to the file you want to create/modify
|
|
- +type+ is the type of the file, being one of:
|
|
- +type+ is the type of the file, being one of:
|
|
- * f: a regular file
|
|
|
|
- * d: a directory
|
|
|
|
- * r: a directory recursively
|
|
|
|
- * c: a character device file
|
|
|
|
- * b: a block device file
|
|
|
|
- * p: a named pipe
|
|
|
|
|
|
+ * `f`: a regular file, which must already exist
|
|
|
|
+ * `F`: a regular file, which is ignored and not created if missing
|
|
|
|
+ * `d`: a directory, which is created, as well as its parents, if missing
|
|
|
|
+ * `r`: a directory recursively, which must already exist
|
|
|
|
+ * `c`: a character device file, which parent directory must exist
|
|
|
|
+ * `b`: a block device file, which parent directory must exist
|
|
|
|
+ * `p`: a named pipe, which parent directory must exist
|
|
- +mode+ are the usual permissions settings (only numerical values
|
|
- +mode+ are the usual permissions settings (only numerical values
|
|
- are allowed)
|
|
|
|
|
|
+ are allowed);
|
|
|
|
+ for type `d`, the mode of existing parents is not changed, but the mode
|
|
|
|
+ of created parents is set;
|
|
|
|
+ for types `f`, `F`, and `r`, +mode+ can also be set to +-1+ to not
|
|
|
|
+ change the mode (and only change uid and gid)
|
|
- +uid+ and +gid+ are the UID and GID to set on this file; can be
|
|
- +uid+ and +gid+ are the UID and GID to set on this file; can be
|
|
either numerical values or actual names
|
|
either numerical values or actual names
|
|
- +major+ and +minor+ are here for device files, set to +-+ for other
|
|
- +major+ and +minor+ are here for device files, set to +-+ for other
|
|
@@ -38,22 +43,22 @@ There are a few non-trivial blocks:
|
|
of files, and can be reduced to a loop, beginning at +start+,
|
|
of files, and can be reduced to a loop, beginning at +start+,
|
|
incrementing its counter by +inc+ until it reaches +count+
|
|
incrementing its counter by +inc+ until it reaches +count+
|
|
|
|
|
|
-Let's say you want to change the permissions of a given file; using
|
|
|
|
-this syntax, you will need to write:
|
|
|
|
|
|
+Let's say you want to change the ownership and permissions of a given
|
|
|
|
+file; using this syntax, you will need to write:
|
|
|
|
|
|
----
|
|
----
|
|
/usr/bin/foo f 755 0 0 - - - - -
|
|
/usr/bin/foo f 755 0 0 - - - - -
|
|
/usr/bin/bar f 755 root root - - - - -
|
|
/usr/bin/bar f 755 root root - - - - -
|
|
/data/buz f 644 buz-user buz-group - - - - -
|
|
/data/buz f 644 buz-user buz-group - - - - -
|
|
|
|
+/data/baz f -1 baz-user baz-group - - - - -
|
|
----
|
|
----
|
|
|
|
|
|
-Alternatively, if you want to change owner/permission of a directory
|
|
|
|
-recursively, you can write (to set UID to foo, GID to bar and access
|
|
|
|
-rights to rwxr-x--- for the directory /usr/share/myapp and all files
|
|
|
|
-and directories below it):
|
|
|
|
|
|
+Alternatively, if you want to change owner of a directory recursively,
|
|
|
|
+you can write (to set UID to `foo` and GID to `bar` for the directory
|
|
|
|
+`/usr/share/myapp` and all files and directories below it):
|
|
|
|
|
|
----
|
|
----
|
|
-/usr/share/myapp r 750 foo bar - - - - -
|
|
|
|
|
|
+/usr/share/myapp r -1 foo bar - - - - -
|
|
----
|
|
----
|
|
|
|
|
|
On the other hand, if you want to create the device file +/dev/hda+
|
|
On the other hand, if you want to create the device file +/dev/hda+
|