summaryrefslogtreecommitdiff
path: root/docs/docbook/smbdotconf/security/passwdchat.xml
blob: fcefd8f8df20445060e9e87c409b09791ebb43cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<samba:parameter name="passwd chat"
                 context="G"
                 advanced="1" developer="1"
                 xmlns:samba="http://samba.org/common">
<listitem>
    <para>This string controls the <emphasis>&quot;chat&quot;</emphasis> 
    conversation that takes places between <citerefentry><refentrytitle>smbd</refentrytitle>
    <manvolnum>8</manvolnum></citerefentry> and the local password changing
    program to change the user's password. The string describes a 
    sequence of response-receive pairs that <citerefentry><refentrytitle>smbd</refentrytitle>
    <manvolnum>8</manvolnum></citerefentry> uses to determine what to send to the 
    <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">passwd program</parameter>
    </link> and what to expect back. If the expected output is not 
    received then the password is not changed.</para>

    <para>This chat sequence is often quite site specific, depending 
    on what local methods are used for password control (such as NIS 
    etc).</para>

    <para>Note that this parameter only is only used if the <link
    linkend="UNIXPASSWORDSYNC"> <parameter moreinfo="none">unix password sync</parameter>
    </link> parameter is set  to <constant>yes</constant>. This sequence is 
    then called <emphasis>AS ROOT</emphasis> when the SMB password  in the 
    smbpasswd file is being changed, without access to the old password
    cleartext. This means that root must be able to reset the user's password without
    knowing the text of the previous password. In the presence of
    NIS/YP,  this means that the <link linkend="PASSWDPROGRAM">passwd program</link> must
    be executed on the NIS master.
    </para>


    <para>The string can contain the macro <parameter moreinfo="none">%n</parameter> which is substituted 
    for the new password.  The chat sequence can also contain the standard 
    macros <constant>\\n</constant>, <constant>\\r</constant>, <constant>\\t</constant> and <constant>\\s</constant> to 
    give line-feed, carriage-return, tab and space.  The chat sequence string can also contain 
    a '*' which matches any sequence of characters. Double quotes can be used to collect strings with spaces 
    in them into a single string.</para>

    <para>If the send string in any part of the chat sequence  is a full
    stop &quot;.&quot;,  then no string is sent. Similarly,  if the
    expect string is a full stop then no string is expected.</para>

    <para>If the <link linkend="PAMPASSWORDCHANGE"><parameter moreinfo="none">pam
    password change</parameter></link> parameter is set to <constant>yes</constant>, the chat pairs
    may be matched in any order, and success is determined by the PAM result, 
    not any particular output. The \n macro is ignored for PAM conversions.
    </para>

    <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter moreinfo="none">unix password 
    sync</parameter></link>, <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">
    passwd program</parameter></link> ,<link linkend="PASSWDCHATDEBUG">
    <parameter moreinfo="none">passwd chat debug</parameter></link> and <link linkend="PAMPASSWORDCHANGE">
    <parameter moreinfo="none">pam password change</parameter></link>.</para>

    <para>Default: <command moreinfo="none">passwd chat = *new*password* %n\\n 
    *new*password* %n\\n *changed*</command></para>

    <para>Example: <command moreinfo="none">passwd chat = &quot;*Enter OLD password*&quot; %o\\n 
    &quot;*Enter NEW password*&quot; %n\\n &quot;*Reenter NEW password*&quot; %n\\n 
    &quot;*Password changed*&quot;</command></para>
</listitem>
</samba:parameter>