aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/fmtree/mtree.8
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/fmtree/mtree.8')
-rw-r--r--usr.sbin/fmtree/mtree.8408
1 files changed, 0 insertions, 408 deletions
diff --git a/usr.sbin/fmtree/mtree.8 b/usr.sbin/fmtree/mtree.8
deleted file mode 100644
index f5b4de4e7438..000000000000
--- a/usr.sbin/fmtree/mtree.8
+++ /dev/null
@@ -1,408 +0,0 @@
-.\" Copyright (c) 1989, 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" From: @(#)mtree.8 8.2 (Berkeley) 12/11/93
-.\" $FreeBSD$
-.\"
-.Dd February 13, 2021
-.Dt MTREE 8
-.Os
-.Sh NAME
-.Nm mtree
-.Nd map a directory hierarchy
-.Sh SYNOPSIS
-.Nm
-.Op Fl LPUcdeinqruxw
-.Bk -words
-.Op Fl f Ar spec
-.Ek
-.Bk -words
-.Op Fl K Ar keywords
-.Ek
-.Bk -words
-.Op Fl k Ar keywords
-.Ek
-.Bk -words
-.Op Fl p Ar path
-.Ek
-.Bk -words
-.Op Fl s Ar seed
-.Ek
-.Bk -words
-.Op Fl X Ar exclude-list
-.Ek
-.Sh DESCRIPTION
-The
-.Nm
-utility compares the file hierarchy rooted in the current directory against a
-specification read from the standard input.
-Messages are written to the standard output for any files whose
-characteristics do not match the specifications, or which are
-missing from either the file hierarchy or the specification.
-.Pp
-The options are as follows:
-.Bl -tag -width flag
-.It Fl L
-Follow all symbolic links in the file hierarchy.
-.It Fl P
-Do not follow symbolic links in the file hierarchy, instead consider
-the symbolic link itself in any comparisons.
-This is the default.
-.It Fl U
-Modify the owner, group, permissions, and modification time of existing
-files to match the specification and create any missing directories or
-symbolic links.
-User, group and permissions must all be specified for missing directories
-to be created.
-Corrected mismatches are not considered errors.
-.It Fl c
-Print a specification for the file hierarchy to the standard output.
-.It Fl d
-Ignore everything except directory type files.
-.It Fl e
-Do not complain about files that are in the file hierarchy, but not in the
-specification.
-.It Fl i
-Indent the output 4 spaces each time a directory level is descended when
-creating a specification with the
-.Fl c
-option.
-This does not affect either the /set statements or the comment before each
-directory.
-It does however affect the comment before the close of each directory.
-.It Fl n
-Do not emit pathname comments when creating a specification.
-Normally
-a comment is emitted before each directory and before the close of that
-directory when using the
-.Fl c
-option.
-.It Fl q
-Quiet mode.
-Do not complain when a
-.Dq missing
-directory cannot be created because it already exists.
-This occurs when the directory is a symbolic link.
-.It Fl r
-Remove any files in the file hierarchy that are not described in the
-specification.
-.It Fl u
-Same as
-.Fl U
-except a status of 2 is returned if the file hierarchy did not match
-the specification.
-.It Fl w
-Make some errors non-fatal warnings.
-.It Fl x
-Do not descend below mount points in the file hierarchy.
-.It Fl f Ar file
-Read the specification from
-.Ar file ,
-instead of from the standard input.
-.Pp
-If this option is specified twice, the two specifications are compared
-to each other rather than to the file hierarchy.
-The specifications will be sorted like output generated using
-.Fl c .
-The output format in this case is somewhat remniscent of
-.Xr comm 1 ,
-having "in first spec only", "in second spec only", and "different"
-columns, prefixed by zero, one and two TAB characters respectively.
-Each entry in the "different" column occupies two lines, one from each specification.
-.It Fl K Ar keywords
-Add the specified (whitespace or comma separated)
-.Ar keywords
-to the current set of keywords.
-.It Fl k Ar keywords
-Use the ``type'' keyword plus the specified (whitespace or comma separated)
-.Ar keywords
-instead of the current set of keywords.
-.It Fl p Ar path
-Use the file hierarchy rooted in
-.Ar path ,
-instead of the current directory.
-.It Fl s Ar seed
-Display a single checksum to the standard error output that represents all
-of the files for which the keyword
-.Cm cksum
-was specified.
-The checksum is seeded with the specified value.
-.It Fl X Ar exclude-list
-The specified file contains
-.Xr fnmatch 3
-patterns matching files to be excluded from
-the specification, one to a line.
-If the pattern contains a
-.Ql \&/
-character, it will be matched against entire pathnames (relative to
-the starting directory); otherwise,
-it will be matched against basenames only.
-No comments are allowed in
-the
-.Ar exclude-list
-file.
-.El
-.Pp
-Specifications are mostly composed of ``keywords'', i.e., strings
-that specify values relating to files.
-No keywords have default values, and if a keyword has no value set, no
-checks based on it are performed.
-.Pp
-Currently supported keywords are as follows:
-.Bl -tag -width Cm
-.It Cm cksum
-The checksum of the file using the default algorithm specified by
-the
-.Xr cksum 1
-utility.
-.It Cm flags
-The file flags as a symbolic name.
-See
-.Xr chflags 1
-for information on these names.
-If no flags are to be set the string
-.Dq none
-may be used to override the current default.
-.It Cm ignore
-Ignore any file hierarchy below this file.
-.It Cm gid
-The file group as a numeric value.
-.It Cm gname
-The file group as a symbolic name.
-.It Cm md5digest
-The MD5 message digest of the file.
-.It Cm sha1digest
-The
-.Tn FIPS
-160-1
-.Pq Dq Tn SHA-1
-message digest of the file.
-.It Cm sha256digest
-The
-.Tn FIPS
-180-2
-.Pq Dq Tn SHA-256
-message digest of the file.
-.It Cm ripemd160digest
-The
-.Tn RIPEMD160
-message digest of the file.
-.It Cm mode
-The current file's permissions as a numeric (octal) or symbolic
-value.
-.It Cm nlink
-The number of hard links the file is expected to have.
-.It Cm nochange
-Make sure this file or directory exists but otherwise ignore all attributes.
-.It Cm optional
-The file is optional; do not complain about the file if it is
-not in the file hierarchy.
-.It Cm uid
-The file owner as a numeric value.
-.It Cm uname
-The file owner as a symbolic name.
-.It Cm size
-The size, in bytes, of the file.
-.It Cm link
-The file the symbolic link is expected to reference.
-.It Cm time
-The last modification time of the file, in seconds and nanoseconds.
-The value should include a period character and exactly nine digits
-after the period.
-.It Cm type
-The type of the file; may be set to any one of the following:
-.Pp
-.Bl -tag -width Cm -compact
-.It Cm block
-block special device
-.It Cm char
-character special device
-.It Cm dir
-directory
-.It Cm fifo
-fifo
-.It Cm file
-regular file
-.It Cm link
-symbolic link
-.It Cm socket
-socket
-.El
-.El
-.Pp
-The default set of keywords are
-.Cm flags ,
-.Cm gid ,
-.Cm link ,
-.Cm mode ,
-.Cm nlink ,
-.Cm size ,
-.Cm time ,
-and
-.Cm uid .
-.Pp
-There are four types of lines in a specification.
-.Pp
-The first type of line sets a global value for a keyword, and consists of
-the string ``/set'' followed by whitespace, followed by sets of keyword/value
-pairs, separated by whitespace.
-Keyword/value pairs consist of a keyword, followed by an equals sign
-(``=''), followed by a value, without whitespace characters.
-Once a keyword has been set, its value remains unchanged until either
-reset or unset.
-.Pp
-The second type of line unsets keywords and consists of the string
-``/unset'', followed by whitespace, followed by one or more keywords,
-separated by whitespace.
-.Pp
-The third type of line is a file specification and consists of a file
-name, followed by whitespace, followed by zero or more whitespace
-separated keyword/value pairs.
-The file name may be preceded by whitespace characters.
-The file name may contain any of the standard file name matching
-characters (``['', ``]'', ``?'' or ``*''), in which case files
-in the hierarchy will be associated with the first pattern that
-they match.
-.Pp
-Each of the keyword/value pairs consist of a keyword, followed by an
-equals sign (``=''), followed by the keyword's value, without
-whitespace characters.
-These values override, without changing, the global value of the
-corresponding keyword.
-.Pp
-All paths are relative.
-Specifying a directory will cause subsequent files to be searched
-for in that directory hierarchy.
-Which brings us to the last type of line in a specification: a line
-containing only the string
-.Dq Pa ..\&
-causes the current directory
-path to ascend one level.
-.Pp
-Empty lines and lines whose first non-whitespace character is a hash
-mark (``#'') are ignored.
-.Pp
-The
-.Nm
-utility exits with a status of 0 on success, 1 if any error occurred,
-and 2 if the file hierarchy did not match the specification.
-A status of 2 is converted to a status of 0 if the
-.Fl U
-option is used.
-.Sh FILES
-.Bl -tag -width /etc/mtree -compact
-.It Pa /etc/mtree
-system specification directory
-.El
-.Sh EXIT STATUS
-.Ex -std
-.Sh EXAMPLES
-To detect system binaries that have been ``trojan horsed'', it is recommended
-that
-.Nm
-.Fl K
-.Cm sha256digest
-be run on the file systems, and a copy of the results stored on a different
-machine, or, at least, in encrypted form.
-The output file itself should be digested using the
-.Xr sha256 1
-utility.
-Then, periodically,
-.Nm
-and
-.Xr sha256 1
-should be run against the on-line specifications.
-While it is possible for the bad guys to change the on-line specifications
-to conform to their modified binaries, it is believed to be
-impractical for them to create a modified specification which has
-the same SHA-256 digest as the original.
-.Pp
-The
-.Fl d
-and
-.Fl u
-options can be used in combination to create directory hierarchies
-for distributions and other such things; the files in
-.Pa /etc/mtree
-were used to create almost all directories in this
-.Fx
-distribution.
-.Pp
-To create an
-.Pa /etc/mtree
-style BSD.*.dist file, use
-.Nm
-.Fl c
-.Fl d
-.Fl i
-.Fl n
-.Fl k
-.Cm uname,gname,mode,nochange.
-.Sh DEPRECATION NOTICE
-.Nm fmtree
-is deprecated, and will be gone in
-.Fx 14.0 .
-.Xr mtree 8
-should be used instead.
-.Sh SEE ALSO
-.Xr chflags 1 ,
-.Xr chgrp 1 ,
-.Xr chmod 1 ,
-.Xr cksum 1 ,
-.Xr md5 1 ,
-.Xr stat 2 ,
-.Xr fts 3 ,
-.Xr md5 3 ,
-.Xr chown 8 ,
-.Xr mtree 8
-.Sh HISTORY
-The
-.Nm
-utility appeared in
-.Bx 4.3 Reno .
-The
-.Tn MD5
-digest capability was added in
-.Fx 2.1 ,
-in response to the widespread use of programs which can spoof
-.Xr cksum 1 .
-The
-.Tn SHA-1
-and
-.Tn RIPEMD160
-digests were added in
-.Fx 4.0 ,
-as new attacks have demonstrated weaknesses in
-.Tn MD5 .
-The
-.Tn SHA-256
-digest was added in
-.Fx 6.0 .
-Support for file flags was added in
-.Fx 4.0 ,
-and mostly comes from
-.Nx .