1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>smbcacls</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="smbcacls.1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>smbcacls — Set or get ACLs on an NT file or directory names</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="literal">smbcacls</code> {//server/share} {filename} [-D acls] [-M acls] [-a acls] [-S acls] [-C name] [-G name] [--numeric] [-t] [-U username] [-h] [-d]</p></div></div><div class="refsect1" lang="en"><a name="id2483378"></a><h2>DESCRIPTION</h2><p>This tool is part of the <a class="citerefentry" href="samba.7.html"><span class="citerefentry"><span class="refentrytitle">samba</span>(7)</span></a> suite.</p><p>The <code class="literal">smbcacls</code> program manipulates NT Access Control
|
---|
2 | Lists (ACLs) on SMB file shares. </p></div><div class="refsect1" lang="en"><a name="id2483530"></a><h2>OPTIONS</h2><p>The following options are available to the <code class="literal">smbcacls</code> program.
|
---|
3 | The format of ACLs is described in the section ACL FORMAT </p><div class="variablelist"><dl><dt><span class="term">-a|--add acls</span></dt><dd><p>Add the ACLs specified to the ACL list. Existing
|
---|
4 | access control entries are unchanged. </p></dd><dt><span class="term">-M|--modify acls</span></dt><dd><p>Modify the mask value (permissions) for the ACLs
|
---|
5 | specified on the command line. An error will be printed for each
|
---|
6 | ACL specified that was not already present in the ACL list
|
---|
7 | </p></dd><dt><span class="term">-D|--delete acls</span></dt><dd><p>Delete any ACLs specified on the command line.
|
---|
8 | An error will be printed for each ACL specified that was not
|
---|
9 | already present in the ACL list. </p></dd><dt><span class="term">-S|--set acls</span></dt><dd><p>This command sets the ACLs on the file with
|
---|
10 | only the ones specified on the command line. All other ACLs are
|
---|
11 | erased. Note that the ACL specified must contain at least a revision,
|
---|
12 | type, owner and group for the call to succeed. </p></dd><dt><span class="term">-C|--chown name</span></dt><dd><p>The owner of a file or directory can be changed
|
---|
13 | to the name given using the <em class="parameter"><code>-C</code></em> option.
|
---|
14 | The name can be a sid in the form S-1-x-y-z or a name resolved
|
---|
15 | against the server specified in the first argument. </p><p>This command is a shortcut for -M OWNER:name.
|
---|
16 | </p></dd><dt><span class="term">-G|--chgrp name</span></dt><dd><p>The group owner of a file or directory can
|
---|
17 | be changed to the name given using the <em class="parameter"><code>-G</code></em>
|
---|
18 | option. The name can be a sid in the form S-1-x-y-z or a name
|
---|
19 | resolved against the server specified n the first argument.
|
---|
20 | </p><p>This command is a shortcut for -M GROUP:name.</p></dd><dt><span class="term">--numeric</span></dt><dd><p>This option displays all ACL information in numeric
|
---|
21 | format. The default is to convert SIDs to names and ACE types
|
---|
22 | and masks to a readable string format. </p></dd><dt><span class="term">-t|--test-args</span></dt><dd><p>
|
---|
23 | Don't actually do anything, only validate the correctness of
|
---|
24 | the arguments.
|
---|
25 | </p></dd><dt><span class="term">-h|--help</span></dt><dd><p>Print a summary of command line options.
|
---|
26 | </p></dd><dt><span class="term">-d|--debuglevel=level</span></dt><dd><p><em class="replaceable"><code>level</code></em> is an integer
|
---|
27 | from 0 to 10. The default value if this parameter is
|
---|
28 | not specified is 0.</p><p>The higher this value, the more detail will be
|
---|
29 | logged to the log files about the activities of the
|
---|
30 | server. At level 0, only critical errors and serious
|
---|
31 | warnings will be logged. Level 1 is a reasonable level for
|
---|
32 | day-to-day running - it generates a small amount of
|
---|
33 | information about operations carried out.</p><p>Levels above 1 will generate considerable
|
---|
34 | amounts of log data, and should only be used when
|
---|
35 | investigating a problem. Levels above 3 are designed for
|
---|
36 | use only by developers and generate HUGE amounts of log
|
---|
37 | data, most of which is extremely cryptic.</p><p>Note that specifying this parameter here will
|
---|
38 | override the <a class="link" href="smb.conf.5.html#" target="_top"></a> parameter
|
---|
39 | in the <code class="filename">smb.conf</code> file.</p></dd><dt><span class="term">-V|--version</span></dt><dd><p>Prints the program version number.
|
---|
40 | </p></dd><dt><span class="term">-s|--configfile <configuration file></span></dt><dd><p>The file specified contains the
|
---|
41 | configuration details required by the server. The
|
---|
42 | information in this file includes server-specific
|
---|
43 | information such as what printcap file to use, as well
|
---|
44 | as descriptions of all the services that the server is
|
---|
45 | to provide. See <code class="filename">smb.conf</code> for more information.
|
---|
46 | The default configuration file name is determined at
|
---|
47 | compile time.</p></dd><dt><span class="term">-l|--log-basename=logdirectory</span></dt><dd><p>Base directory name for log/debug files. The extension
|
---|
48 | <code class="constant">".progname"</code> will be appended (e.g. log.smbclient,
|
---|
49 | log.smbd, etc...). The log file is never removed by the client.
|
---|
50 | </p></dd><dt><span class="term">-N|--no-pass</span></dt><dd><p>If specified, this parameter suppresses the normal
|
---|
51 | password prompt from the client to the user. This is useful when
|
---|
52 | accessing a service that does not require a password. </p><p>Unless a password is specified on the command line or
|
---|
53 | this parameter is specified, the client will request a
|
---|
54 | password.</p><p>If a password is specified on the command line and this
|
---|
55 | option is also defined the password on the command line will
|
---|
56 | be silently ingnored and no password will be used.</p></dd><dt><span class="term">-k|--kerberos</span></dt><dd><p>
|
---|
57 | Try to authenticate with kerberos. Only useful in
|
---|
58 | an Active Directory environment.
|
---|
59 | </p></dd><dt><span class="term">-C|--use-ccache</span></dt><dd><p>
|
---|
60 | Try to use the credentials cached by winbind.
|
---|
61 | </p></dd><dt><span class="term">-A|--authentication-file=filename</span></dt><dd><p>This option allows
|
---|
62 | you to specify a file from which to read the username and
|
---|
63 | password used in the connection. The format of the file is
|
---|
64 | </p><pre class="programlisting">
|
---|
65 | username = <value>
|
---|
66 | password = <value>
|
---|
67 | domain = <value>
|
---|
68 | </pre><p>Make certain that the permissions on the file restrict
|
---|
69 | access from unwanted users. </p></dd><dt><span class="term">-U|--user=username[%password]</span></dt><dd><p>Sets the SMB username or username and password. </p><p>If %password is not specified, the user will be prompted. The
|
---|
70 | client will first check the <code class="envar">USER</code> environment variable, then the
|
---|
71 | <code class="envar">LOGNAME</code> variable and if either exists, the
|
---|
72 | string is uppercased. If these environmental variables are not
|
---|
73 | found, the username <code class="constant">GUEST</code> is used. </p><p>A third option is to use a credentials file which
|
---|
74 | contains the plaintext of the username and password. This
|
---|
75 | option is mainly provided for scripts where the admin does not
|
---|
76 | wish to pass the credentials on the command line or via environment
|
---|
77 | variables. If this method is used, make certain that the permissions
|
---|
78 | on the file restrict access from unwanted users. See the
|
---|
79 | <em class="parameter"><code>-A</code></em> for more details. </p><p>Be cautious about including passwords in scripts. Also, on
|
---|
80 | many systems the command line of a running process may be seen
|
---|
81 | via the <code class="literal">ps</code> command. To be safe always allow
|
---|
82 | <code class="literal">rpcclient</code> to prompt for a password and type
|
---|
83 | it in directly. </p></dd></dl></div></div><div class="refsect1" lang="en"><a name="id2481709"></a><h2>ACL FORMAT</h2><p>The format of an ACL is one or more ACL entries separated by
|
---|
84 | either commas or newlines. An ACL entry is one of the following: </p><pre class="programlisting">
|
---|
85 | REVISION:<revision number>
|
---|
86 | OWNER:<sid or name>
|
---|
87 | GROUP:<sid or name>
|
---|
88 | ACL:<sid or name>:<type>/<flags>/<mask>
|
---|
89 | </pre><p>The revision of the ACL specifies the internal Windows
|
---|
90 | NT ACL revision for the security descriptor.
|
---|
91 | If not specified it defaults to 1. Using values other than 1 may
|
---|
92 | cause strange behaviour. </p><p>The owner and group specify the owner and group sids for the
|
---|
93 | object. If a SID in the format S-1-x-y-z is specified this is used,
|
---|
94 | otherwise the name specified is resolved using the server on which
|
---|
95 | the file or directory resides. </p><p>ACLs specify permissions granted to the SID. This SID again
|
---|
96 | can be specified in S-1-x-y-z format or as a name in which case
|
---|
97 | it is resolved against the server on which the file or directory
|
---|
98 | resides. The type, flags and mask values determine the type of
|
---|
99 | access granted to the SID. </p><p>The type can be either ALLOWED or DENIED to allow/deny access
|
---|
100 | to the SID. The flags values are generally zero for file ACLs and
|
---|
101 | either 9 or 2 for directory ACLs. Some common flags are: </p><div class="itemizedlist"><ul type="disc"><li><p><code class="constant">#define SEC_ACE_FLAG_OBJECT_INHERIT 0x1</code></p></li><li><p><code class="constant">#define SEC_ACE_FLAG_CONTAINER_INHERIT 0x2</code></p></li><li><p><code class="constant">#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT 0x4</code></p></li><li><p><code class="constant">#define SEC_ACE_FLAG_INHERIT_ONLY 0x8</code></p></li></ul></div><p>At present flags can only be specified as decimal or
|
---|
102 | hexadecimal values.</p><p>The mask is a value which expresses the access right
|
---|
103 | granted to the SID. It can be given as a decimal or hexadecimal value,
|
---|
104 | or by using one of the following text strings which map to the NT
|
---|
105 | file permissions of the same name. </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>R</em></span> - Allow read access </p></li><li><p><span class="emphasis"><em>W</em></span> - Allow write access</p></li><li><p><span class="emphasis"><em>X</em></span> - Execute permission on the object</p></li><li><p><span class="emphasis"><em>D</em></span> - Delete the object</p></li><li><p><span class="emphasis"><em>P</em></span> - Change permissions</p></li><li><p><span class="emphasis"><em>O</em></span> - Take ownership</p></li></ul></div><p>The following combined permissions can be specified:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>READ</em></span> - Equivalent to 'RX'
|
---|
106 | permissions</p></li><li><p><span class="emphasis"><em>CHANGE</em></span> - Equivalent to 'RXWD' permissions
|
---|
107 | </p></li><li><p><span class="emphasis"><em>FULL</em></span> - Equivalent to 'RWXDPO'
|
---|
108 | permissions</p></li></ul></div></div><div class="refsect1" lang="en"><a name="id2481873"></a><h2>EXIT STATUS</h2><p>The <code class="literal">smbcacls</code> program sets the exit status
|
---|
109 | depending on the success or otherwise of the operations performed.
|
---|
110 | The exit status may be one of the following values. </p><p>If the operation succeeded, smbcacls returns and exit
|
---|
111 | status of 0. If <code class="literal">smbcacls</code> couldn't connect to the specified server,
|
---|
112 | or there was an error getting or setting the ACLs, an exit status
|
---|
113 | of 1 is returned. If there was an error parsing any command line
|
---|
114 | arguments, an exit status of 2 is returned. </p></div><div class="refsect1" lang="en"><a name="id2481906"></a><h2>VERSION</h2><p>This man page is correct for version 3 of the Samba suite.</p></div><div class="refsect1" lang="en"><a name="id2481916"></a><h2>AUTHOR</h2><p>The original Samba software and related utilities
|
---|
115 | were created by Andrew Tridgell. Samba is now developed
|
---|
116 | by the Samba Team as an Open Source project similar
|
---|
117 | to the way the Linux kernel is developed.</p><p><code class="literal">smbcacls</code> was written by Andrew Tridgell
|
---|
118 | and Tim Potter.</p><p>The conversion to DocBook for Samba 2.2 was done
|
---|
119 | by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done
|
---|
120 | by Alexander Bokovoy.</p></div></div></body></html>
|
---|