summaryrefslogtreecommitdiff
path: root/net/samba420/files/man/smbcacls.1
diff options
context:
space:
mode:
Diffstat (limited to 'net/samba420/files/man/smbcacls.1')
-rw-r--r--net/samba420/files/man/smbcacls.11044
1 files changed, 1044 insertions, 0 deletions
diff --git a/net/samba420/files/man/smbcacls.1 b/net/samba420/files/man/smbcacls.1
new file mode 100644
index 000000000000..b3cf79acd71b
--- /dev/null
+++ b/net/samba420/files/man/smbcacls.1
@@ -0,0 +1,1044 @@
+'\" t
+.\" Title: smbcacls
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 08/09/2022
+.\" Manual: User Commands
+.\" Source: Samba 4.16.4
+.\" Language: English
+.\"
+.TH "SMBCACLS" "1" "08/09/2022" "Samba 4\&.16\&.4" "User Commands"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+smbcacls \- Set or get ACLs on an NT file or directory names
+.SH "SYNOPSIS"
+.HP \w'\ 'u
+smbcacls {//server/share} {/filename} [\-D|\-\-delete=ACL] [\-M|\-\-modify=ACL] [\-a|\-\-add=ACL] [\-S|\-\-set=ACLS] [\-C|\-\-chown=USERNAME] [\-G|\-\-chgrp=GROUPNAME] [\-I|\-\-inherit=STRING] [\-\-propagate\-inheritance] [\-\-numeric] [\-\-sddl] [\-\-query\-security\-info=INT] [\-\-set\-security\-info=INT] [\-t|\-\-test\-args] [\-\-domain\-sid=SID] [\-x|\-\-maximum\-access] [\-?|\-\-help] [\-\-usage] [\-d|\-\-debuglevel=DEBUGLEVEL] [\-\-debug\-stdout] [\-\-configfile=CONFIGFILE] [\-\-option=name=value] [\-l|\-\-log\-basename=LOGFILEBASE] [\-\-leak\-report] [\-\-leak\-report\-full] [\-R|\-\-name\-resolve=NAME\-RESOLVE\-ORDER] [\-O|\-\-socket\-options=SOCKETOPTIONS] [\-m|\-\-max\-protocol=MAXPROTOCOL] [\-n|\-\-netbiosname=NETBIOSNAME] [\-\-netbios\-scope=SCOPE] [\-W|\-\-workgroup=WORKGROUP] [\-\-realm=REALM] [\-U|\-\-user=[DOMAIN/]USERNAME[%PASSWORD]] [\-N|\-\-no\-pass] [\-\-password=STRING] [\-\-pw\-nt\-hash] [\-A|\-\-authentication\-file=FILE] [\-P|\-\-machine\-pass] [\-\-simple\-bind\-dn=DN] [\-\-use\-kerberos=desired|required|off] [\-\-use\-krb5\-ccache=CCACHE] [\-\-use\-winbind\-ccache] [\-\-client\-protection=sign|encrypt|off] [\-V|\-\-version]
+.SH "DESCRIPTION"
+.PP
+This tool is part of the
+\fBsamba\fR(7)
+suite\&.
+.PP
+The
+smbcacls
+program manipulates NT Access Control Lists (ACLs) on SMB file shares\&. An ACL is comprised zero or more Access Control Entries (ACEs), which define access restrictions for a specific user or group\&.
+.SH "OPTIONS"
+.PP
+The following options are available to the
+smbcacls
+program\&. The format of ACLs is described in the section ACL FORMAT
+.PP
+\-a|\-\-add acl
+.RS 4
+Add the entries specified to the ACL\&. Existing access control entries are unchanged\&.
+.RE
+.PP
+\-M|\-\-modify acl
+.RS 4
+Modify the mask value (permissions) for the ACEs specified on the command line\&. An error will be printed for each ACE specified that was not already present in the object\*(Aqs ACL\&.
+.RE
+.PP
+\-D|\-\-delete acl
+.RS 4
+Delete any ACEs specified on the command line\&. An error will be printed for each ACE specified that was not already present in the object\*(Aqs ACL\&.
+.RE
+.PP
+\-S|\-\-set acl
+.RS 4
+This command sets the ACL on the object with only what is specified on the command line\&. Any existing ACL is erased\&. Note that the ACL specified must contain at least a revision, type, owner and group for the call to succeed\&.
+.RE
+.PP
+\-C|\-\-chown name
+.RS 4
+The owner of a file or directory can be changed to the name given using the
+\fI\-C\fR
+option\&. The name can be a sid in the form S\-1\-x\-y\-z or a name resolved against the server specified in the first argument\&.
+.sp
+This command is a shortcut for \-M OWNER:name\&.
+.RE
+.PP
+\-G|\-\-chgrp name
+.RS 4
+The group owner of a file or directory can be changed to the name given using the
+\fI\-G\fR
+option\&. The name can be a sid in the form S\-1\-x\-y\-z or a name resolved against the server specified n the first argument\&.
+.sp
+This command is a shortcut for \-M GROUP:name\&.
+.RE
+.PP
+\-I|\-\-inherit allow|remove|copy
+.RS 4
+Set or unset the windows "Allow inheritable permissions" check box using the
+\fI\-I\fR
+option\&. To set the check box pass allow\&. To unset the check box pass either remove or copy\&. Remove will remove all inherited ACEs\&. Copy will copy all the inherited ACEs\&.
+.RE
+.PP
+\-\-propagate\-inheritance
+.RS 4
+Add, modify, delete or set ACEs on an entire directory tree according to the inheritance flags\&. Refer to the INHERITANCE section for details\&.
+.RE
+.PP
+\-\-numeric
+.RS 4
+This option displays all ACL information in numeric format\&. The default is to convert SIDs to names and ACE types and masks to a readable string format\&.
+.RE
+.PP
+\-m|\-\-max\-protocol PROTOCOL_NAME
+.RS 4
+This allows the user to select the highest SMB protocol level that smbcacls will use to connect to the server\&. By default this is set to NT1, which is the highest available SMB1 protocol\&. To connect using SMB2 or SMB3 protocol, use the strings SMB2 or SMB3 respectively\&. Note that to connect to a Windows 2012 server with encrypted transport selecting a max\-protocol of SMB3 is required\&.
+.RE
+.PP
+\-t|\-\-test\-args
+.RS 4
+Don\*(Aqt actually do anything, only validate the correctness of the arguments\&.
+.RE
+.PP
+\-\-query\-security\-info FLAGS
+.RS 4
+The security\-info flags for queries\&.
+.RE
+.PP
+\-\-set\-security\-info FLAGS
+.RS 4
+The security\-info flags for queries\&.
+.RE
+.PP
+\-\-sddl
+.RS 4
+Output and input acls in sddl format\&.
+.RE
+.PP
+\-\-domain\-sid SID
+.RS 4
+SID used for sddl processing\&.
+.RE
+.PP
+\-x|\-\-maximum\-access
+.RS 4
+When displaying an ACL additionally query the server for effective maximum permissions\&. Note that this is only supported with SMB protocol version 2 or higher\&.
+.RE
+.PP
+\-?|\-\-help
+.RS 4
+Print a summary of command line options\&.
+.RE
+.PP
+\-\-usage
+.RS 4
+Display brief usage message\&.
+.RE
+.PP
+\-d|\-\-debuglevel=DEBUGLEVEL
+.RS 4
+\fIlevel\fR
+is an integer from 0 to 10\&. The default value if this parameter is not specified is 1 for client applications\&.
+.sp
+The higher this value, the more detail will be logged to the log files about the activities of the server\&. At level 0, only critical errors and serious warnings will be logged\&. Level 1 is a reasonable level for day\-to\-day running \- it generates a small amount of information about operations carried out\&.
+.sp
+Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBlog level\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.RE
+.PP
+\-\-debug\-stdout
+.RS 4
+This will redirect debug output to STDOUT\&. By default all clients are logging to STDERR\&.
+.RE
+.PP
+\-\-configfile=<configuration file>
+.RS 4
+The file specified contains the configuration details required by the client\&. The information in this file can be general for client and server or only provide client specific like options such as
+\m[blue]\fBclient smb encrypt\fR\m[]\&. See
+smb\&.conf
+for more information\&. The default configuration file name is determined at compile time\&.
+.RE
+.PP
+\-\-option=<name>=<value>
+.RS 4
+Set the
+\fBsmb.conf\fR(5)
+option "<name>" to value "<value>" from the command line\&. This overrides compiled\-in defaults and options read from the configuration file\&. If a name or a value includes a space, wrap whole \-\-option=name=value into quotes\&.
+.RE
+.PP
+\-l|\-\-log\-basename=logdirectory
+.RS 4
+Base directory name for log/debug files\&. The extension
+\fB"\&.progname"\fR
+will be appended (e\&.g\&. log\&.smbclient, log\&.smbd, etc\&.\&.\&.)\&. The log file is never removed by the client\&.
+.RE
+.PP
+\-\-leak\-report
+.RS 4
+Enable talloc leak reporting on exit\&.
+.RE
+.PP
+\-\-leak\-report\-full
+.RS 4
+Enable full talloc leak reporting on exit\&.
+.RE
+.PP
+\-V|\-\-version
+.RS 4
+Prints the program version number\&.
+.RE
+.PP
+\-R|\-\-name\-resolve=NAME\-RESOLVE\-ORDER
+.RS 4
+This option is used to determine what naming services and in what order to resolve host names to IP addresses\&. The option takes a space\-separated string of different name resolution options\&. The best ist to wrap the whole \-\-name\-resolve=NAME\-RESOLVE\-ORDER into quotes\&.
+.sp
+The options are: "lmhosts", "host", "wins" and "bcast"\&. They cause names to be resolved as follows:
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBlmhosts\fR: Lookup an IP address in the Samba lmhosts file\&. If the line in lmhosts has no name type attached to the NetBIOS name (see the
+\fBlmhosts\fR(5)
+for details) then any name type matches for lookup\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBhost\fR: Do a standard host name to IP address resolution, using the system
+/etc/hosts, NIS, or DNS lookups\&. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the
+/etc/nsswitch\&.conf
+file)\&. Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBwins\fR: Query a name with the IP address listed in the
+\fIwins server\fR
+parameter\&. If no WINS server has been specified this method will be ignored\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBbcast\fR: Do a broadcast on each of the known local interfaces listed in the
+\fIinterfaces\fR
+parameter\&. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet\&.
+.RE
+.sp
+.RE
+If this parameter is not set then the name resolve order defined in the
+smb\&.conf
+file parameter (\m[blue]\fBname resolve order\fR\m[]) will be used\&.
+.sp
+The default order is lmhosts, host, wins, bcast\&. Without this parameter or any entry in the
+\m[blue]\fBname resolve order\fR\m[]
+parameter of the
+smb\&.conf
+file, the name resolution methods will be attempted in this order\&.
+.RE
+.PP
+\-O|\-\-socket\-options=SOCKETOPTIONS
+.RS 4
+TCP socket options to set on the client socket\&. See the socket options parameter in the
+smb\&.conf
+manual page for the list of valid options\&.
+.RE
+.PP
+\-m|\-\-max\-protocol=MAXPROTOCOL
+.RS 4
+The value of the parameter (a string) is the highest protocol level that will be supported by the client\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBclient max protocol\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.RE
+.PP
+\-n|\-\-netbiosname=NETBIOSNAME
+.RS 4
+This option allows you to override the NetBIOS name that Samba uses for itself\&. This is identical to setting the
+\m[blue]\fBnetbios name\fR\m[]
+parameter in the
+smb\&.conf
+file\&. However, a command line setting will take precedence over settings in
+smb\&.conf\&.
+.RE
+.PP
+\-\-netbios\-scope=SCOPE
+.RS 4
+This specifies a NetBIOS scope that
+nmblookup
+will use to communicate with when generating NetBIOS names\&. For details on the use of NetBIOS scopes, see rfc1001\&.txt and rfc1002\&.txt\&. NetBIOS scopes are
+\fIvery\fR
+rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with\&.
+.RE
+.PP
+\-W|\-\-workgroup=WORKGROUP
+.RS 4
+Set the SMB domain of the username\&. This overrides the default domain which is the domain defined in smb\&.conf\&. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM)\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBworkgroup\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.RE
+.PP
+\-r|\-\-realm=REALM
+.RS 4
+Set the realm for the domain\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBrealm\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.RE
+.PP
+\-U|\-\-user=[DOMAIN\e]USERNAME[%PASSWORD]
+.RS 4
+Sets the SMB username or username and password\&.
+.sp
+If %PASSWORD is not specified, the user will be prompted\&. The client will first check the
+\fBUSER\fR
+environment variable (which is also permitted to also contain the password seperated by a %), then the
+\fBLOGNAME\fR
+variable (which is not permitted to contain a password) and if either exists, the value is used\&. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used\&.
+.sp
+A third option is to use a credentials file which contains the plaintext of the username and password\&. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables\&. If this method is used, make certain that the permissions on the file restrict access from unwanted users\&. See the
+\fI\-A\fR
+for more details\&.
+.sp
+Be cautious about including passwords in scripts or passing user\-supplied values onto the command line\&. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with
+kinit\&.
+.sp
+While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race\&.
+.RE
+.PP
+\-N|\-\-no\-pass
+.RS 4
+If specified, this parameter suppresses the normal password prompt from the client to the user\&. This is useful when accessing a service that does not require a password\&.
+.sp
+Unless a password is specified on the command line or this parameter is specified, the client will request a password\&.
+.sp
+If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used\&.
+.RE
+.PP
+\-\-password
+.RS 4
+Specify the password on the commandline\&.
+.sp
+Be cautious about including passwords in scripts or passing user\-supplied values onto the command line\&. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with
+kinit\&.
+.sp
+If \-\-password is not specified, the tool will check the
+\fBPASSWD\fR
+environment variable, followed by
+\fBPASSWD_FD\fR
+which is expected to contain an open file descriptor (FD) number\&.
+.sp
+Finally it will check
+\fBPASSWD_FILE\fR
+(containing a file path to be opened)\&. The file should only contain the password\&. Make certain that the permissions on the file restrict access from unwanted users!
+.sp
+While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race\&.
+.RE
+.PP
+\-\-pw\-nt\-hash
+.RS 4
+The supplied password is the NT hash\&.
+.RE
+.PP
+\-A|\-\-authentication\-file=filename
+.RS 4
+This option allows you to specify a file from which to read the username and password used in the connection\&. The format of the file is:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ username = <value>
+ password = <value>
+ domain = <value>
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Make certain that the permissions on the file restrict access from unwanted users!
+.RE
+.PP
+\-P|\-\-machine\-pass
+.RS 4
+Use stored machine account password\&.
+.RE
+.PP
+\-\-simple\-bind\-dn=DN
+.RS 4
+DN to use for a simple bind\&.
+.RE
+.PP
+\-\-use\-kerberos=desired|required|off
+.RS 4
+This parameter determines whether Samba client tools will try to authenticate using Kerberos\&. For Kerberos authentication you need to use dns names instead of IP addresses when connnecting to a service\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBclient use kerberos\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.RE
+.PP
+\-\-use\-krb5\-ccache=CCACHE
+.RS 4
+Specifies the credential cache location for Kerberos authentication\&.
+.sp
+This will set \-\-use\-kerberos=required too\&.
+.RE
+.PP
+\-\-use\-winbind\-ccache
+.RS 4
+Try to use the credential cache by winbind\&.
+.RE
+.PP
+\-\-client\-protection=sign|encrypt|off
+.RS 4
+Sets the connection protection the client tool should use\&.
+.sp
+Note that specifying this parameter here will override the
+\m[blue]\fBclient protection\fR\m[]
+parameter in the
+smb\&.conf
+file\&.
+.sp
+In case you need more fine grained control you can use:
+\-\-option=clientsmbencrypt=OPTION,
+\-\-option=clientipcsigning=OPTION,
+\-\-option=clientsigning=OPTION\&.
+.RE
+.SH "ACL FORMAT"
+.PP
+The format of an ACL is one or more entries separated by either commas or newlines\&. An ACL entry is one of the following:
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
+
+REVISION:<revision number>
+OWNER:<sid or name>
+GROUP:<sid or name>
+ACL:<sid or name>:<type>/<flags>/<mask>
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Control bits related to automatic inheritance
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIOD\fR
+\- "Owner Defaulted" \- Indicates that the SID of the owner of the security descriptor was provided by a default mechanism\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIGD\fR
+\- "Group Defaulted" \- Indicates that the SID of the security descriptor group was provided by a default mechanism\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIDP\fR
+\- "DACL Present" \- Indicates a security descriptor that has a discretionary access control list (DACL)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIDD\fR
+\- "DACL Defaulted" \- Indicates a security descriptor with a default DACL\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISP\fR
+\- "SACL Present" \- Indicates a security descriptor that has a system access control list (SACL)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISD\fR
+\- "SACL Defaulted" \- A default mechanism, rather than the original provider of the security descriptor, provided the SACL\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIDT\fR
+\- "DACL Trusted"
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISS\fR
+\- "Server Security"
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIDR\fR
+\- "DACL Inheritance Required" \- Indicates a required security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISR\fR
+\- "SACL Inheritance Required" \- Indicates a required security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIDI\fR
+\- "DACL Auto Inherited" \- Indicates a security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISI\fR
+\- "SACL Auto Inherited" \- Indicates a security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIPD\fR
+\- "DACL Protected" \- Prevents the DACL of the security descriptor from being modified by inheritable ACEs\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIPS\fR
+\- "SACL Protected" \- Prevents the SACL of the security descriptor from being modified by inheritable ACEs\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIRM\fR
+\- "RM Control Valid" \- Indicates that the resource manager control is valid\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISR\fR
+\- "Self Relative" \- Indicates a self\-relative security descriptor\&.
+.RE
+.sp
+.RE
+.PP
+The revision of the ACL specifies the internal Windows NT ACL revision for the security descriptor\&. If not specified it defaults to 1\&. Using values other than 1 may cause strange behaviour\&.
+.PP
+The owner and group specify the owner and group sids for the object\&. If a SID in the format S\-1\-x\-y\-z is specified this is used, otherwise the name specified is resolved using the server on which the file or directory resides\&.
+.PP
+ACEs are specified with an "ACL:" prefix, and define permissions granted to an SID\&. The SID again can be specified in S\-1\-x\-y\-z format or as a name in which case it is resolved against the server on which the file or directory resides\&. The type, flags and mask values determine the type of access granted to the SID\&.
+.PP
+The type can be either ALLOWED or DENIED to allow/deny access to the SID\&.
+.PP
+The flags field defines how the ACE should be considered when performing inheritance\&.
+smbcacls
+uses these flags when run with
+\fI\-\-propagate\-inheritance\fR\&.
+.PP
+Flags can be specified as decimal or hexadecimal values, or with the respective (XX) aliases, separated by a vertical bar "|"\&.
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI(OI)\fR
+Object Inherit 0x1
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI(CI)\fR
+Container Inherit 0x2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI(NP)\fR
+No Propagate Inherit 0x4
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI(IO)\fR
+Inherit Only 0x8
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI(I)\fR
+ACE was inherited 0x10
+.RE
+.sp
+.RE
+.PP
+The mask is a value which expresses the access right granted to the SID\&. It can be given as a decimal or hexadecimal value, or by using one of the following text strings which map to the NT file permissions of the same name\&.
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIR\fR
+\- Allow read access
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIW\fR
+\- Allow write access
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIX\fR
+\- Execute permission on the object
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fID\fR
+\- Delete the object
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIP\fR
+\- Change permissions
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIO\fR
+\- Take ownership
+.RE
+.sp
+.RE
+.PP
+The following combined permissions can be specified:
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIREAD\fR
+\- Equivalent to \*(AqRX\*(Aq permissions
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fICHANGE\fR
+\- Equivalent to \*(AqRXWD\*(Aq permissions
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIFULL\fR
+\- Equivalent to \*(AqRWXDPO\*(Aq permissions
+.RE
+.SH "INHERITANCE"
+.PP
+Per\-ACE inheritance flags can be set in the ACE flags field\&. By default, inheritable ACEs e\&.g\&. those marked for object inheritance (OI) or container inheritance (CI), are not propagated to sub\-files or folders\&. However, with the
+\fI\-\-propagate\-inheritance\fR
+argument specified, such ACEs are automatically propagated according to some inheritance rules\&.
+.RS
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Inheritable (OI)(OI) ACE flags can only be applied to folders\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Any inheritable ACEs applied to sub\-files or folders are marked with the inherited (I) flag\&. Inheritable ACE(s) are applied to folders unless the no propagation (NP) flag is set\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+When an ACE with the (OI) flag alone set is progagated to a child folder the inheritance only flag (IO) is also applied\&. This indicates the permissions associated with the ACE don\*(Aqt apply to the folder itself (only to it\*(Aqs child files)\&. When applying the ACE to a child file the ACE is inherited as normal\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+When an ace with the (CI) flag alone set is propagated to a child file there is no effect, when propagated to a child folder it is inherited as normal\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+When an ACE that has both (OI) & (CI) flags set the ACE is inherited as normal by both folders and files\&.
+.RE
+.sp
+.RE
+.PP
+(OI)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-parent/ (OI)(READ)
+| +\-file\&.1 (I)(READ)
+| +\-nested/ (OI)(IO)(I)(READ)
+ | +\-file\&.2 (I)(READ)
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(CI)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-parent/ (CI)(READ)
+| +\-file\&.1
+| +\-nested/ (CI)(I)(READ)
+ | +\-file\&.2
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(OI)(CI)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-parent/ (OI)(CI)(READ)
+| +\-file\&.1 (I)(READ)
+| +\-nested/ (OI)(CI)(I)(READ)
+ | +\-file\&.2 (I)(READ)
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(OI)(NP)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-oi_dir/ (OI)(NP)(READ)
+| +\-file\&.1 (I)(READ)
+| +\-nested/
+| +\-file\&.2
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(CI)(NP)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-oi_dir/ (CI)(NP)(READ)
+| +\-file\&.1
+| +\-nested/ (I)(READ)
+| +\-file\&.2
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(OI)(CI)(NP)(READ) added to parent folder
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
++\-parent/ (CI)(OI)(NP)(READ)
+| +\-file\&.1 (I)(READ)
+| +\-nested/ (I)(READ)
+| +\-file\&.2
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Files and folders with protected ACLs do not allow inheritable permissions (set with
+\fI\-I\fR)\&. Such objects will not receive ACEs flagged for inheritance with (CI) or (OI)\&.
+.SH "EXIT STATUS"
+.PP
+The
+smbcacls
+program sets the exit status depending on the success or otherwise of the operations performed\&. The exit status may be one of the following values\&.
+.PP
+If the operation succeeded, smbcacls returns and exit status of 0\&. If
+smbcacls
+couldn\*(Aqt connect to the specified server, or there was an error getting or setting the ACLs, an exit status of 1 is returned\&. If there was an error parsing any command line arguments, an exit status of 2 is returned\&.
+.SH "VERSION"
+.PP
+This man page is part of version 4\&.16\&.4 of the Samba suite\&.
+.SH "AUTHOR"
+.PP
+The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
+.PP
+smbcacls
+was written by Andrew Tridgell and Tim Potter\&.
+.PP
+The conversion to DocBook for Samba 2\&.2 was done by Gerald Carter\&. The conversion to DocBook XML 4\&.2 for Samba 3\&.0 was done by Alexander Bokovoy\&.