fixperm(1M)


fixperm -- correct or initialize file permissions and ownership

Synopsis

   /usr/sbin/fixperm [-aCcDfgiLlnOpSsUvwX[-dpackage] [-u package]] specfile

Description

For each line in the specification file specfile, fixperm makes the listed pathname conform to a specification. fixperm was historically used by privileged users to configure a system upon installation. Non-privileged users can only use fixperm with the -D , -f , -g , -i , -L , -l , -n, -O, or -X options.

The following options are available:


-a
All files in the perm file must exist. This means that files marked as optional (type letter is in capital letters) must be present.

-C
Compress all C files.

-c
Creates empty files and missing directories.

-D
Lists directories only on standard output. Does not modify target files.

-dpackage
Processes input lines beginning with given package specifier string (see ``Specification File Format,'' below). The default action is to process all lines.

-f
Lists files only on standard output. Does not modify target files.

-g
Lists all devices on the standard output. Target files are not modified (analogous to -l, -f, and -D).

-i
Checks to see if the selected packages are installed. Return values are

0
package completely installed

4
package not installed

5
package partially installed

If the equivalent package was installed as a UNIX system package, -i will not detect it.


-L
List compressed C files.

-l
Lists files and directories on standard output. Does not modify target files.

-n
Reports errors only. Does not modify target files.

-O
Do not list link names. This option is ignored unless the -f, -g, -l, -D, or -L options are also specified.

-p
Check specfile for user id and group id before checking in /etc/passwd and /etc/group.

-S
Issues a complaint if files are not in x.out format.

-s
Modifies special device files in addition to the rest of the permlist.

-U
Uncompress all C files.

-u package
Causes similar action to -d option but processes items that are not part of the given package.

-v (verbose)
Issues a complaint if executable files are 1) word-swapped, 2) not fixed-stack, 3) not separate I and D, or 4) not stripped.

-w
Lists location (volume number) of the specified files or directories.

-X
Print only files and directories that are not installed. This option is ignored unless the -f, -g, -l, -D, or -L options are also specified.

Specification file format

Each nonblank line in the specification file, specfile, consists of either a comment or an item specification. A comment is any text from a pound sign (``#'') up to the end of the line. There is one item specification per line. User and group id numbers must be specified at the top of the specification file for each user and group mentioned in the file.

An item specification consists of a package specifier, a permission specification, owner and group specifications, the number of links on the file, the filename, and an optional volume number.

The package specifier is an arbitrary string that is the name of a package within a distribution set. A package is a set of files.

A permission specification follows the package specifier. The permission specification consists of a file type, followed by a numeric permission specification. The item specification is one of the following characters:


x
executable

a
archive

e
empty file (create if -c option given)

b
block device

c
character device

d
directory

f
text file

p
named pipe

If the item specification is given as an uppercase letter, the file associated with it is optional, and fixperm will not return an error message if it does not exist.

The numeric permission conforms to the scheme described in chmod(1). The owner and group permissions are in the third column separated by a slash, such as bin/bin. The fourth column indicates the number of links. If there are links to the file, the next line contains the linked filename with no other information. The fifth column is a pathname. The pathname must be relative (not preceded by a slash (/).

The sixth column is only used for special files, major and minor device numbers, or volume numbers.

Examples

The following two lines make a distribution and invoke tar(1) to archive only the files in my_package on /dev/sample :
   /usr/sbin/fixperm -f /etc/perm/my_package > list
   tar cfF /dev/sample list

This command line reports package errors:

   /usr/sbin/fixperm -nd my_package

References

chmod(1), custom(1M), fixshlib(1M), tar(1),

Notices

fixperm is usually only run by a shell script at installation.

fixperm should only be run from the directory to which the target files are relative.


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004