1 | <?xml version="1.0" encoding="iso-8859-1"?>
|
---|
2 | <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
|
---|
3 | <refentry id="smbpasswd.5">
|
---|
4 |
|
---|
5 | <refmeta>
|
---|
6 | <refentrytitle>smbpasswd</refentrytitle>
|
---|
7 | <manvolnum>5</manvolnum>
|
---|
8 | <refmiscinfo class="source">Samba</refmiscinfo>
|
---|
9 | <refmiscinfo class="manual">File Formats and Conventions</refmiscinfo>
|
---|
10 | <refmiscinfo class="version">3.6</refmiscinfo>
|
---|
11 | </refmeta>
|
---|
12 |
|
---|
13 |
|
---|
14 | <refnamediv>
|
---|
15 | <refname>smbpasswd</refname>
|
---|
16 | <refpurpose>The Samba encrypted password file</refpurpose>
|
---|
17 | </refnamediv>
|
---|
18 |
|
---|
19 | <refsynopsisdiv>
|
---|
20 | <para><filename>smbpasswd</filename></para>
|
---|
21 | </refsynopsisdiv>
|
---|
22 |
|
---|
23 | <refsect1>
|
---|
24 | <title>DESCRIPTION</title>
|
---|
25 |
|
---|
26 | <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
|
---|
27 | <manvolnum>7</manvolnum></citerefentry> suite.</para>
|
---|
28 |
|
---|
29 | <para>smbpasswd is the Samba encrypted password file. It contains
|
---|
30 | the username, Unix user id and the SMB hashed passwords of the
|
---|
31 | user, as well as account flag information and the time the
|
---|
32 | password was last changed. This file format has been evolving with
|
---|
33 | Samba and has had several different formats in the past. </para>
|
---|
34 | </refsect1>
|
---|
35 |
|
---|
36 | <refsect1>
|
---|
37 | <title>FILE FORMAT</title>
|
---|
38 |
|
---|
39 | <para>The format of the smbpasswd file used by Samba 2.2
|
---|
40 | is very similar to the familiar Unix <filename>passwd(5)</filename>
|
---|
41 | file. It is an ASCII file containing one line for each user. Each field
|
---|
42 | ithin each line is separated from the next by a colon. Any entry
|
---|
43 | beginning with '#' is ignored. The smbpasswd file contains the
|
---|
44 | following information for each user: </para>
|
---|
45 |
|
---|
46 | <variablelist>
|
---|
47 | <varlistentry>
|
---|
48 | <term>name</term>
|
---|
49 | <listitem><para> This is the user name. It must be a name that
|
---|
50 | already exists in the standard UNIX passwd file. </para>
|
---|
51 | </listitem>
|
---|
52 | </varlistentry>
|
---|
53 |
|
---|
54 | <varlistentry>
|
---|
55 | <term>uid</term>
|
---|
56 | <listitem><para>This is the UNIX uid. It must match the uid
|
---|
57 | field for the same user entry in the standard UNIX passwd file.
|
---|
58 | If this does not match then Samba will refuse to recognize
|
---|
59 | this smbpasswd file entry as being valid for a user.
|
---|
60 | </para></listitem>
|
---|
61 | </varlistentry>
|
---|
62 |
|
---|
63 |
|
---|
64 | <varlistentry>
|
---|
65 | <term>Lanman Password Hash</term>
|
---|
66 | <listitem><para>This is the LANMAN hash of the user's password,
|
---|
67 | encoded as 32 hex digits. The LANMAN hash is created by DES
|
---|
68 | encrypting a well known string with the user's password as the
|
---|
69 | DES key. This is the same password used by Windows 95/98 machines.
|
---|
70 | Note that this password hash is regarded as weak as it is
|
---|
71 | vulnerable to dictionary attacks and if two users choose the
|
---|
72 | same password this entry will be identical (i.e. the password
|
---|
73 | is not "salted" as the UNIX password is). If the user has a
|
---|
74 | null password this field will contain the characters "NO PASSWORD"
|
---|
75 | as the start of the hex string. If the hex string is equal to
|
---|
76 | 32 'X' characters then the user's account is marked as
|
---|
77 | <constant>disabled</constant> and the user will not be able to
|
---|
78 | log onto the Samba server. </para>
|
---|
79 |
|
---|
80 | <para><emphasis>WARNING !!</emphasis> Note that, due to
|
---|
81 | the challenge-response nature of the SMB/CIFS authentication
|
---|
82 | protocol, anyone with a knowledge of this password hash will
|
---|
83 | be able to impersonate the user on the network. For this
|
---|
84 | reason these hashes are known as <emphasis>plain text
|
---|
85 | equivalents</emphasis> and must <emphasis>NOT</emphasis> be made
|
---|
86 | available to anyone but the root user. To protect these passwords
|
---|
87 | the smbpasswd file is placed in a directory with read and
|
---|
88 | traverse access only to the root user and the smbpasswd file
|
---|
89 | itself must be set to be read/write only by root, with no
|
---|
90 | other access. </para></listitem>
|
---|
91 | </varlistentry>
|
---|
92 |
|
---|
93 |
|
---|
94 | <varlistentry>
|
---|
95 | <term>NT Password Hash</term>
|
---|
96 | <listitem><para>This is the Windows NT hash of the user's
|
---|
97 | password, encoded as 32 hex digits. The Windows NT hash is
|
---|
98 | created by taking the user's password as represented in
|
---|
99 | 16-bit, little-endian UNICODE and then applying the MD4
|
---|
100 | (internet rfc1321) hashing algorithm to it. </para>
|
---|
101 |
|
---|
102 | <para>This password hash is considered more secure than
|
---|
103 | the LANMAN Password Hash as it preserves the case of the
|
---|
104 | password and uses a much higher quality hashing algorithm.
|
---|
105 | However, it is still the case that if two users choose the same
|
---|
106 | password this entry will be identical (i.e. the password is
|
---|
107 | not "salted" as the UNIX password is). </para>
|
---|
108 |
|
---|
109 | <para><emphasis>WARNING !!</emphasis>. Note that, due to
|
---|
110 | the challenge-response nature of the SMB/CIFS authentication
|
---|
111 | protocol, anyone with a knowledge of this password hash will
|
---|
112 | be able to impersonate the user on the network. For this
|
---|
113 | reason these hashes are known as <emphasis>plain text
|
---|
114 | equivalents</emphasis> and must <emphasis>NOT</emphasis> be made
|
---|
115 | available to anyone but the root user. To protect these passwords
|
---|
116 | the smbpasswd file is placed in a directory with read and
|
---|
117 | traverse access only to the root user and the smbpasswd file
|
---|
118 | itself must be set to be read/write only by root, with no
|
---|
119 | other access. </para></listitem>
|
---|
120 | </varlistentry>
|
---|
121 |
|
---|
122 |
|
---|
123 | <varlistentry>
|
---|
124 | <term>Account Flags</term>
|
---|
125 | <listitem><para>This section contains flags that describe
|
---|
126 | the attributes of the users account. This field is bracketed by
|
---|
127 | '[' and ']' characters and is always 13 characters in length
|
---|
128 | (including the '[' and ']' characters).
|
---|
129 | The contents of this field may be any of the following characters:
|
---|
130 | </para>
|
---|
131 |
|
---|
132 | <itemizedlist>
|
---|
133 | <listitem><para><emphasis>U</emphasis> - This means
|
---|
134 | this is a "User" account, i.e. an ordinary user.</para></listitem>
|
---|
135 |
|
---|
136 | <listitem><para><emphasis>N</emphasis> - This means the
|
---|
137 | account has no password (the passwords in the fields LANMAN
|
---|
138 | Password Hash and NT Password Hash are ignored). Note that this
|
---|
139 | will only allow users to log on with no password if the <parameter>
|
---|
140 | null passwords</parameter> parameter is set in the
|
---|
141 | <citerefentry><refentrytitle>smb.conf</refentrytitle>
|
---|
142 | <manvolnum>5</manvolnum></citerefentry> config file. </para></listitem>
|
---|
143 |
|
---|
144 | <listitem><para><emphasis>D</emphasis> - This means the account
|
---|
145 | is disabled and no SMB/CIFS logins will be allowed for this user. </para></listitem>
|
---|
146 |
|
---|
147 | <listitem><para><emphasis>X</emphasis> - This means the password
|
---|
148 | does not expire. </para></listitem>
|
---|
149 |
|
---|
150 | <listitem><para><emphasis>W</emphasis> - This means this account
|
---|
151 | is a "Workstation Trust" account. This kind of account is used
|
---|
152 | in the Samba PDC code stream to allow Windows NT Workstations
|
---|
153 | and Servers to join a Domain hosted by a Samba PDC. </para>
|
---|
154 | </listitem>
|
---|
155 | </itemizedlist>
|
---|
156 |
|
---|
157 | <para>Other flags may be added as the code is extended in future.
|
---|
158 | The rest of this field space is filled in with spaces. For further
|
---|
159 | information regarding the flags that are supported please refer to the
|
---|
160 | man page for the <command>pdbedit</command> command.</para>
|
---|
161 | </listitem>
|
---|
162 | </varlistentry>
|
---|
163 |
|
---|
164 |
|
---|
165 | <varlistentry>
|
---|
166 | <term>Last Change Time</term>
|
---|
167 | <listitem><para>This field consists of the time the account was
|
---|
168 | last modified. It consists of the characters 'LCT-' (standing for
|
---|
169 | "Last Change Time") followed by a numeric encoding of the UNIX time
|
---|
170 | in seconds since the epoch (1970) that the last change was made.
|
---|
171 | </para></listitem>
|
---|
172 | </varlistentry>
|
---|
173 | </variablelist>
|
---|
174 |
|
---|
175 | <para>All other colon separated fields are ignored at this time.</para>
|
---|
176 | </refsect1>
|
---|
177 |
|
---|
178 | <refsect1>
|
---|
179 | <title>VERSION</title>
|
---|
180 |
|
---|
181 | <para>This man page is correct for version 3 of
|
---|
182 | the Samba suite.</para>
|
---|
183 | </refsect1>
|
---|
184 |
|
---|
185 | <refsect1>
|
---|
186 | <title>SEE ALSO</title>
|
---|
187 | <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
|
---|
188 | <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>Samba</refentrytitle>
|
---|
189 | <manvolnum>7</manvolnum></citerefentry>, and
|
---|
190 | the Internet RFC1321 for details on the MD4 algorithm.
|
---|
191 | </para>
|
---|
192 | </refsect1>
|
---|
193 |
|
---|
194 | <refsect1>
|
---|
195 | <title>AUTHOR</title>
|
---|
196 |
|
---|
197 | <para>The original Samba software and related utilities
|
---|
198 | were created by Andrew Tridgell. Samba is now developed
|
---|
199 | by the Samba Team as an Open Source project similar
|
---|
200 | to the way the Linux kernel is developed.</para>
|
---|
201 |
|
---|
202 | <para>The original Samba man pages were written by Karl Auer.
|
---|
203 | The man page sources were converted to YODL format (another
|
---|
204 | excellent piece of Open Source software, available at <ulink noescape="1" url="ftp://ftp.icce.rug.nl/pub/unix/">
|
---|
205 | ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0
|
---|
206 | release by Jeremy Allison. The conversion to DocBook for
|
---|
207 | Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
|
---|
208 | for Samba 3.0 was done by Alexander Bokovoy.</para>
|
---|
209 | </refsect1>
|
---|
210 |
|
---|
211 | </refentry>
|
---|