svn commit: r40856 - head/en_US.ISO8859-1/books/handbook/basics
Dru Lavigne
dru at FreeBSD.org
Fri Feb 1 17:03:42 UTC 2013
Author: dru
Date: Fri Feb 1 17:03:41 2013
New Revision: 40856
URL: http://svnweb.freebsd.org/changeset/doc/40856
Log:
This patch addresses the following:
- replaces FreeBSD with &os;
- rewording to address "you", redundancy, poor grammar, and verbosity
- the console/login prompt was updated to amd64
Approved by: bcr (mentor)
Modified:
head/en_US.ISO8859-1/books/handbook/basics/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/basics/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/basics/chapter.xml Fri Feb 1 15:57:20 2013 (r40855)
+++ head/en_US.ISO8859-1/books/handbook/basics/chapter.xml Fri Feb 1 17:03:41 2013 (r40856)
@@ -22,24 +22,22 @@
<sect1 id="basics-synopsis">
<title>Synopsis</title>
- <para>The following chapter will cover the basic commands and
- functionality of the FreeBSD operating system. Much of this
- material is relevant for any &unix;-like operating system. Feel
- free to skim over this chapter if you are familiar with the
- material. If you are new to FreeBSD, then you will definitely
- want to read through this chapter carefully.</para>
+ <para>This chapter covers the basic commands and functionality of
+ the &os; operating system. Much of this material is relevant
+ for any &unix;-like operating system. New &os; users are
+ encouraged to read through this chapter carefully.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>How to use the <quote>virtual consoles</quote> of
- FreeBSD.</para>
+ &os;.</para>
</listitem>
<listitem>
- <para>How &unix; file permissions work along with
- understanding file flags in &os;.</para>
+ <para>How &unix; file permissions and &os; file flags
+ work.</para>
</listitem>
<listitem>
@@ -87,186 +85,128 @@
<indexterm><primary>virtual consoles</primary></indexterm>
<indexterm><primary>terminals</primary></indexterm>
- <para>FreeBSD can be used in various ways. One of them is typing
+ <para>&os; can be used in various ways. One of them is typing
commands to a text terminal. A lot of the flexibility and power
of a &unix; operating system is readily available at your hands
- when using FreeBSD this way. This section describes what
+ when using &os; this way. This section describes what
<quote>terminals</quote> and <quote>consoles</quote> are, and
- how you can use them in FreeBSD.</para>
+ how you can use them in &os;.</para>
<sect2 id="consoles-intro">
<title>The Console</title>
<indexterm><primary>console</primary></indexterm>
- <para>If you have not configured FreeBSD to automatically start
- a graphical environment during startup, the system will
- present you with a login prompt after it boots, right after
- the startup scripts finish running. You will see something
- similar to:</para>
-
- <screen>Additional ABI support:.
-Local package initialization:.
-Additional TCP options:.
-
-Fri Sep 20 13:01:06 EEST 2002
+ <para>Unless &os; has been configured to automatically start
+ a graphical environment during startup, the system will boot
+ into a command line login prompt, as seen in this
+ example:</para>
-FreeBSD/i386 (pc3.example.org) (ttyv0)
+ <screen>FreeBSD/amd64 (pc3.example.org) (ttyv0)
login:</screen>
- <para>The messages might be a bit different on your system, but
- you will see something similar. The last two lines are what
- we are interested in right now. The second last line
- reads:</para>
-
- <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
-
- <para>This line contains some bits of information about the
- system you have just booted. You are looking at a
- <quote>FreeBSD</quote> console, running on an Intel or
- compatible processor of the x86 architecture<footnote>
- <para>This is what <literal>i386</literal> means. Note that
- even if you are not running FreeBSD on an Intel 386 CPU,
- this is going to be <literal>i386</literal>. It is not
- the type of your processor, but the processor
- <quote>architecture</quote> that is shown here.</para>
- </footnote>. The name of this machine (every &unix; machine
- has a name) is <hostid>pc3.example.org</hostid>, and you are
- now looking at its system console—the
- <devicename>ttyv0</devicename> terminal.</para>
-
- <para>Finally, the last line is always:</para>
-
- <programlisting>login:</programlisting>
-
- <para>This is the part where you are supposed to type in your
- <quote>username</quote> to log into FreeBSD. The next section
- describes how you can do this.</para>
+ <para>The first line contains some information about the
+ system. The <literal>amd64</literal> indicates that the
+ system in this example is running a 64-bit version of &os;.
+ The hostname is <hostid>pc3.example.org</hostid>, and
+ <devicename>ttyv0</devicename> indicates that this is the
+ system console.</para>
+
+ <para>The second line is the login prompt. The next section
+ describes how to log into &os; at this prompt.</para>
</sect2>
<sect2 id="consoles-login">
- <title>Logging into FreeBSD</title>
+ <title>Logging into &os;</title>
- <para>FreeBSD is a multiuser, multiprocessing system. This is
+ <para>&os; is a multiuser, multiprocessing system. This is
the formal description that is usually given to a system that
can be used by many different people, who simultaneously run a
lot of programs on a single machine.</para>
<para>Every multiuser system needs some way to distinguish one
- <quote>user</quote> from the rest. In FreeBSD (and all the
+ <quote>user</quote> from the rest. In &os; (and all the
&unix;-like operating systems), this is accomplished by
requiring that every user must <quote>log into</quote> the
system before being able to run programs. Every user has a
unique name (the <quote>username</quote>) and a personal,
- secret key (the <quote>password</quote>). FreeBSD will ask
+ secret key (the <quote>password</quote>). &os; will ask
for these two before allowing a user to run any
programs.</para>
<indexterm><primary>startup scripts</primary></indexterm>
- <para>Right after FreeBSD boots and finishes running its startup
- scripts<footnote>
- <para>Startup scripts are programs that are run
- automatically by FreeBSD when booting. Their main
- function is to set things up for everything else to run,
- and start any services that you have configured to run in
- the background doing useful things.</para>
- </footnote>, it will present you with a prompt and ask for a
- valid username:</para>
+ <para>When a &os; system boots, startup scripts are
+ automatically executed in order to prepare the system and to
+ start any services which have been configured to start at
+ system boot. Once the system finishes running its startup
+ scripts, it will present a login prompt:</para>
<screen>login:</screen>
- <para>For the sake of this example, let us assume that your
- username is <username>john</username>. Type
- <literal>john</literal> at this prompt and press
- <keycap>Enter</keycap>. You should then be presented with a
- prompt to enter a <quote>password</quote>:</para>
-
- <screen>login: <userinput>john</userinput>
-Password:</screen>
-
- <para>Type in <username>john</username>'s password now, and
- press <keycap>Enter</keycap>. The password is
- <emphasis>not echoed!</emphasis> You need not worry about this
- right now. Suffice it to say that it is done for security
+ <para>Type the username that was configured during <link
+ linkend="bsdinstall-addusers">system installation</link> and
+ press <keycap>Enter</keycap>. Then enter the password
+ associated with the username and press <keycap>Enter</keycap>.
+ The password is <emphasis>not echoed</emphasis> for security
reasons.</para>
- <para>If you have typed your password correctly, you should by
- now be logged into FreeBSD and ready to try out all the
+ <para>Once the correct password is input, the message of
+ the day (<acronym>MOTD</acronym>) will be displayed followed
+ by a command prompt (a <literal>#</literal>,
+ <literal>$</literal>, or <literal>%</literal> character). You
+ are now logged into the &os; console and ready to try the
available commands.</para>
-
- <para>You should see the <acronym>MOTD</acronym> or message of
- the day followed by a command prompt (a <literal>#</literal>,
- <literal>$</literal>, or <literal>%</literal> character).
- This indicates you have successfully logged into
- FreeBSD.</para>
</sect2>
<sect2 id="consoles-virtual">
- <title>Multiple Consoles</title>
+ <title>Virtual Consoles</title>
- <para>Running &unix; commands in one console is fine, but
- FreeBSD can run many programs at once. Having one console
- where commands can be typed would be a bit of a waste when an
- operating system like FreeBSD can run dozens of programs at
- the same time. This is where <quote>virtual consoles</quote>
- can be very helpful.</para>
-
- <para>FreeBSD can be configured to present you with many
- different virtual consoles. You can switch from one of them
- to any other virtual console by pressing a couple of keys on
- your keyboard. Each console has its own different output
- channel, and FreeBSD takes care of properly redirecting
- keyboard input and monitor output as you switch from one
- virtual console to the next.</para>
-
- <para>Special key combinations have been reserved by FreeBSD for
- switching consoles<footnote>
- <para>A fairly technical and accurate description of all the
- details of the FreeBSD console and keyboard drivers can be
- found in the manual pages of &man.syscons.4;,
- &man.atkbd.4;, &man.vidcontrol.1; and &man.kbdcontrol.1;.
- We will not expand on the details here, but the interested
- reader can always consult the manual pages for a more
- detailed and thorough explanation of how things
- work.</para>
- </footnote>. You can use
+ <para>&os; can be configured to provide many virtual consoles
+ for inputting commands. Each virtual console has its own
+ login prompt and output channel, and &os; takes care of
+ properly redirecting keyboard input and monitor output as you
+ switch between virtual consoles.</para>
+
+ <para>Special key combinations have been reserved by &os; for
+ switching consoles.<footnote>
+ <para>Refer to &man.syscons.4;, &man.atkbd.4;,
+ &man.vidcontrol.1; and &man.kbdcontrol.1; for a more
+ technical description of the &os; console and its keyboard
+ drivers.</para></footnote>. Use
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
through
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>
- to switch to a different virtual console in FreeBSD.</para>
+ to switch to a different virtual console in &os;.</para>
- <para>As you are switching from one console to the next, FreeBSD
- takes care of saving and restoring the screen output. The
- result is an <quote>illusion</quote> of having multiple
- <quote>virtual</quote> screens and keyboards that you can use
- to type commands for FreeBSD to run. The programs that you
- launch on one virtual console do not stop running when that
- console is not visible. They continue running when you have
- switched to a different virtual console.</para>
+ <para>When switching from one console to the next, &os; takes
+ care of saving and restoring the screen output. The result is
+ an <quote>illusion</quote> of having multiple
+ <quote>virtual</quote> screens and keyboards that can be used
+ to type commands for &os; to run. The programs that are
+ launched in one virtual console do not stop running when that
+ console is not visible because the user has switched to a
+ different virtual console.</para>
</sect2>
<sect2 id="consoles-ttys">
<title>The <filename>/etc/ttys</filename> File</title>
- <para>The default configuration of FreeBSD will start up with
- eight virtual consoles. This is not a hardwired setting
- though, and you can easily customize your installation to boot
- with more or fewer virtual consoles. The number and settings
- of the virtual consoles are configured in the
- <filename>/etc/ttys</filename> file.</para>
-
- <para>You can use the <filename>/etc/ttys</filename> file to
- configure the virtual consoles of FreeBSD. Each uncommented
- line in this file (lines that do not start with a
- <literal>#</literal> character) contains settings for a single
- terminal or virtual console. The default version of this file
- that ships with FreeBSD configures nine virtual consoles, and
- enables eight of them. They are the lines that start with
- <literal>ttyv</literal>:</para>
+ <para>By default, &os; is configured to start eight virtual
+ consoles. The configuration can be customized to start
+ more or fewer virtual consoles. To change the number of and
+ the settings of the virtual consoles, edit
+ <filename>/etc/ttys</filename>.</para>
+
+ <para>Each uncommented line in <filename>/etc/ttys</filename>
+ (lines that do not start with a <literal>#</literal>
+ character) contains settings for a single terminal or virtual
+ console. The default version configures nine virtual
+ consoles, and enables eight of them. They are the lines that
+ start with <literal>ttyv</literal>:</para>
- <programlisting># name getty type status comments
+ <programlisting># name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
@@ -280,73 +220,69 @@ ttyv7 "/usr/libexec/getty Pc"
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
<para>For a detailed description of every column in this file
- and all the options you can use to set things up for the
- virtual consoles, consult the &man.ttys.5; manual page.</para>
+ and the available options for the virtual consoles, refer to
+ &man.ttys.5;.</para>
</sect2>
<sect2 id="consoles-singleuser">
<title>Single User Mode Console</title>
- <para>A detailed description of what
- <quote>single user mode</quote> is can be found in
- <xref linkend="boot-singleuser"/>. It is worth noting that
- there is only one console when you are running FreeBSD in
- single user mode. There are no virtual consoles available.
- The settings of the single user mode console can also be found
- in the <filename>/etc/ttys</filename> file. Look for the line
- that starts with <literal>console</literal>:</para>
+ <para>A detailed description of <quote>single user mode</quote>
+ can be found <link linkend="boot-singleuser">here</link>.
+ There is only one console when &os; is in single user mode as
+ no other virtual consoles are available in this mode. The
+ settings for single user mode are found in this section of
+ <filename>/etc/ttys</filename>:</para>
- <programlisting># name getty type status comments
+ <programlisting># name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
-console none unknown off secure</programlisting>
+console none unknown off secure</programlisting>
<note>
<para>As the comments above the <literal>console</literal>
- line indicate, you can edit this line and change
- <literal>secure</literal> to <literal>insecure</literal>.
- If you do that, when FreeBSD boots into single user mode, it
- will still ask for the <username>root</username>
- password.</para>
+ line indicate, editing <literal>secure</literal> to
+ <literal>insecure</literal> will prompt for the
+ <username>root</username> password when booting into single
+ user mode. The default setting enters single user mode
+ without prompting for a password.</para>
- <para><emphasis>Be careful when changing this to
+ <para><emphasis>Be careful when changing this setting to
<literal>insecure</literal></emphasis>. If you ever
forget the <username>root</username> password, booting into
- single user mode is a bit involved. It is still possible,
- but it might be a bit hard for someone who is not very
- comfortable with the FreeBSD booting process and the
- programs involved.</para>
+ single user mode is still possible, but may be difficult for
+ someone who is not comfortable with the &os; booting
+ process.</para>
</note>
</sect2>
<sect2 id="consoles-vidcontrol">
<title>Changing Console Video Modes</title>
- <para>The FreeBSD console default video mode may be adjusted to
- 1024x768, 1280x1024, or any other size supported by your
+ <para>The &os; console default video mode may be adjusted to
+ 1024x768, 1280x1024, or any other size supported by the
graphics chip and monitor. To use a different video mode
load the <literal>VESA</literal> module:</para>
<screen>&prompt.root; <userinput>kldload vesa</userinput></screen>
- <para>Then determine what video modes are supported
- by your hardware by using &man.vidcontrol.1;. To
- get a list of supported video modes issue the
- following:</para>
+ <para>To determine which video modes are supported by the
+ hardware, use &man.vidcontrol.1;. To get a list of supported
+ video modes issue the following:</para>
<screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
- <para>The output of this command is a list of video modes that
- are supported by your hardware. You can then choose to use a
- new video mode by passing it to &man.vidcontrol.1; in a
- <username>root</username> console:</para>
+ <para>The output of this command lists the video modes that
+ are supported by the hardware. To select a new video mode,
+ specify the mode using &man.vidcontrol.1; as the
+ <username>root</username> user:</para>
<screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
<para>If the new video mode is acceptable, it can be permanently
- set on boot by setting it in the
- <filename>/etc/rc.conf</filename> file:</para>
+ set on boot by adding it to
+ <filename>/etc/rc.conf</filename>:</para>
<programlisting>allscreens_flags="MODE_279"</programlisting>
</sect2>
@@ -357,13 +293,13 @@ console none
<indexterm><primary>UNIX</primary></indexterm>
- <para>FreeBSD, being a direct descendant of BSD &unix;, is based
+ <para>&os;, being a direct descendant of BSD &unix;, is based
on several key &unix; concepts. The first and most pronounced
- is that FreeBSD is a multi-user operating system. The system
- can handle several users all working simultaneously on
- completely unrelated tasks. The system is responsible for
- properly sharing and managing requests for hardware devices,
- peripherals, memory, and CPU time fairly to each user.</para>
+ is that &os; is a multi-user operating system that can handle
+ several users working simultaneously on completely unrelated
+ tasks. The system is responsible for properly sharing and
+ managing requests for hardware devices, peripherals, memory, and
+ CPU time fairly to each user.</para>
<para>Because the system is capable of supporting multiple users,
everything the system manages has a set of permissions governing
@@ -443,69 +379,59 @@ console none
</indexterm>
<indexterm><primary>directories</primary></indexterm>
- <para>You can use the <option>-l</option> command line
- argument to &man.ls.1; to view a long directory listing that
- includes a column with information about a file's permissions
- for the owner, group, and everyone else. For example, a
- <command>ls -l</command> in an arbitrary directory may
- show:</para>
+ <para>Use the <option>-l</option> argument to &man.ls.1; to view a
+ long directory listing that includes a column of information
+ about a file's permissions for the owner, group, and everyone
+ else. For example, a <command>ls -l</command> in an arbitrary
+ directory may show:</para>
<screen>&prompt.user; <userinput>ls -l</userinput>
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
--rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
-...</screen>
+-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt</screen>
- <para>Here is how the first column of <command>ls -l</command> is
- broken up:</para>
-
- <screen>-rw-r--r--</screen>
-
- <para>The first (leftmost) character tells if this file is a
- regular file, a directory, a special character device, a socket,
- or any other special pseudo-file device. In this case, the
- <literal>-</literal> indicates a regular file. The next three
- characters, <literal>rw-</literal> in this example, give the
- permissions for the owner of the file. The next three
- characters, <literal>r--</literal>, give the permissions for the
- group that the file belongs to. The final three characters,
- <literal>r--</literal>, give the permissions for the rest of the
- world. A dash means that the permission is turned off. In the
- case of this file, the permissions are set so the owner can read
- and write to the file, the group can read the file, and the rest
- of the world can only read the file. According to the table
- above, the permissions for this file would be
- <literal>644</literal>, where each digit represents the three
- parts of the file's permission.</para>
-
- <para>This is all well and good, but how does the system control
- permissions on devices? FreeBSD actually treats most hardware
- devices as a file that programs can open, read, and write data
- to just like any other file. These special device files are
- stored on the <filename>/dev</filename> directory.</para>
+ <para>The first (leftmost) character in the first column indicates
+ whether this file is a regular file, a directory, a special
+ character device, a socket, or any other special pseudo-file
+ device. In this example, the <literal>-</literal> indicates a
+ regular file. The next three characters, <literal>rw-</literal>
+ in this example, give the permissions for the owner of the file.
+ The next three characters, <literal>r--</literal>, give the
+ permissions for the group that the file belongs to. The final
+ three characters, <literal>r--</literal>, give the permissions
+ for the rest of the world. A dash means that the permission is
+ turned off. In this example, the permissions are set so the
+ owner can read and write to the file, the group can read the
+ file, and the rest of the world can only read the file.
+ According to the table above, the permissions for this file
+ would be <literal>644</literal>, where each digit represents the
+ three parts of the file's permission.</para>
+
+ <para>How does the system control permissions on devices? &os;
+ treats most hardware devices as a file that programs can open,
+ read, and write data to. These special device files are
+ stored in <filename class="directory">/dev/</filename>.</para>
<para>Directories are also treated as files. They have read,
write, and execute permissions. The executable bit for a
directory has a slightly different meaning than that of files.
- When a directory is marked executable, it means it can be
- traversed into, that is, it is possible to <quote>cd</quote>
- (change directory) into it. This also means that within the
- directory it is possible to access files whose names are known
- (subject, of course, to the permissions on the files
- themselves).</para>
-
- <para>In particular, in order to perform a directory listing, read
- permission must be set on the directory, whilst to delete a file
- that one knows the name of, it is necessary to have write
+ When a directory is marked executable, it means it is possible
+ to change into that directory using
+ <application>cd</application>. This also means that it is
+ possible to access the files within that directory, subject to
+ the permissions on the files themselves.</para>
+
+ <para>In order to perform a directory listing, the read permission
+ must be set on the directory. In order to delete a file that
+ one knows the name of, it is necessary to have write
<emphasis>and</emphasis> execute permissions to the directory
containing the file.</para>
<para>There are more permission bits, but they are primarily used
in special circumstances such as setuid binaries and sticky
- directories. If you want more information on file permissions
- and how to set them, be sure to look at the &man.chmod.1; manual
- page.</para>
+ directories. For more information on file permissions and how
+ to set them, refer to &man.chmod.1;.</para>
<sect2>
<sect2info>
@@ -525,11 +451,11 @@ total 530
<secondary>symbolic</secondary>
</indexterm>
- <para>Symbolic permissions, sometimes referred to as symbolic
- expressions, use characters in place of octal values to assign
- permissions to files or directories. Symbolic expressions use
- the syntax of (who) (action) (permissions), where the
- following values are available:</para>
+ <para>Symbolic permissions use characters instead of octal
+ values to assign permissions to files or directories.
+ Symbolic permissions use the syntax of (who) (action)
+ (permissions), where the following values are
+ available:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
@@ -617,18 +543,18 @@ total 530
</tgroup>
</informaltable>
- <para>These values are used with the &man.chmod.1; command
- just like before, but with letters. For an example, you could
- use the following command to block other users from accessing
+ <para>These values are used with &man.chmod.1;, but with
+ letters instead of numbers. For example, the following
+ command would block other users from accessing
<replaceable>FILE</replaceable>:</para>
<screen>&prompt.user; <userinput>chmod go= FILE</userinput></screen>
<para>A comma separated list can be provided when more than one
- set of changes to a file must be made. For example the
- following command will remove the group and
+ set of changes to a file must be made. For example, the
+ following command removes the group and
<quote>world</quote> write permission on
- <replaceable>FILE</replaceable>, then it adds the execute
+ <replaceable>FILE</replaceable>, and adds the execute
permissions for everyone:</para>
<screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput></screen>
@@ -653,43 +579,37 @@ total 530
<title>&os; File Flags</title>
- <para>In addition to file permissions discussed previously, &os;
- supports the use of <quote>file flags.</quote> These flags add
- an additional level of security and control over files, but
- not directories.</para>
-
- <para>These file flags add an additional level of control over
- files, helping to ensure that in some cases not even the
- <username>root</username> can remove or alter files.</para>
-
- <para>File flags are altered by using the &man.chflags.1;
- utility, using a simple interface. For example, to enable the
- system undeletable flag on the file
+ <para>In addition to file permissions, &os; supports the use of
+ <quote>file flags</quote>. These flags add an additional
+ level of security and control over files, but not
+ directories. With file flags, even
+ <username>root</username> can be prevented from removing or
+ altering files.</para>
+
+ <para>File flags are modified using &man.chflags.1;. For
+ example, to enable the system undeletable flag on the file
<filename>file1</filename>, issue the following
command:</para>
<screen>&prompt.root; <userinput>chflags sunlink <filename>file1</filename></userinput></screen>
- <para>And to disable the system undeletable flag,
- issue the previous command with <quote>no</quote> in
- front of the <option>sunlink</option>. Observe:</para>
+ <para>To disable the system undeletable flag, put a
+ <quote>no</quote> in front of the
+ <option>sunlink</option>:</para>
<screen>&prompt.root; <userinput>chflags nosunlink <filename>file1</filename></userinput></screen>
- <para>To view the flags of this file, use the &man.ls.1; command
- with the <option>-lo</option> flags:</para>
+ <para>To view the flags of a file, use <option>-lo</option> with
+ &man.ls.1;:</para>
<screen>&prompt.root; <userinput>ls -lo <filename>file1</filename></userinput></screen>
- <para>The output should look like the following:</para>
-
<programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1</programlisting>
- <para>Several flags may only added or removed to files by the
+ <para>Several file flags may only added or removed by the
<username>root</username> user. In other cases, the file
- owner may set these flags. It is recommended that
- administrators read over the &man.chflags.1; and
- &man.chflags.2; manual pages for more information.</para>
+ owner may set its file flags. Refer to &man.chflags.1; and
+ &man.chflags.2; for more information.</para>
</sect2>
<sect2>
@@ -709,56 +629,54 @@ total 530
<para>Other than the permissions already discussed, there are
three other specific settings that all administrators should
know about. They are the <literal>setuid</literal>,
- <literal>setgid</literal> and <literal>sticky</literal>
+ <literal>setgid</literal>, and <literal>sticky</literal>
permissions.</para>
<para>These settings are important for some &unix; operations
as they provide functionality not normally granted to normal
users. To understand them, the difference between the real
- user ID and effective user ID must also be noted.</para>
+ user ID and effective user ID must be noted.</para>
<para>The real user ID is the <acronym>UID</acronym> who owns
or starts the process. The effective <acronym>UID</acronym>
- is the user ID the process runs as. As an example, the
- &man.passwd.1; utility runs with the real user ID as the
- user changing their password; however, to manipulate the
- password database, it runs as the effective ID of the
- <username>root</username> user. This is what allows normal
- users to change their passwords without seeing a
+ is the user ID the process runs as. As an example,
+ &man.passwd.1; runs with the real user ID when a user changes
+ their password. However, in order to update the password
+ database, the command runs as the effective ID of the
+ <username>root</username> user. This allows users to change
+ their passwords without seeing a
<errorname>Permission Denied</errorname> error.</para>
- <note>
- <para>The <literal>nosuid</literal> &man.mount.8; option will
- cause these binaries to silently fail. That is, they will
- fail to execute without ever alerting the user. That option
- is also not completely reliable as a
- <literal>nosuid</literal> wrapper may be able to circumvent
- it; according to the &man.mount.8; manual page.</para>
- </note>
-
<para>The setuid permission may be set by prefixing a permission
set with the number four (4) as shown in the following
example:</para>
<screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
- <para>The permissions on the
+ <para>The permissions on
<filename><replaceable>suidexample.sh</replaceable></filename>
- file should now look like the following:</para>
+ now look like the following:</para>
<programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
- <para>It should be noticeable from this example that an
- <literal>s</literal> is now part of the permission set
- designated for the file owner, replacing the executable
- bit. This allows utilities which need elevated permissions,
- such as <command>passwd</command>.</para>
+ <para>Note that a <literal>s</literal> is now part of the
+ permission set designated for the file owner, replacing the
+ executable bit. This allows utilities which need elevated
+ permissions, such as <command>passwd</command>.</para>
+
+ <note>
+ <para>The <literal>nosuid</literal> &man.mount.8; option will
+ cause such binaries to silently fail without alerting
+ the user. That option is not completely reliable as a
+ <literal>nosuid</literal> wrapper may be able to circumvent
+ it.</para>
+ </note>
<para>To view this in real time, open two terminals. On
one, start the <command>passwd</command> process as a normal
user. While it waits for a new password, check the process
- table and look at the user information of the
- <command>passwd</command> command.</para>
+ table and look at the user information for
+ <command>passwd</command>:</para>
<para>In terminal A:</para>
@@ -779,17 +697,17 @@ root 5211 0.0 0.2 3620 1724 2
<para>The <literal>setgid</literal> permission performs the
same function as the <literal>setuid</literal> permission;
except that it alters the group settings. When an application
- or utility is ran with this setting, it will be granted the
- permissions based on the group that owns the file, not
- the user who started the process.</para>
+ or utility executes with this setting, it will be granted the
+ permissions based on the group that owns the file, not the
+ user who started the process.</para>
<para>To set the <literal>setgid</literal> permission on a
- file, provide the <command>chmod</command> command with a
- leading two (2) as in the following example:</para>
+ file, provide <command>chmod</command> with a leading two
+ (2):</para>
<screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
- <para>The new setting may be viewed as before, notice the
+ <para>In the following listing, notice that the
<literal>s</literal> is now in the field designated for the
group permission settings:</para>
@@ -803,33 +721,29 @@ root 5211 0.0 0.2 3620 1724 2
&man.setuid.2; system calls.</para>
</note>
- <para>The first two special permission bits we discussed
- (the <literal>setuid</literal> and <literal>setgid</literal>
- permission bits) may lower system security, by allowing for
- elevated permissions. There is a third special permission bit
- that can strengthen the security of a system: the
- <literal>sticky bit</literal>.</para>
-
- <para>The <literal>sticky bit</literal>, when set on a
- directory, allows file deletion only by the file owner. This
- permission set is useful to prevent file deletion in public
- directories, such as
- <filename class="directory">/tmp</filename>, by users who do
- not own the file. To utilize this permission, prefix the
- permission with a one (1). For example:</para>
+ <para>The <literal>setuid</literal> and
+ <literal>setgid</literal> permission bits may lower system
+ security, by allowing for elevated permissions. The third
+ special permission, the <literal>sticky bit</literal>, can
+ strengthen the security of a system.</para>
+
+ <para>When the <literal>sticky bit</literal> is set on a
+ directory, it allows file deletion only by the file owner.
+ This is useful to prevent file deletion in public directories,
+ such as <filename class="directory">/tmp</filename>, by users
+ who do not own the file. To utilize this permission, prefix
+ the permission set with a one (1):</para>
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
- <para>Now, it is possible to see the effect by using the
- <command>ls</command> command:</para>
+ <para>The <literal>sticky bit</literal> permission will display
+ as a <literal>t</literal> at the very end of the permission
+ set:</para>
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
<screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
- <para>The <literal>sticky bit</literal> permission is
- distinguishable from the <literal>t</literal> at the very
- end of the set.</para>
</sect2>
</sect1>
@@ -838,35 +752,35 @@ root 5211 0.0 0.2 3620 1724 2
<indexterm><primary>directory hierarchy</primary></indexterm>
- <para>The FreeBSD directory hierarchy is fundamental to obtaining
+ <para>The &os; directory hierarchy is fundamental to obtaining
an overall understanding of the system. The most important
- concept to grasp is that of the root directory,
- <quote>/</quote>. This directory is the first one mounted at
- boot time and it contains the base system necessary to prepare
- the operating system for multi-user operation. The root
- directory also contains mount points for other file systems that
- are mounted during the transition to multi-user
- operation.</para>
+ directory is root or, <quote>/</quote>. This directory is the
+ first one mounted at boot time and it contains the base system
+ necessary to prepare the operating system for multi-user
+ operation. The root directory also contains mount points for
+ other file systems that are mounted during the transition to
+ multi-user operation.</para>
<para>A mount point is a directory where additional file systems
can be grafted onto a parent file system (usually the root file
- system). This is further described in
- <xref linkend="disk-organization"/>. Standard mount points
- include <filename>/usr</filename>, <filename>/var</filename>,
- <filename>/tmp</filename>, <filename>/mnt</filename>, and
- <filename>/cdrom</filename>. These directories are usually
- referenced to entries in the file
- <filename>/etc/fstab</filename>.
- <filename>/etc/fstab</filename> is a table of various file
- systems and mount points for reference by the system. Most of
- the file systems in <filename>/etc/fstab</filename> are mounted
- automatically at boot time from the script &man.rc.8; unless
- they contain the <option>noauto</option> option. Details can be
- found in <xref linkend="disks-fstab"/>.</para>
+ system). This is further described in <xref
+ linkend="disk-organization"/>. Standard mount points
+ include <filename class="directory">/usr/</filename>,
+ <filename class="directory">/var/</filename>,
+ <filename class="directory">/tmp/</filename>,
+ <filename class="directory">/mnt/</filename>, and
+ <filename class="directory">/cdrom/</filename>. These
+ directories are usually referenced to entries in
+ <filename>/etc/fstab</filename>. This file is a table of
+ various file systems and mount points and is read by the system.
+ Most of the file systems in <filename>/etc/fstab</filename> are
+ mounted automatically at boot time from the script &man.rc.8;
+ unless their entry includes <option>noauto</option>. Details
+ can be found in <xref linkend="disks-fstab"/>.</para>
<para>A complete description of the file system hierarchy is
- available in &man.hier.7;. For now, a brief overview of the
- most common directories will suffice.</para>
+ available in &man.hier.7;. The following table provides a brief
+ overview of the most common directories.</para>
<para>
<informaltable frame="none" pgwide="1">
@@ -900,14 +814,15 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/boot/defaults/</filename></entry>
- <entry>Default bootstrapping configuration files; see
- &man.loader.conf.5;.</entry>
+ <entry>Default boot configuration files. Refer to
+ &man.loader.conf.5; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/dev/</filename></entry>
- <entry>Device nodes; see &man.intro.4;.</entry>
+ <entry>Device nodes. Refer to &man.intro.4; for
+ details.</entry>
</row>
<row>
@@ -919,8 +834,8 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/etc/defaults/</filename></entry>
- <entry>Default system configuration files; see
- &man.rc.8;.</entry>
+ <entry>Default system configuration files. Refer to
+ &man.rc.8; for details.</entry>
</row>
<row>
@@ -933,22 +848,23 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/etc/namedb/</filename></entry>
- <entry><command>named</command> configuration files; see
- &man.named.8;.</entry>
+ <entry><command>named</command> configuration files.
+ Refer to &man.named.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/periodic/</filename></entry>
- <entry>Scripts that are run daily, weekly, and monthly,
- via &man.cron.8;; see &man.periodic.8;.</entry>
+ <entry>Scripts that run daily, weekly, and monthly,
+ via &man.cron.8;. Refer to &man.periodic.8; for
+ details.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/ppp/</filename></entry>
- <entry><command>ppp</command> configuration files; see
- &man.ppp.8;.</entry>
+ <entry><command>ppp</command> configuration files as
+ described in &man.ppp.8;.</entry>
</row>
<row>
@@ -961,15 +877,15 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/proc/</filename></entry>
- <entry>Process file system; see &man.procfs.5;,
- &man.mount.procfs.8;.</entry>
+ <entry>Process file system. Refer to &man.procfs.5;,
+ &man.mount.procfs.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/rescue/</filename></entry>
<entry>Statically linked programs for emergency
- recovery; see &man.rescue.8;.</entry>
+ recovery as described in &man.rescue.8;.</entry>
</row>
<row>
@@ -990,15 +906,14 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/tmp/</filename></entry>
- <entry>Temporary files. The contents of
- <filename class="directory">/tmp</filename> are
- usually NOT preserved across a system reboot. A
- memory-based file system is often mounted at
- <filename class="directory">/tmp</filename>. This can
- be automated using the tmpmfs-related variables of
- &man.rc.conf.5; (or with an entry in
- <filename>/etc/fstab</filename>; see
- &man.mdmfs.8;).</entry>
+ <entry>Temporary files which are usually
+ <emphasis>not</emphasis> preserved across a system
+ reboot. A memory-based file system is often mounted
+ at <filename class="directory">/tmp</filename>. This
+ can be automated using the tmpmfs-related variables of
+ &man.rc.conf.5; or with an entry in
+ <filename>/etc/fstab</filename>; refer to
+ &man.mdmfs.8; for details.</entry>
</row>
<row>
@@ -1037,15 +952,15 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/usr/libexec/</filename></entry>
- <entry>System daemons & system utilities (executed
- by other programs).</entry>
+ <entry>System daemons and system utilities executed
+ by other programs.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/local/</filename></entry>
- <entry>Local executables, libraries, etc. Also used as
- the default destination for the FreeBSD ports
+ <entry>Local executables and libraries. Also used as
+ the default destination for the &os; ports
framework. Within <filename>/usr/local</filename>,
the general layout sketched out by &man.hier.7; for
<filename>/usr</filename> should be used. Exceptions
@@ -1067,14 +982,14 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
class="directory">/usr/ports/</filename></entry>
- <entry>The FreeBSD Ports Collection (optional).</entry>
+ <entry>The &os; Ports Collection (optional).</entry>
</row>
<row>
<entry><filename
class="directory">/usr/sbin/</filename></entry>
- <entry>System daemons & system utilities (executed
- by users).</entry>
+ <entry>System daemons and system utilities executed
+ by users.</entry>
</row>
<row>
@@ -1091,22 +1006,15 @@ root 5211 0.0 0.2 3620 1724 2
<row>
<entry><filename
- class="directory">/usr/X11R6/</filename></entry>
- <entry>X11R6 distribution executables, libraries, etc
- (optional).</entry>
- </row>
-
- <row>
- <entry><filename
class="directory">/var/</filename></entry>
<entry>Multi-purpose log, temporary, transient, and
spool files. A memory-based file system is sometimes
- mounted at
- <filename class="directory">/var</filename>. This can
- be automated using the varmfs-related variables of
- &man.rc.conf.5; (or with an entry in
- <filename>/etc/fstab</filename>; see
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-head
mailing list