perms(F)
perms --
file permissions list for package installation
Format
Comments
# comment
Keyword phrases
#keyword=value
User and group definitions
uid user UID
gid group GID
Package definitions
#!pkg size description
File definitions
pkg typeperm owner/group nln path [vol|major/minor [target]]
Description
Perms lists are used by SCO OpenServer products developed previous
to SCO OpenServer Release 5.
Later systems contain limited-function perms lists for backwards
compatibility only.
For verifying and fixing file attributes in SCO OpenServer systems later
than 5.0, see the SCO OpenServer Handbook and
custom(ADM).
An add-on software distribution is divided into a number of packages that may be
installed separately or together. A perms list
(permissions list) file contains an entry for each file that may be
installed or created from a software distribution. Perms lists are located
in the /etc/perms directory. The filename of a perms list is an
abbreviation (a maximum of eight alphabetic characters) of the product; the
filename must match the value of the prd
keyword in the perms list.
custom
parses the keyword phrases and description lines in a perms list
to determine what files are
being installed or, in the case of directories, created.
The super user can run
fixperm
to update file permissions, ownership, and other attributes.
The specification file read by fixperm has the same
format as a perms list file.
The format of a perms list file is described in the following
sections.
Comments
A comment line is begun with a number character ``#''
followed by a space. (Note that fixperm treats all lines
beginning with a ``#'' as comment lines.)
Keyword phrases
A keyword phrase defines global values for a product. The phrase
is begun by a ``#'' followed by
a keyword assigned a value.
The following keywords are recognized:
mnt-
Defines which installation floppies are mountable.
prd-
The product name as a lowercase string with at most eight characters. This
name must be the same as the perms list filename.
rel-
The release number of the distribution.
ser-
Used for serialization of the product.
set-
The product name to be displayed by custom.
typ-
The computer processor type.
upd-
Used for update releases.
User and group definitions
User and group definitions are used to assign user and group
ownership for each file to be installed. These definitions must
be specified before any packages or files.
Lines beginning with uid specify a user name
and ID (UID).
Lines beginning with gid specify a group name
and ID (GID).
Package definitions
A ``#'' followed by an
exclamation mark ``!'' indicates the definition of
a pkg within a distribution. The package
size is given in 512-byte blocks followed by a
description string.
All perms lists must include at least one package definition line
to introduce the file definition lines.
File definitions
Only one file to be installed may be defined per line.
A file definition has the following fields:
pkg-
The name of the package within a distribution.
typeperm-
A character indicating file type followed by an octal
chmod
permission specification (perm).
type can be one of the following:
a,A-
archive file
b,B-
block device file
c,C-
character device file
d,D-
directory
e,E-
empty file
f,F-
text file
l,L-
symbolic link
o,O-
turn off file type checking for data and encrypted files
p,P-
named pipe
x,X-
executable file
An uppercase file type indicates that the associated file is optional;
custom overlooks the file in deciding whether a package is
fully installed.
File permissions specified for symbolic links are ignored;
a mode of 777 is always used.
owner/group-
The owner and group of the file selected from the list of possible owners
and groups at the start of the perms list.
Owner and group specified for a symbolic link are ignored.
nln-
Number of hard links to a file.
If there is more than one hard link to a file, the following lines contain
the pathname of the linked file and the volume number vol
only
(see lines 25 through 27 of the first example in the ``Examples'' section).
Hard-linked device special files only list the name of the linked file
(see lines 42 and 43).
Symbolic links always have this field set to 1.
path-
The pathname of the file relative to the root directory (/). The
pathname must begin with ``./''.
vol|major/minor-
The number of the media volume on which the file exists. The volume number
has the same value as the vol= entry in the label file.
Allowed volume numbers are in the range 01 to 99.
This field is
left blank for directories. It is set to 00 for symbolic links
that are not to be extracted. Directories and symbolic
links are created by custom as required
(see line 21 of the first example).
Special files use this field to specify the major and minor device numbers
separated by a slash. Device files are created as necessary by custom.
Linked device special files leave this field blank.
(see lines 43 through 45 of the first example).
target-
(Symbolic links only.)
A pathname assigned as the value of a symbolic link to be created.
The pathname must be absolute or relative to the location of the
symbolic link to be created.
If target is not given, the symbolic
link is to be extracted from a specified volume (vol).
vol must be specified if a target name is given;
use a volume number of 00 if the symbolic link is not on the media.
See the ``Examples'' section for examples of symbolic link
specification.
Examples
A simple example of a perms list:
1 # Small OS Perms List
2 #
3 #prd=smallos
4 #typ=ku386
5 #rel=3.2.5
6 #set="The Very Small OS Product"
7 uid root 0
8 uid bin 2
9 gid root 0
10 gid bin 2
11 #
12 #!ALL 300 Entire Product
13 #
14 PERM f644 bin/bin 1 ./etc/perms/smallos 01
15 #
16 #!BASEPKG 256 Basic Package
17 #
18 # directory that is part of the required product
19 BASEPKG d755 bin/bin 1 ./dev
20 # directory not part of the required product (signified by D)
21 BASEPKG D755 bin/bin 1 ./tmp
22 # standard file
23 BASEPKG x711 bin/bin 1 ./bin/cat 02
24 # standard file with 3 links
25 BASEPKG x711 bin/bin 3 ./bin/cp 01
26 ./bin/ln 01
27 ./bin/mv 01
28 # special chmod bit set, see chmod(S)
29 BASEPKG x2111 bin/bin 2 ./bin/df 01
30 ./bin/devnm 01
31 # shell script: note that read permissions are needed
32 BASEPKG f755 bin/bin 1 ./usr/lib/mkdev/lp 02
33 # character device node
34 BASEPKG c440 root/root 1 ./dev/auditr 21/0
35 #
36 #!DEVPKG 26 Device Package
37 #
38 # block device node
39 DEVPKG b440 root/bin 1 ./dev/root 1/40
40 # finked device node
41 DEVPKG c622 root/bin 3 ./dev/console 3/1
42 ./dev/syscon
43 ./dev/systty
Lines 1 and 2 are comment lines.
Lines 3 through 6 introduce the product using the keywords
prd, typ, rel, and set.
Lines 9 through 10 specify the user ID (uid) and group
ID (gid) that are used to assign user and group
ownership to each file being installed.
Line 12 is required to introduce the PERM package.
All perms lists must include the ALL package to define the files
used by all packages within the distribution. This package must
never include the label file.
Line 14 defines the perms list file itself.
The perms list is always assigned to the PERM package
since it is needed by all packages within the distribution.
Lines 16 and 36 introduce two example packages, BASEPKG
and DEVPKG, included to show how a distribution may be
grouped into smaller packages.
Each package defines a number of files on file definition lines.
Examples of symbolic link specification
Create (but do not extract) a symbolic link ./etc/symLink1
to the relative pathname ./Tell_jr/apple:
PKG l700 bin/bin 1 ./etc/symLink1 00 ./Tell_jr/apple
Create and extract a symbolic link ./etc/symLink2 to
the absolute pathname /bulls/eye:
PKG l700 bin/bin 1 ./etc/symLink2 01 /bulls/eye
Extract (but do not create) a symbolic link ./etc/symLink3:
PKG l700 bin/bin 1 ./etc/symLink3 01
Do not extract or create a symbolic link ./etc/symLink4:
PKG L700 bin/bin 1 ./etc/symLink4
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/perms/
package file permissions lists
See also
chmod(C),
custom(ADM),
fixperm(ADM)
SCO OpenServer Handbook
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005