fixperm(ADM)


fixperm -- examine, correct, or initialize file permissions and ownership

Syntax

/etc/fixperm [ -acDfgiIlnOpsSvwXy ] [ -d package ] [ -u package ] specfile

Description

fixperm is used by \SCO OpenServer(TM) systems developed previous to Release 5 systems. fixperm is distributed in SCO OpenServer Release 5 systems and later for backwards compatibility only. For verifying and fixing file attributes in SCO OpenServer systems later than Release 5, see the SCO OpenServer Handbook and custom(ADM).

fixperm is usually run by a shell script to configure a UNIX system upon installation. For each line in the specification file specfile, fixperm makes the listed pathname conform to a specification.

Only root can invoke fixperm from the root directory (/) to update the permissions, ownership, and number of links on a file. All other users are restricted to being able to check the status of an installed package using the options -D, -f, -g, -i, -I, and -n.

The lines in specification files can be comments, user or group IDs, or file definitions. The formats of these lines are described on the perms(F) manual page in the sections ``Comments,'' ``User and group definitions,'' and ``File descriptions.''

The following options are available from the command line, unless otherwise noted:


-a
ensure that all files specified in the list exist on the hard disk.

-c
create empty files and missing directories. Create device files and symbolic links, or modify them if they already exist. Symbolic links are only created if a target file is listed in the specification file.

-d package
process input lines beginning with the specified package string (see the perms(F) manual page for the format of input lines). For example, -dBASE processes only items specified as belonging to the Basic utilities set. The default action is to process all lines.

-D
list directories only on standard output. This option does not modify target files.

-f
list files only on standard output. This option does not modify target files.

-g
list devices as specified in the permlist. (This option is similar to -f, which lists files on standard output). No changes are made as a result of this option.

-i
check only whether the selected packages are installed. (This option is available only from a program or shell script.)

Return values are:


0
package completely installed

3
not found

4
package not installed

5
package partially installed


-I
report actual installed size of each package. This option implies that options -i and -v are also set.

-l
list files and directories on standard output. This option does not modify target files.

-n
report errors only. This option does not modify target files.

-O
omit link names from lists when used with the list options: -D, -f, -l, or -w.

-p
override the default uid or gid found in /etc/passwd and /etc/group with the value found in the permlist. Because UNIX and XENIX have different values for certain uids and gids (for example, in UNIX bin=2, and in XENIX bin=3), the default value is gleaned from the /etc/passwd and /etc/group files. The -p option forces the values to be taken from the perms list. It also generates a warning if the perms list does not include /etc/passwd and /etc/group.

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

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

-u package
like -d, but processes items that are not part of the specified package.

-v
verbose

-w
list where (in what volume) the specified files or directories are located.

-X
print only files and directories that are not installed. Note that link names are treated as filenames.

-y
omit symbolic link names from lists when used with the list options: -f, -l, or -w.

Examples

To make a distribution list of the files in the perms list /etc/perms/inst, then use tar(C) to archive these files to /dev/sample:
   /etc/fixperm -f /etc/perms/inst > list
   tar cfF /dev/sample list
To report errors in the BASE package:
   /etc/fixperm -nd BASE /etc/perms/*
To report errors in the BASE package for a particular perms list:
   /etc/fixperm -nd BASE /etc/perms/permslist

Warning

fixperm must be run from the root directory / when updating files. If it is invoked from any other directory, it returns incorrect results.

Limitations

In SCO OpenServer Release 5 systems and later, perms lists are provided for certain packages for backwards compatibility. These files allow status checking at the package level only. They are not intended to function properly for any fixperm commands that list file names, check status on particular files, create files, or modify permissions on files.

Files


/etc/fixperm
fixperm executable

/etc/perms/*
package permission lists

See also

authck(ADM), custom(ADM), fixmog(ADM), perms(F)

SCO OpenServer Handbook

Standards conformance

fixperm is not part of any currently supported standard; it is an extension of AT&T System V provided by The Santa Cruz Operation, Inc.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005