| 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="smbcacls.1"> | 
|---|
| 4 |  | 
|---|
| 5 | <refmeta> | 
|---|
| 6 | <refentrytitle>smbcacls</refentrytitle> | 
|---|
| 7 | <manvolnum>1</manvolnum> | 
|---|
| 8 | <refmiscinfo class="source">Samba</refmiscinfo> | 
|---|
| 9 | <refmiscinfo class="manual">User Commands</refmiscinfo> | 
|---|
| 10 | <refmiscinfo class="version">3.3</refmiscinfo> | 
|---|
| 11 | </refmeta> | 
|---|
| 12 |  | 
|---|
| 13 |  | 
|---|
| 14 | <refnamediv> | 
|---|
| 15 | <refname>smbcacls</refname> | 
|---|
| 16 | <refpurpose>Set or get ACLs on an NT file or directory names</refpurpose> | 
|---|
| 17 | </refnamediv> | 
|---|
| 18 |  | 
|---|
| 19 | <refsynopsisdiv> | 
|---|
| 20 | <cmdsynopsis> | 
|---|
| 21 | <command>smbcacls</command> | 
|---|
| 22 | <arg choice="req">//server/share</arg> | 
|---|
| 23 | <arg choice="req">filename</arg> | 
|---|
| 24 | <arg choice="opt">-D acls</arg> | 
|---|
| 25 | <arg choice="opt">-M acls</arg> | 
|---|
| 26 | <arg choice="opt">-a acls</arg> | 
|---|
| 27 | <arg choice="opt">-S acls</arg> | 
|---|
| 28 | <arg choice="opt">-C name</arg> | 
|---|
| 29 | <arg choice="opt">-G name</arg> | 
|---|
| 30 | <arg choice="opt">--numeric</arg> | 
|---|
| 31 | <arg choice="opt">-t</arg> | 
|---|
| 32 | <arg choice="opt">-U username</arg> | 
|---|
| 33 | <arg choice="opt">-h</arg> | 
|---|
| 34 | <arg choice="opt">-d</arg> | 
|---|
| 35 | </cmdsynopsis> | 
|---|
| 36 | </refsynopsisdiv> | 
|---|
| 37 |  | 
|---|
| 38 | <refsect1> | 
|---|
| 39 | <title>DESCRIPTION</title> | 
|---|
| 40 |  | 
|---|
| 41 | <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle> | 
|---|
| 42 | <manvolnum>7</manvolnum></citerefentry> suite.</para> | 
|---|
| 43 |  | 
|---|
| 44 | <para>The <command>smbcacls</command> program manipulates NT Access Control | 
|---|
| 45 | Lists (ACLs) on SMB file shares. </para> | 
|---|
| 46 | </refsect1> | 
|---|
| 47 |  | 
|---|
| 48 |  | 
|---|
| 49 | <refsect1> | 
|---|
| 50 | <title>OPTIONS</title> | 
|---|
| 51 |  | 
|---|
| 52 | <para>The following options are available to the <command>smbcacls</command> program. | 
|---|
| 53 | The format of ACLs is described in the section ACL FORMAT </para> | 
|---|
| 54 |  | 
|---|
| 55 |  | 
|---|
| 56 | <variablelist> | 
|---|
| 57 | <varlistentry> | 
|---|
| 58 | <term>-a acls</term> | 
|---|
| 59 | <listitem><para>Add the ACLs specified to the ACL list.  Existing | 
|---|
| 60 | access control entries are unchanged. </para></listitem> | 
|---|
| 61 | </varlistentry> | 
|---|
| 62 |  | 
|---|
| 63 |  | 
|---|
| 64 |  | 
|---|
| 65 | <varlistentry> | 
|---|
| 66 | <term>-M acls</term> | 
|---|
| 67 | <listitem><para>Modify the mask value (permissions) for the ACLs | 
|---|
| 68 | specified on the command line.  An error will be printed for each | 
|---|
| 69 | ACL specified that was not already present in the ACL list | 
|---|
| 70 | </para></listitem> | 
|---|
| 71 | </varlistentry> | 
|---|
| 72 |  | 
|---|
| 73 |  | 
|---|
| 74 |  | 
|---|
| 75 | <varlistentry> | 
|---|
| 76 | <term>-D acls</term> | 
|---|
| 77 | <listitem><para>Delete any ACLs specified on the command line. | 
|---|
| 78 | An error will be printed for each ACL specified that was not | 
|---|
| 79 | already present in the ACL list. </para></listitem> | 
|---|
| 80 | </varlistentry> | 
|---|
| 81 |  | 
|---|
| 82 |  | 
|---|
| 83 |  | 
|---|
| 84 | <varlistentry> | 
|---|
| 85 | <term>-S acls</term> | 
|---|
| 86 | <listitem><para>This command sets the ACLs on the file with | 
|---|
| 87 | only the ones specified on the command line.  All other ACLs are | 
|---|
| 88 | erased. Note that the ACL specified must contain at least a revision, | 
|---|
| 89 | type, owner and group for the call to succeed. </para></listitem> | 
|---|
| 90 | </varlistentry> | 
|---|
| 91 |  | 
|---|
| 92 |  | 
|---|
| 93 |  | 
|---|
| 94 | <varlistentry> | 
|---|
| 95 | <term>-U username</term> | 
|---|
| 96 | <listitem><para>Specifies a username used to connect to the | 
|---|
| 97 | specified service.  The username may be of the form "username" in | 
|---|
| 98 | which case the user is prompted to enter in a password and the | 
|---|
| 99 | workgroup specified in the <citerefentry><refentrytitle>smb.conf</refentrytitle> | 
|---|
| 100 | <manvolnum>5</manvolnum></citerefentry> file is | 
|---|
| 101 | used, or "username%password"  or "DOMAIN\username%password" and the | 
|---|
| 102 | password and workgroup names are used as provided. </para></listitem> | 
|---|
| 103 | </varlistentry> | 
|---|
| 104 |  | 
|---|
| 105 |  | 
|---|
| 106 |  | 
|---|
| 107 | <varlistentry> | 
|---|
| 108 | <term>-C name</term> | 
|---|
| 109 | <listitem><para>The owner of a file or directory can be changed | 
|---|
| 110 | to the name given using the <parameter>-C</parameter> option. | 
|---|
| 111 | The name can be a sid in the form S-1-x-y-z or a name resolved | 
|---|
| 112 | against the server specified in the first argument. </para> | 
|---|
| 113 |  | 
|---|
| 114 | <para>This command is a shortcut for -M OWNER:name. | 
|---|
| 115 | </para></listitem> | 
|---|
| 116 | </varlistentry> | 
|---|
| 117 |  | 
|---|
| 118 |  | 
|---|
| 119 |  | 
|---|
| 120 | <varlistentry> | 
|---|
| 121 | <term>-G name</term> | 
|---|
| 122 | <listitem><para>The group owner of a file or directory can | 
|---|
| 123 | be changed to the name given using the <parameter>-G</parameter> | 
|---|
| 124 | option.  The name can be a sid in the form S-1-x-y-z or a name | 
|---|
| 125 | resolved against the server specified n the first argument. | 
|---|
| 126 | </para> | 
|---|
| 127 |  | 
|---|
| 128 | <para>This command is a shortcut for -M GROUP:name.</para></listitem> | 
|---|
| 129 | </varlistentry> | 
|---|
| 130 |  | 
|---|
| 131 |  | 
|---|
| 132 |  | 
|---|
| 133 | <varlistentry> | 
|---|
| 134 | <term>--numeric</term> | 
|---|
| 135 | <listitem><para>This option displays all ACL information in numeric | 
|---|
| 136 | format.  The default is to convert SIDs to names and ACE types | 
|---|
| 137 | and masks to a readable string format.  </para></listitem> | 
|---|
| 138 | </varlistentry> | 
|---|
| 139 |  | 
|---|
| 140 | <varlistentry> | 
|---|
| 141 | <term>-t</term> | 
|---|
| 142 | <listitem><para> | 
|---|
| 143 | Don't actually do anything, only validate the correctness of | 
|---|
| 144 | the arguments. | 
|---|
| 145 | </para></listitem> | 
|---|
| 146 | </varlistentry> | 
|---|
| 147 |  | 
|---|
| 148 | &stdarg.help; | 
|---|
| 149 | &stdarg.server.debug; | 
|---|
| 150 | &popt.common.samba; | 
|---|
| 151 | </variablelist> | 
|---|
| 152 | </refsect1> | 
|---|
| 153 |  | 
|---|
| 154 |  | 
|---|
| 155 | <refsect1> | 
|---|
| 156 | <title>ACL FORMAT</title> | 
|---|
| 157 |  | 
|---|
| 158 | <para>The format of an ACL is one or more ACL entries separated by | 
|---|
| 159 | either commas or newlines.  An ACL entry is one of the following: </para> | 
|---|
| 160 |  | 
|---|
| 161 | <para><programlisting> | 
|---|
| 162 | REVISION:<revision number> | 
|---|
| 163 | OWNER:<sid or name> | 
|---|
| 164 | GROUP:<sid or name> | 
|---|
| 165 | ACL:<sid or name>:<type>/<flags>/<mask> | 
|---|
| 166 | </programlisting></para> | 
|---|
| 167 |  | 
|---|
| 168 |  | 
|---|
| 169 | <para>The revision of the ACL specifies the internal Windows | 
|---|
| 170 | NT ACL revision for the security descriptor. | 
|---|
| 171 | If not specified it defaults to 1.  Using values other than 1 may | 
|---|
| 172 | cause strange behaviour. </para> | 
|---|
| 173 |  | 
|---|
| 174 | <para>The owner and group specify the owner and group sids for the | 
|---|
| 175 | object.  If a SID in the format S-1-x-y-z is specified this is used, | 
|---|
| 176 | otherwise the name specified is resolved using the server on which | 
|---|
| 177 | the file or directory resides. </para> | 
|---|
| 178 |  | 
|---|
| 179 | <para>ACLs specify permissions granted to the SID.  This SID again | 
|---|
| 180 | can be specified in S-1-x-y-z format or as a name in which case | 
|---|
| 181 | it is resolved against the server on which the file or directory | 
|---|
| 182 | resides.  The type, flags and mask values determine the type of | 
|---|
| 183 | access granted to the SID. </para> | 
|---|
| 184 |  | 
|---|
| 185 | <para>The type can be either ALLOWED or DENIED to allow/deny access | 
|---|
| 186 | to the SID. The flags values are generally zero for file ACLs and | 
|---|
| 187 | either 9 or 2 for directory ACLs.  Some common flags are: </para> | 
|---|
| 188 |  | 
|---|
| 189 | <itemizedlist> | 
|---|
| 190 | <listitem><para><constant>#define SEC_ACE_FLAG_OBJECT_INHERIT           0x1</constant></para></listitem> | 
|---|
| 191 | <listitem><para><constant>#define SEC_ACE_FLAG_CONTAINER_INHERIT        0x2</constant></para></listitem> | 
|---|
| 192 | <listitem><para><constant>#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT     0x4</constant></para></listitem> | 
|---|
| 193 | <listitem><para><constant>#define SEC_ACE_FLAG_INHERIT_ONLY             0x8</constant></para></listitem> | 
|---|
| 194 | </itemizedlist> | 
|---|
| 195 |  | 
|---|
| 196 | <para>At present flags can only be specified as decimal or | 
|---|
| 197 | hexadecimal values.</para> | 
|---|
| 198 |  | 
|---|
| 199 | <para>The mask is a value which expresses the access right | 
|---|
| 200 | granted to the SID. It can be given as a decimal or hexadecimal value, | 
|---|
| 201 | or by using one of the following text strings which map to the NT | 
|---|
| 202 | file permissions of the same name. </para> | 
|---|
| 203 |  | 
|---|
| 204 | <itemizedlist> | 
|---|
| 205 | <listitem><para><emphasis>R</emphasis> - Allow read access </para></listitem> | 
|---|
| 206 | <listitem><para><emphasis>W</emphasis> - Allow write access</para></listitem> | 
|---|
| 207 | <listitem><para><emphasis>X</emphasis> - Execute permission on the object</para></listitem> | 
|---|
| 208 | <listitem><para><emphasis>D</emphasis> - Delete the object</para></listitem> | 
|---|
| 209 | <listitem><para><emphasis>P</emphasis> - Change permissions</para></listitem> | 
|---|
| 210 | <listitem><para><emphasis>O</emphasis> - Take ownership</para></listitem> | 
|---|
| 211 | </itemizedlist> | 
|---|
| 212 |  | 
|---|
| 213 |  | 
|---|
| 214 | <para>The following combined permissions can be specified:</para> | 
|---|
| 215 |  | 
|---|
| 216 |  | 
|---|
| 217 | <itemizedlist> | 
|---|
| 218 | <listitem><para><emphasis>READ</emphasis> -  Equivalent to 'RX' | 
|---|
| 219 | permissions</para></listitem> | 
|---|
| 220 | <listitem><para><emphasis>CHANGE</emphasis> - Equivalent to 'RXWD' permissions | 
|---|
| 221 | </para></listitem> | 
|---|
| 222 | <listitem><para><emphasis>FULL</emphasis> - Equivalent to 'RWXDPO' | 
|---|
| 223 | permissions</para></listitem> | 
|---|
| 224 | </itemizedlist> | 
|---|
| 225 | </refsect1> | 
|---|
| 226 |  | 
|---|
| 227 | <refsect1> | 
|---|
| 228 | <title>EXIT STATUS</title> | 
|---|
| 229 |  | 
|---|
| 230 | <para>The <command>smbcacls</command> program sets the exit status | 
|---|
| 231 | depending on the success or otherwise of the operations performed. | 
|---|
| 232 | The exit status may be one of the following values. </para> | 
|---|
| 233 |  | 
|---|
| 234 | <para>If the operation succeeded, smbcacls returns and exit | 
|---|
| 235 | status of 0.  If <command>smbcacls</command> couldn't connect to the specified server, | 
|---|
| 236 | or there was an error getting or setting the ACLs, an exit status | 
|---|
| 237 | of 1 is returned.  If there was an error parsing any command line | 
|---|
| 238 | arguments, an exit status of 2 is returned. </para> | 
|---|
| 239 | </refsect1> | 
|---|
| 240 |  | 
|---|
| 241 | <refsect1> | 
|---|
| 242 | <title>VERSION</title> | 
|---|
| 243 |  | 
|---|
| 244 | <para>This man page is correct for version 3 of the Samba suite.</para> | 
|---|
| 245 | </refsect1> | 
|---|
| 246 |  | 
|---|
| 247 | <refsect1> | 
|---|
| 248 | <title>AUTHOR</title> | 
|---|
| 249 |  | 
|---|
| 250 | <para>The original Samba software and related utilities | 
|---|
| 251 | were created by Andrew Tridgell. Samba is now developed | 
|---|
| 252 | by the Samba Team as an Open Source project similar | 
|---|
| 253 | to the way the Linux kernel is developed.</para> | 
|---|
| 254 |  | 
|---|
| 255 | <para><command>smbcacls</command> was written by Andrew Tridgell | 
|---|
| 256 | and Tim Potter.</para> | 
|---|
| 257 |  | 
|---|
| 258 | <para>The conversion to DocBook for Samba 2.2 was done | 
|---|
| 259 | by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done | 
|---|
| 260 | by Alexander Bokovoy.</para> | 
|---|
| 261 | </refsect1> | 
|---|
| 262 |  | 
|---|
| 263 | </refentry> | 
|---|