| 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>
|
|---|