0% found this document useful (0 votes)
9 views

Samba Ad

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Samba Ad

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

www.enterprisenetworkingplanet.com/netos/article.

php/3487081
Back to Article

Join Samba 3 to Your Active Directory Domain


By Carla Schroder
March 2, 2005

A popular thing to do with Samba these days is to join a Samba 3 host to a


Windows Active Directory domain. You may freely set up any number of Samba
servers in a Windows network without joining them to the domain. The advantages
of domain membership are central management and authentication, and single
sign-on. Using Winbind allows Linux clients to log on to the AD domain without
requiring local Linux system accounts, which is a lovely time- and hassle-saver.

Presumably you already have a functioning Active Directory domain, and know how
to run it. AD is very dependent on DNS (domain name system) so I'll assume your
DNS house is also in order. On your Linux box you'll need Samba 3, version 3.0.8
or newer. Plus MIT Kerberos 5, version 1.3.1 or newer, and OpenLDAP. (The Samba
documentation states that Heimdal Kerberos, version 0.6.3 or newer, also works.
The examples in this article use MIT Kerberos.) Debian users need the krb5-user,
krb5-config, krb5-doc, and libkrb53 packages. Red Hat and Fedora users need the
krb5 and krb5-client RPMs.

First you should verify that your Samba installation has been compiled to support
Kerberos, LDAP, Active Directory, and Winbind. Most likely it has, but you need to
make sure. The smbd command has a switch for printing build information. You
will see a lot more lines of output than are shown here:

root@windbag:/usr/sbin# cd /usr/sbin
root@windbag:/usr/sbin# smbd -b | grep LDAP
HAVE_LDAP_H
HAVE_LDAP
HAVE_LDAP_DOMAIN2HOSTLIST
...
root@windbag:/usr/sbin# smbd -b | grep KRB
HAVE_KRB5_H
HAVE_ADDRTYPE_IN_KRB5_ADDRESS
HAVE_KRB5
...
root@windbag:/usr/sbin# smbd -b | grep ADS
WITH_ADS
WITH_ADS
root@windbag:/usr/sbin# smbd -b | grep WINBIND
WITH_WINBIND
WITH_WINBIND

If you are in the unfortunate position of missing any of these, which will be
indicated by a blank line, you need to recompile Samba. See Chapter 37 of the The
Official Samba-3 HOWTO and Reference Guide.

Configure and Test Kerberos

Let's say our Active Directory domain server is bigserver.domain.net, and the
Samba server is named samba1. This is the absolute minimum Kerberos
configuration file, /etc/krb5.conf, for connecting to this domain:

'libdefaults'
default_realm = DOMAIN.NET

'realms' DOMAIN.NET = {
kdc = bigserver.domain.net
}

'domain_realms'
.kerberos.server = DOMAIN.NET

Use uppercase where it shows. Now try to connect, and mind your cases:

# kinit Administrator@DOMAIN.NET
Password for Administrator@DOMAIN.NET

Configure /etc/hosts

Even if your DNS servers are perfect in every way, it is a good idea to add
important servers to your local /etc/hosts file. It speeds up lookups and provides a
fallback in case the DNS servers go down:

www.enterprisenetworkingplanet.com/netos/article.php/3487081
Back to Article
Join Samba 3 to Your Active Directory Domain
By Carla Schroder
March 2, 2005

Configure Samba

This example smb.conf shows a basic setup for a printer server and home shares.
Shares are configured in the usual manner, only the global section changes when
you join to an AD domain.

# Global parameters
'global'
workgroup = BIGSERVER
realm = DOMAIN.NET
preferred master = no
server string = Samba file and print server
security = ADS
encrypt passwords = yes
log level = 3
log file = /var/log/samba/%m
max log size = 50
winbind separator = +
printcap name = cups
printing = cups
idmap uid = 10000-20000
idmap gid = 10000-20000

'homes'
comment = Home Directories
valid users = %S
read only = No
browseable = No

'printers'
comment = All Printers
browseable = no
printable = yes
guest ok = yes

The workgroup is the name of your AD domain. Server string is a comment


describing the server, make this anything you want. Log level runs from 0, for no
logging, to 10, extreme logging. See man smbd.conf for the rest.

Save your changes and run

$ testparm

This checks smb.conf for syntax errors. Any errors must be corrected before going
ahead. Then start up Samba:

# /etc/init.d/samba start

Finally, join your Samba machine to Active Directory:

# net ads join -U Administrator


Administrator's password:
Joined 'SAMBA1' to realm 'DOMAIN.NET.'

Hurrah! Success. The Samba box will now appear as a machine account under
"Computers" in your AD console. Now stop Samba until the final steps are
completed.

www.enterprisenetworkingplanet.com/netos/article.php/3487081
Back to Article

Join Samba 3 to Your Active Directory Domain


By Carla Schroder
March 2, 2005

Enabling Windbind

Debian users may need to install the winbind package separately. RPM users will
find it in the samba-common RPM. First, edit /etc/nsswitch.conf. The first three
lines are the most important; the others vary according to your system:

passwd: compat winbind


group: compat winbind
shadow: compat
hosts: files dns wins
networks: files dns
protocols: db files
services: db files
ethers: db files
rpc: db files
Save your changes, and fire up windbind and Samba:

# winbind
# /etc/init.d/samba start

Now verify that windbind is working. These commands pull lists of users and groups
from the AD domain controller:

# wbinfo -u
BIGSERVER+Administrator
BIGSERVER+Guest
BIGSERVER+cschroder
BIGSERVER+mhall
# wbinfo -g
BIGSERVER+Domain Computers
BIGSERVER+Domain Admins
BIGSERVER+Domain Guests
BIGSERVER+Domain Users

This command verifies that logins and passwords are coming from the AD server,
and not the local machine:

# getent passwd
BIGSERVER+cschroder:x:1000:1000:,,,:/home/BIGSERVER/cschroder:/bin/
bash

If winbind is not working and local authentication is still active, they will not have
the BIGSERVER+ prefix. Finally, as root run net ads info to display the AD server
information.

Troubleshooting

If you've gotten this far and everything works, your Samba server is now a fully-
fledged member of your Active Directory domain, and can be managed like any
other AD object. A nice bonus is you may have local Linux accounts on the Samba
box that are not visible in Active Directory; which means your Samba admins can
SSH directly into the Samba server for admin chores, and not have to fuss with AD
roadblocks.

A good troubleshooting guide is chapter 9 of "Samba-3 by Example" (Adding


UNIX/LINUX Servers and Clients). Also refer to chapter 12 (Identity Mapping) of
"The Official Samba-3 HOWTO and Reference Guide" to learn about winbind in
greater depth.

Resources

 Many good Samba books and howtos here.


 Network Installation of Windows Printers from Samba tells how to
automatically install Windows printers from Samba.
 Chapter 23 of the Linux Cookbook covers Samba basics in depth, including
printing and file sharing, and connecting from both Windows and Linux
clients.

Net command manpage

Name
net — Tool for administration of Samba and remote CIFS servers.

Synopsis
net {<ads|rap|rpc>} [-h] [-w workgroup] [-W myworkgroup] [-U user] [-I ip-address] [-
p port] [-n myname] [-s conffile] [-S server] [-l] [-P] [-d debuglevel] [-V] [--request-
timeout seconds]

DESCRIPTION
This tool is part of the samba(7) suite.

The Samba net utility is meant to work just like the net utility available for windows
and DOS. The first argument should be used to specify the protocol to use when
executing a certain command. ADS is used for ActiveDirectory, RAP is using for old
(Win9x/NT3) clients and RPC can be used for NT4 and Windows 2000. If this
argument is omitted, net will try to determine it automatically. Not all commands are
available on all protocols.

OPTIONS
-h|--help

Print a summary of command line options.

-w target-workgroup

Sets target workgroup or domain. You have to specify either this option or the IP
address or the name of a server.
-W workgroup

Sets client workgroup or domain

-U user

User name to use

-I ip-address

IP address of target server to use. You have to specify either this option or a
target workgroup or a target server.

-p port

Port on the target server to connect to (usually 139 or 445). Defaults to trying
445 first, then 139.

-n|--netbiosname <primary NetBIOS name>

This option allows you to override the NetBIOS name that Samba uses for itself.
This is identical to setting the parameter in the smb.conf file. However, a
command line setting will take precedence over settings in smb.conf.

-s|--configfile <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 smb.conf for more information. The default configuration file
name is determined at compile time.

-S server

Name of target server. You should specify either this option or a target
workgroup or a target IP address.

-l

When listing data, give more information on each item.

-P

Make queries to the external server using the machine account of the local
server.

--request-timeout 30

Let client requests timeout after 30 seconds the default is 10 seconds.


-d|--debuglevel=level

level is an integer from 0 to 10. The default value if this parameter is not
specified is 0.

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 parameter in the
smb.conf file.

COMMANDS
CHANGESECRETPW
This command allows the Samba machine account password to be set from an external
application to a machine account password that has already been stored in Active
Directory. DO NOT USE this command unless you know exactly what you are doing.
The use of this command requires that the force flag (-f) be used also. There will be NO
command prompt. Whatever information is piped into stdin, either by typing at the
command line or otherwise, will be stored as the literal machine password. Do NOT use
this without care and attention as it will overwrite a legitimate machine password
without warning. YOU HAVE BEEN WARNED.

TIME
The NET TIME command allows you to view the time on a remote server or synchronise
the time on the local server with the time on the remote server.

TIME
Without any options, the NET TIME command displays the time on the remote server.

TIME SYSTEM
Displays the time on the remote server in a format ready for /bin/date.

TIME SET
Tries to set the date and time of the local server to that on the remote server using
/bin/date.

TIME ZONE
Displays the timezone in hours from GMT on the remote computer.
[RPC|ADS] JOIN [TYPE] [-U username[%password]] [createupn=UPN]
[createcomputer=OU] [options]
Join a domain. If the account already exists on the server, and [TYPE] is MEMBER, the
machine will attempt to join automatically. (Assuming that the machine has been
created in server manager) Otherwise, a password will be prompted for, and a new
account may be created.

[TYPE] may be PDC, BDC or MEMBER to specify the type of server joining the
domain.

[UPN] (ADS only) set the principalname attribute during the join. The default format is
host/netbiosname@REALM.

[OU] (ADS only) Precreate the computer account in a specific OU. The OU string reads
from top to bottom without RDNs, and is delimited by a '/'. Please note that '\' is used
for escape by both the shell and ldap, so it may need to be doubled or quadrupled to
pass through, and it is not used as a delimiter.

[RPC] OLDJOIN [options]


Join a domain. Use the OLDJOIN option to join the domain using the old style of
domain joining - you need to create a trust account in server manager first.

[RPC|ADS] USER

[RPC|ADS] USER
List all users

[RPC|ADS] USER DELETE target


Delete specified user

[RPC|ADS] USER INFO target


List the domain groups of the specified user.

[RPC|ADS] USER RENAME oldname newname


Rename specified user.

[RPC|ADS] USER ADD name [password] [-F user flags] [-C comment]
Add specified user.

[RPC|ADS] GROUP

[RPC|ADS] GROUP [misc options] [targets]


List user groups.
[RPC|ADS] GROUP DELETE name [misc. options]
Delete specified group.

[RPC|ADS] GROUP ADD name [-C comment]


Create specified group.

[RAP|RPC] SHARE

[RAP|RPC] SHARE [misc. options] [targets]


Enumerates all exported resources (network shares) on target server.

[RAP|RPC] SHARE ADD name=serverpath [-C comment] [-M maxusers] [targets]


Adds a share from a server (makes the export active). Maxusers specifies the number of
users that can be connected to the share simultaneously.

SHARE DELETE sharename


Delete specified share.

[RPC|RAP] FILE

[RPC|RAP] FILE
List all open files on remote server.

[RPC|RAP] FILE CLOSE fileid


Close file with specified fileid on remote server.

[RPC|RAP] FILE INFO fileid


Print information on specified fileid. Currently listed are: file-id, username, locks,
path, permissions.

[RAP|RPC] FILE USER user


List files opened by specified user. Please note that net rap file user does not
work against Samba servers.

SESSION

RAP SESSION
Without any other options, SESSION enumerates all active SMB/CIFS sessions on the
target server.

RAP SESSION DELETE|CLOSE CLIENT_NAME


Close the specified sessions.

RAP SESSION INFO CLIENT_NAME


Give a list with all the open files in specified session.
RAP SERVER DOMAIN
List all servers in specified domain or workgroup. Defaults to local domain.

RAP DOMAIN
Lists all domains and workgroups visible on the current network.

RAP PRINTQ

RAP PRINTQ INFO QUEUE_NAME


Lists the specified print queue and print jobs on the server. If the QUEUE_NAME is
omitted, all queues are listed.

RAP PRINTQ DELETE JOBID


Delete job with specified id.

RAP VALIDATE user [password]


Validate whether the specified user can log in to the remote server. If the password is
not specified on the commandline, it will be prompted.

Note
Currently NOT implemented.

RAP GROUPMEMBER

RAP GROUPMEMBER LIST GROUP


List all members of the specified group.

RAP GROUPMEMBER DELETE GROUP USER


Delete member from group.

RAP GROUPMEMBER ADD GROUP USER


Add member to group.

RAP ADMIN command


Execute the specified command on the remote server. Only works with OS/2 servers.

Note
Currently NOT implemented.

RAP SERVICE

RAP SERVICE START NAME [arguments...]


Start the specified service on the remote server. Not implemented yet.
Note
Currently NOT implemented.

RAP SERVICE STOP


Stop the specified service on the remote server.

Note
Currently NOT implemented.

RAP PASSWORD USER OLDPASS NEWPASS


Change password of USER from OLDPASS to NEWPASS.

LOOKUP

LOOKUP HOST HOSTNAME [TYPE]


Lookup the IP address of the given host with the specified type (netbios suffix). The
type defaults to 0x20 (workstation).

LOOKUP LDAP [DOMAIN]


Give IP address of LDAP server of specified DOMAIN. Defaults to local domain.

LOOKUP KDC [REALM]


Give IP address of KDC for the specified REALM. Defaults to local realm.

LOOKUP DC [DOMAIN]
Give IP's of Domain Controllers for specified DOMAIN. Defaults to local domain.

LOOKUP MASTER DOMAIN


Give IP of master browser for specified DOMAIN or workgroup. Defaults to local domain.

CACHE
Samba uses a general caching interface called 'gencache'. It can be controlled using
'NET CACHE'.

All the timeout parameters support the suffixes:

s - Seconds

m - Minutes

h - Hours

d - Days
w - Weeks

CACHE ADD key data time-out


Add specified key+data to the cache with the given timeout.

CACHE DEL key


Delete key from the cache.

CACHE SET key data time-out


Update data of existing cache entry.

CACHE SEARCH PATTERN


Search for the specified pattern in the cache data.

CACHE LIST
List all current items in the cache.

CACHE FLUSH
Remove all the current items from the cache.

GETLOCALSID [DOMAIN]
Prints the SID of the specified domain, or if the parameter is omitted, the SID of the
local server.

SETLOCALSID S-1-5-21-x-y-z
Sets SID for the local server to the specified SID.

GETDOMAINSID
Prints the local machine SID and the SID of the current domain.

SETDOMAINSID
Sets the SID of the current domain.

GROUPMAP
Manage the mappings between Windows group SIDs and UNIX groups. Common
options include:

 unixgroup - Name of the UNIX group


 ntgroup - Name of the Windows NT group (must be resolvable to a SID
 rid - Unsigned 32-bit integer
 sid - Full SID in the form of "S-1-..."
 type - Type of the group; either 'domain', 'local', or 'builtin'
 comment - Freeform text description of the group
GROUPMAP ADD
Add a new group mapping entry:

net groupmap add {rid=int|sid=string} unixgroup=string \


[type={domain|local}] [ntgroup=string] [comment=string]

GROUPMAP DELETE
Delete a group mapping entry. If more than one group name matches, the first entry
found is deleted.

net groupmap delete {ntgroup=string|sid=SID}

GROUPMAP MODIFY
Update en existing group entry.

net groupmap modify {ntgroup=string|sid=SID} [unixgroup=string] \


[comment=string] [type={domain|local}]

GROUPMAP LIST
List existing group mapping entries.

net groupmap list [verbose] [ntgroup=string] [sid=SID]

MAXRID
Prints out the highest RID currently in use on the local server (by the active 'passdb
backend').

RPC INFO
Print information about the domain of the remote server, such as domain name, domain
sid and number of users and groups.

[RPC|ADS] TESTJOIN
Check whether participation in a domain is still valid.

[RPC|ADS] CHANGETRUSTPW
Force change of domain trust password.

RPC TRUSTDOM

RPC TRUSTDOM ADD DOMAIN


Add a interdomain trust account for DOMAIN. This is in fact a Samba account named
DOMAIN$ with the account flag 'I' (interdomain trust account). This is required for
incoming trusts to work. It makes Samba be a trusted domain of the foreign (trusting)
domain. Users of the Samba domain will be made available in the foreign domain. If the
command is used against localhost it has the same effect as smbpasswd -a -i DOMAIN.
Please note that both commands expect a appropriate UNIX account.
RPC TRUSTDOM DEL DOMAIN
Remove interdomain trust account for DOMAIN. If it is used against localhost it has the
same effect as smbpasswd -x DOMAIN$.

RPC TRUSTDOM ESTABLISH DOMAIN


Establish a trust relationship to a trusted domain. Interdomain account must already be
created on the remote PDC. This is required for outgoing trusts to work. It makes
Samba be a trusting domain of a foreign (trusted) domain. Users of the foreign domain
will be made available in our domain. You'll need winbind and a working idmap config
to make them appear in your system.

RPC TRUSTDOM REVOKE DOMAIN


Abandon relationship to trusted domain

RPC TRUSTDOM LIST


List all interdomain trust relationships.

RPC RIGHTS
This subcommand is used to view and manage Samba's rights assignments (also
referred to as privileges). There are three options currently available: list, grant, and
revoke. More details on Samba's privilege model and its use can be found in the
Samba-HOWTO-Collection.

RPC ABORTSHUTDOWN
Abort the shutdown of a remote server.

RPC SHUTDOWN [-t timeout] [-r] [-f] [-C message]


Shut down the remote server.

-r

Reboot after shutdown.

-f

Force shutting down all applications.

-t timeout

Timeout before system will be shut down. An interactive user of the system can
use this time to cancel the shutdown.

-C message

Display the specified message on the screen to announce the shutdown.


RPC SAMDUMP
Print out sam database of remote server. You need to run this against the PDC, from a
Samba machine joined as a BDC.

RPC VAMPIRE
Export users, aliases and groups from remote server to local server. You need to run this
against the PDC, from a Samba machine joined as a BDC.

RPC VAMPIRE KEYTAB


Dump remote SAM database to local Kerberos keytab file.

RPC VAMPIRE LDIF


Dump remote SAM database to local LDIF file or standard output.

RPC GETSID
Fetch domain SID and store it in the local secrets.tdb.

ADS LEAVE
Make the remote host leave the domain it is part of.

ADS STATUS
Print out status of machine account of the local machine in ADS. Prints out quite some
debug info. Aimed at developers, regular users should use NET ADS TESTJOIN.

ADS PRINTER

ADS PRINTER INFO [PRINTER] [SERVER]


Lookup info for PRINTER on SERVER. The printer name defaults to "*", the server name
defaults to the local host.

ADS PRINTER PUBLISH PRINTER


Publish specified printer using ADS.

ADS PRINTER REMOVE PRINTER


Remove specified printer from ADS directory.

ADS SEARCH EXPRESSION ATTRIBUTES...


Perform a raw LDAP search on a ADS server and dump the results. The expression is a
standard LDAP search expression, and the attributes are a list of LDAP fields to show
in the results.

Example: net ads search '(objectCategory=group)' sAMAccountName


ADS DN DN (attributes)
Perform a raw LDAP search on a ADS server and dump the results. The DN standard
LDAP DN, and the attributes are a list of LDAP fields to show in the result.

Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain'


SAMAccountName

ADS WORKGROUP
Print out workgroup name for specified kerberos realm.

SAM CREATEBUILTINGROUP <NAME>


(Re)Create a BUILTIN group. Only a wellknown set of BUILTIN groups can be
created with this command. This is the list of currently recognized group names:
Administrators, Users, Guests, Power Users, Account Operators, Server Operators, Print
Operators, Backup Operators, Replicator, RAS Servers, Pre-Windows 2000 compatible
Access. This command requires a running Winbindd with idmap allocation properly
configured. The group gid will be allocated out of the winbindd range.

SAM CREATELOCALGROUP <NAME>


Create a LOCAL group (also known as Alias). This command requires a running
Winbindd with idmap allocation properly configured. The group gid will be allocated
out of the winbindd range.

SAM DELETELOCALGROUP <NAME>


Delete an existing LOCAL group (also known as Alias).

SAM MAPUNIXGROUP <NAME>


Map an existing Unix group and make it a Domain Group, the domain group will have
the same name.

SAM UNMAPUNIXGROUP <NAME>


Remove an existing group mapping entry.

SAM ADDMEM <GROUP> <MEMBER>


Add a member to a Local group. The group can be specified only by name, the member
can be specified by name or SID.

SAM DELMEM <GROUP> <MEMBER>


Remove a member from a Local group. The group and the member must be specified by
name.

SAM LISTMEM <GROUP>


List Local group members. The group must be specified by name.

SAM LIST <users|groups|localgroups|builtin|workstations> [verbose]


List the specified set of accounts by name. If verbose is specified, the rid and
description is also provided for each account.

SAM RIGHTS LIST


List all available privileges.

SAM RIGHTS GRANT <NAME> <PRIVILEGE>


Grant one or more privileges to a user.

SAM RIGHTS REVOKE <NAME> <PRIVILEGE>


Revoke one or more privileges from a user.

SAM SHOW <NAME>


Show the full DOMAIN\\NAME the SID and the type for the corresponding account.

SAM SET HOMEDIR <NAME> <DIRECTORY>


Set the home directory for a user account.

SAM SET PROFILEPATH <NAME> <PATH>


Set the profile path for a user account.

SAM SET COMMENT <NAME> <COMMENT>


Set the comment for a user or group account.

SAM SET FULLNAME <NAME> <FULL NAME>


Set the full name for a user account.

SAM SET LOGONSCRIPT <NAME> <SCRIPT>


Set the logon script for a user account.

SAM SET HOMEDRIVE <NAME> <DRIVE>


Set the home drive for a user account.

SAM SET WORKSTATIONS <NAME> <WORKSTATIONS>


Set the workstations a user account is allowed to log in from.
SAM SET DISABLE <NAME>
Set the "disabled" flag for a user account.

SAM SET PWNOTREQ <NAME>


Set the "password not required" flag for a user account.

SAM SET AUTOLOCK <NAME>


Set the "autolock" flag for a user account.

SAM SET PWNOEXP <NAME>


Set the "password do not expire" flag for a user account.

SAM SET PWDMUSTCHANGENOW <NAME> [yes|no]


Set or unset the "password must change" flag for a user account.

SAM POLICY LIST


List the available account policies.

SAM POLICY SHOW <account policy>


Show the account policy value.

SAM POLICY SET <account policy> <value>


Set a value for the account policy. Valid values can be: "forever", "never", "off", or a
number.

SAM PROVISION
Only available if ldapsam:editposix is set and winbindd is running. Properly populates
the ldap tree with the basic accounts (Administrator) and groups (Domain Users,
Domain Admins, Domain Guests) on the ldap tree.

IDMAP DUMP <local tdb file name>


Dumps the mappings contained in the local tdb file specified. This command is useful to
dump only the mappings produced by the idmap_tdb backend.

IDMAP RESTORE [input file]


Restore the mappings from the specified file or stdin.

IDMAP SECRET <DOMAIN>|ALLOC <secret>


Store a secret for the specified domain, used primarily for domains that use idmap_ldap
as a backend. In this case the secret is used as the password for the user DN used to bind
to the ldap server.

USERSHARE
Starting with version 3.0.23, a Samba server now supports the ability for non-root users
to add user defined shares to be exported using the "net usershare" commands.

To set this up, first set up your smb.conf by adding to the [global] section: usershare
path = /usr/local/samba/lib/usershares Next create the directory
/usr/local/samba/lib/usershares, change the owner to root and set the group owner to the
UNIX group who should have the ability to create usershares, for example a group
called "serverops". Set the permissions on /usr/local/samba/lib/usershares to 01770.
(Owner and group all access, no access for others, plus the sticky bit, which means that
a file in that directory can be renamed or deleted only by the owner of the file). Finally,
tell smbd how many usershares you will allow by adding to the [global] section of
smb.conf a line such as : usershare max shares = 100. To allow 100 usershare
definitions. Now, members of the UNIX group "serverops" can create user defined
shares on demand using the commands below.

The usershare commands are:

net usershare add sharename path [comment [acl] [guest_ok=[y|n]]] - to add or change a user
defined share.

net usershare delete sharename - to delete a user defined share.

net usershare info [-l|--long] [wildcard sharename] - to print info about a user defined share.

net usershare list [-l|--long] [wildcard sharename] - to list user defined shares.

USERSHARE ADD sharename path [comment] [acl] [guest_ok=[y|n]]


Add or replace a new user defined share, with name "sharename".

"path" specifies the absolute pathname on the system to be exported. Restrictions may
be put on this, see the global smb.conf parameters: "usershare owner only", "usershare
prefix allow list", and "usershare prefix deny list".

The optional "comment" parameter is the comment that will appear on the share when
browsed to by a client.

The optional "acl" field specifies which users have read and write access to the entire
share. Note that guest connections are not allowed unless the smb.conf parameter
"usershare allow guests" has been set. The definition of a user defined share acl is:
"user:permission", where user is a valid username on the system and permission can be
"F", "R", or "D". "F" stands for "full permissions", ie. read and write permissions. "D"
stands for "deny" for a user, ie. prevent this user from accessing this share. "R" stands
for "read only", ie. only allow read access to this share (no creation of new files or
directories or writing to files).

The default if no "acl" is given is "Everyone:R", which means any authenticated user
has read-only access.

The optional "guest_ok" has the same effect as the parameter of the same name in
smb.conf, in that it allows guest access to this user defined share. This parameter is only
allowed if the global parameter "usershare allow guests" has been set to true in the
smb.conf.

There is no separate command to modify an existing user defined share, just use the "net
usershare add [sharename]" command using the same sharename as the one you wish to
modify and specify the new options you wish. The Samba smbd daemon notices user defined
share modifications at connect time so will see the change immediately, there is no need to
restart smbd on adding, deleting or changing a user defined share.

USERSHARE DELETE sharename


Deletes the user defined share by name. The Samba smbd daemon immediately notices
this change, although it will not disconnect any users currently connected to the deleted
share.

USERSHARE INFO [-l|--long] [wildcard sharename]


Get info on user defined shares owned by the current user matching the given pattern, or
all users.

net usershare info on its own dumps out info on the user defined shares that were
created by the current user, or restricts them to share names that match the given
wildcard pattern ('*' matches one or more characters, '?' matches only one character). If
the '-l' or '--long' option is also given, it prints out info on user defined shares created by
other users.

The information given about a share looks like: [foobar] path=/home/jeremy


comment=testme usershare_acl=Everyone:F guest_ok=n And is a list of the current
settings of the user defined share that can be modified by the "net usershare add"
command.

USERSHARE LIST [-l|--long] wildcard sharename


List all the user defined shares owned by the current user matching the given pattern, or
all users.

net usershare list on its own list out the names of the user defined shares that were
created by the current user, or restricts the list to share names that match the given
wildcard pattern ('*' matches one or more characters, '?' matches only one character). If
the '-l' or '--long' option is also given, it includes the names of user defined shares
created by other users.
CONF
Starting with version 3.2.0, a Samba server can be configured by data stored in registry.
This configuration data can be edited with the new "net conf" commands.

The deployment of this configuration data can be activated in two levels from the
smb.conf file: Share definitions from registry are activated by setting registry shares
to “yes” in the [global] section and global configuration options are activated by setting
include = registry in the [global] section for a mixed configuration or by setting config
backend = registry in the [global] section for a registry-only configuration. See the
smb.conf(5) manpage for details.

The conf commands are:

net conf list - Dump the complete configuration in smb.conf like format.

net conf import - Import configuration from file in smb.conf format.

net conf listshares - List the registry shares.

net conf drop - Delete the complete configuration from registry.

net conf showshare - Show the definition of a registry share.

net conf addshare - Create a new registry share.

net conf delshare - Delete a registry share.

net conf setparm - Store a parameter.

net conf getparm - Retrieve the value of a parameter.

net conf delparm - Delete a parameter.

net conf getincludes - Show the includes of a share definition.

net conf setincludes - Set includes for a share.

net conf delincludes - Delete includes from a share definition.

CONF LIST
Print the configuration data stored in the registry in a smb.conf-like format to standard
output.

CONF IMPORT [--test|-T] filename [section]


This command imports configuration from a file in smb.conf format. If a section
encountered in the input file is present in registry, its contents is replaced. Sections of
registry configuration that have no counterpart in the input file are not affected. If you
want to delete these, you will have to use the "net conf drop" or "net conf delshare"
commands. Optionally, a section may be specified to restrict the effect of the import
command to that specific section. A test mode is enabled by specifying the parameter "-
T" on the commandline. In test mode, no changes are made to the registry, and the
resulting configuration is printed to standard output instead.

CONF LISTSHARES
List the names of the shares defined in registry.

CONF DROP
Delete the complete configuration data from registry.

CONF SHOWSHARE sharename


Show the definition of the share or section specified. It is valid to specify "global" as
sharename to retrieve the global configuration options from registry.

CONF ADDSHARE sharename path [writeable={y|N} [guest_ok={y|N} [comment]]]


Create a new share definition in registry. The sharename and path have to be given. The
share name may not be "global". Optionally, values for the very common options
"writeable", "guest ok" and a "comment" may be specified. The same result may be
obtained by a sequence of "net conf setparm" commands.

CONF DELSHARE sharename


Delete a share definition from registry.

CONF SETPARM section parameter value


Store a parameter in registry. The section may be global or a sharename. The section is
created if it does not exist yet.

CONF GETPARM section parameter


Show a parameter stored in registry.

CONF DELPARM section parameter


Delete a parameter stored in registry.

CONF GETINCLUDES section


Get the list of includes for the provided section (global or share).

Note that due to the nature of the registry database and the nature of include directives,
the includes need special treatment: Parameters are stored in registry by the parameter
name as valuename, so there is only ever one instance of a parameter per share. Also, a
specific order like in a text file is not guaranteed. For all real parameters, this is
perfectly ok, but the include directive is rather a meta parameter, for which, in the
smb.conf text file, the place where it is specified between the other parameters is very
important. This can not be achieved by the simple registry smbconf data model, so there
is one ordered list of includes per share, and this list is evaluated after all the parameters
of the share.
Further note that currently, only files can be included from registry configuration. In the
future, there will be the ability to include configuration data from other registry keys.

CONF SETINCLUDES section [filename]+


Set the list of includes for the provided section (global or share) to the given list of one
or more filenames. The filenames may contain the usual smb.conf macros like %I.

CONF DELINCLUDES section


Delete the list of includes from the provided section (global or share).

EVENTLOG
Starting with version 3.4.0 net can read, dump, import and export native win32 eventlog
files (usually *.evt). evt files are used by the native Windows eventviewer tools.

The import and export of evt files can only succeed when eventlog list is used in
smb.conf file. See the smb.conf(5) manpage for details.

The eventlog commands are:

net eventlog dump - Dump a eventlog *.evt file on the screen.

net eventlog import - Import a eventlog *.evt into the samba internal tdb based representation
of eventlogs.

net eventlog export - Export the samba internal tdb based representation of eventlogs into an
eventlog *.evt file.

EVENTLOG DUMP filename


Prints a eventlog *.evt file to standard output.

EVENTLOG IMPORT filename eventlog


Imports a eventlog *.evt file defined by filename into the samba internal tdb
representation of eventlog defined by eventlog. eventlog needs to part of the
eventlog list defined in smb.conf. See the smb.conf(5) manpage for details.

EVENTLOG EXPORT filename eventlog


Exports the samba internal tdb representation of eventlog defined by eventlog to a
eventlog *.evt file defined by filename. eventlog needs to part of the eventlog list
defined in smb.conf. See the smb.conf(5) manpage for details.

DOM
Starting with version 3.2.0 Samba has support for remote join and unjoin APIs, both
client and server-side. Windows supports remote join capabilities since Windows 2000.
In order for Samba to be joined or unjoined remotely an account must be used that is
either member of the Domain Admins group, a member of the local Administrators
group or a user that is granted the SeMachineAccountPrivilege privilege.

The client side support for remote join is implemented in the net dom commands which
are:

net dom join - Join a remote computer into a domain.

net dom unjoin - Unjoin a remote computer from a domain.

net dom renamecomputer - Renames a remote computer joined to a domain.

DOM JOIN domain=DOMAIN ou=OU account=ACCOUNT password=PASSWORD reboot


Joins a computer into a domain. This command supports the following additional
parameters:

 DOMAIN can be a NetBIOS domain name (also known as short domain name) or
a DNS domain name for Active Directory Domains. As in Windows, it is also
possible to control which Domain Controller to use. This can be achieved by
appending the DC name using the \ separator character. Example: MYDOM\
MYDC. The DOMAIN parameter cannot be NULL.
 OU can be set to a RFC 1779 LDAP DN, like
ou=mymachines,cn=Users,dc=example,dc=com in order to create the machine
account in a non-default LDAP containter. This optional parameter is only
supported when joining Active Directory Domains.
 ACCOUNT defines a domain account that will be used to join the machine to the
domain. This domain account needs to have sufficient privileges to join
machines.
 PASSWORD defines the password for the domain account defined with ACCOUNT.
 REBOOT is an optional parameter that can be set to reboot the remote machine
after successful join to the domain.

Note that you also need to use standard net parameters to connect and authenticate to
the remote machine that you want to join. These additional parameters include: -S
computer and -U user.

Example: net dom join -S xp -U XP\\administrator%secret domain=MYDOM


account=MYDOM\\administrator password=topsecret reboot.

This example would connect to a computer named XP as the local administrator using
password secret, and join the computer into a domain called MYDOM using the
MYDOM domain administrator account and password topsecret. After successful join,
the computer would reboot.
DOM UNJOIN account=ACCOUNT password=PASSWORD reboot
Unjoins a computer from a domain. This command supports the following additional
parameters:

 ACCOUNT defines a domain account that will be used to unjoin the machine from
the domain. This domain account needs to have sufficient privileges to unjoin
machines.
 PASSWORD defines the password for the domain account defined with ACCOUNT.
 REBOOT is an optional parameter that can be set to reboot the remote machine
after successful unjoin from the domain.

Note that you also need to use standard net parameters to connect and authenticate to
the remote machine that you want to unjoin. These additional parameters include: -S
computer and -U user.

Example: net dom unjoin -S xp -U XP\\administrator%secret account=MYDOM\\


administrator password=topsecret reboot.

This example would connect to a computer named XP as the local administrator using
password secret, and unjoin the computer from the domain using the MYDOM domain
administrator account and password topsecret. After successful unjoin, the computer
would reboot.

DOM RENAMECOMPUTER newname=NEWNAME account=ACCOUNT password=PASSWORD


reboot
Renames a computer that is joined to a domain. This command supports the following
additional parameters:

 NEWNAME defines the new name of the machine in the domain.


 ACCOUNT defines a domain account that will be used to rename the machine in
the domain. This domain account needs to have sufficient privileges to rename
machines.
 PASSWORD defines the password for the domain account defined with ACCOUNT.
 REBOOT is an optional parameter that can be set to reboot the remote machine
after successful rename in the domain.

Note that you also need to use standard net parameters to connect and authenticate to
the remote machine that you want to rename in the domain. These additional parameters
include: -S computer and -U user.

Example: net dom renamecomputer -S xp -U XP\\administrator%secret


newname=XPNEW account=MYDOM\\administrator password=topsecret reboot.

This example would connect to a computer named XP as the local administrator using
password secret, and rename the joined computer to XPNEW using the MYDOM
domain administrator account and password topsecret. After successful rename, the
computer would reboot.
G_LOCK
Manage global locks.

G_LOCK DO lockname timeout command


Execute a shell command under a global lock. This might be useful to define the order
in which serveral shell commands will be executed. The locking information is stored in
a file called g_lock.tdb. In setups with CTDB running, the locking information will be
available on all cluster nodes.

 LOCKNAME defines the name of the global lock.


 TIMEOUT defines the timeout.
 COMMAND defines the shell command to execute.

G_LOCK LOCKS
Print a list of all currently existing locknames.

G_LOCK DUMP lockname


Dump the locking table of a certain global lock.

HELP [COMMAND]
Gives usage information for the specified command.

VERSION
This man page is complete for version 3 of the Samba suite.

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

The net manpage was written by Jelmer Vernooij.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy