smbcacls.1   [plain text]


.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "SMBCACLS" 1 "" "" ""
.SH NAME
smbcacls \- Set or get ACLs on an NT file or directory names
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 9
\fBsmbcacls\fR {//server/share} {filename} [\-D\ acls] [\-M\ acls] [\-a\ acls] [\-S\ acls] [\-C\ name] [\-G\ name] [\-\-numeric] [\-t] [\-U\ username] [\-h] [\-d]
.ad
.hy

.SH "DESCRIPTION"

.PP
This tool is part of the \fBsamba\fR(7) suite\&.

.PP
The \fBsmbcacls\fR program manipulates NT Access Control Lists (ACLs) on SMB file shares\&.

.SH "OPTIONS"

.PP
The following options are available to the \fBsmbcacls\fR program\&. The format of ACLs is described in the section ACL FORMAT

.TP
\-a acls
Add the ACLs specified to the ACL list\&. Existing access control entries are unchanged\&.

.TP
\-M acls
Modify the mask value (permissions) for the ACLs specified on the command line\&. An error will be printed for each ACL specified that was not already present in the ACL list

.TP
\-D acls
Delete any ACLs specified on the command line\&. An error will be printed for each ACL specified that was not already present in the ACL list\&.

.TP
\-S acls
This command sets the ACLs on the file with only the ones specified on the command line\&. All other ACLs are erased\&. Note that the ACL specified must contain at least a revision, type, owner and group for the call to succeed\&.

.TP
\-U username
Specifies a username used to connect to the specified service\&. The username may be of the form "username" in which case the user is prompted to enter in a password and the workgroup specified in the \fBsmb\&.conf\fR(5) file is used, or "username%password" or "DOMAIN\\username%password" and the password and workgroup names are used as provided\&.

.TP
\-C name
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\&.

This command is a shortcut for \-M OWNER:name\&.

.TP
\-G name
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\&.

This command is a shortcut for \-M GROUP:name\&.

.TP
\-\-numeric
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\&.

.TP
\-t
Don't actually do anything, only validate the correctness of the arguments\&.

.TP
\-h|\-\-help
Print a summary of command line options\&.

.TP
\-V
Prints the program version number\&.

.TP
\-s <configuration file>
The file specified contains the configuration details required by the server\&. The information in this file includes server\-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide\&. See \fIsmb\&.conf\fR for more information\&. The default configuration file name is determined at compile time\&.

.TP
\-d|\-\-debug=debuglevel
\fIdebuglevel\fR is an integer from 0 to 10\&. The default value if this parameter is not specified is zero\&.

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\&.

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\&.

Note that specifying this parameter here will override the log level parameter in the \fIsmb\&.conf\fR file\&.

.TP
\-l|\-\-logfile=logdirectory
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\&.

.SH "ACL FORMAT"

.PP
The format of an ACL is one or more ACL entries separated by either commas or newlines\&. An ACL entry is one of the following:

.PP

.nf
 
REVISION:<revision number>
OWNER:<sid or name>
GROUP:<sid or name>
ACL:<sid or name>:<type>/<flags>/<mask>
.fi


.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
ACLs specify permissions granted to the SID\&. This 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 0 or 1 corresponding to ALLOWED or DENIED access to the SID\&. The flags values are generally zero for file ACLs and either 9 or 2 for directory ACLs\&. Some common flags are:

.TP 3
\(bu
\fB#define SEC_ACE_FLAG_OBJECT_INHERIT 0x1\fR
.TP
\(bu
\fB#define SEC_ACE_FLAG_CONTAINER_INHERIT 0x2\fR
.TP
\(bu
\fB#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT 0x4\fR
.TP
\(bu
\fB#define SEC_ACE_FLAG_INHERIT_ONLY 0x8\fR
.LP

.PP
At present flags can only be specified as decimal or hexadecimal values\&.

.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\&.

.TP 3
\(bu
\fBR\fR \- Allow read access
.TP
\(bu
\fBW\fR \- Allow write access
.TP
\(bu
\fBX\fR \- Execute permission on the object
.TP
\(bu
\fBD\fR \- Delete the object
.TP
\(bu
\fBP\fR \- Change permissions
.TP
\(bu
\fBO\fR \- Take ownership
.LP

.PP
The following combined permissions can be specified:

.TP 3
\(bu
\fBREAD\fR \- Equivalent to 'RX' permissions
.TP
\(bu
\fBCHANGE\fR \- Equivalent to 'RXWD' permissions
.TP
\(bu
\fBFULL\fR \- Equivalent to 'RWXDPO' permissions
.LP

.SH "EXIT STATUS"

.PP
The \fBsmbcacls\fR 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 \fBsmbcacls\fR couldn't 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 correct for version 3\&.0 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
\fBsmbcacls\fR 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\&.