FIXPERM(1M) —
NAME
fixperm − correct or initialize XENIX file permissions and ownership
SYNOPSIS
fixperm [−acDfgilnSsvw[−dpackage] [−u package]] specfile
DESCRIPTION
For each line in the specification file specfile, fixperm makes the listed pathname conform to a specification. fixperm is typically used by the super-user to configure a XENIX system upon installation. It has been provided for use with any existing XENIX packages that you may have that you wish to install on the UNIX system. Nonsuper-users can only use fixperm with the −D, −f, −l, or −n options.
The following options are available:
Option Description
−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 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 above). For instance, -dBASE processes only items specified as belonging to the Basic utilities set. 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 package, -i will not detect it.
−l Lists files and directories on standard output. Does not modify target files.
−n Reports errors only. Does not modify target files.
−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.
−upackage
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.
Specification File Format
Each nonblank line in the specification file 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:
Character Description
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:
/etc/fixperm -f /etc/perm/my_package> list
tar cfF /dev/sample list
This command line reports package errors:
/etc/fixperm -nd my_package
NOTES
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.
SEE ALSO
\*U — Version 1.0