Samba-tool-external

From SambaWiki
Revision as of 18:13, 27 April 2011 by TheresaHalloran (talk | contribs)

samba-tool

This wiki page will document the current externals of the samba-tool command with proposed changes to be made for consistency and usability.

The proposed format for all new / existing functions on the samba-tool command are as follows:

samba-tool <object> <action> <options>

Current commands listed in __init__.py in samba 4 Version 4.0.0alpha15-GIT-b12fbc2

samba-tool current commands:

Object Description Action Parameters - specific Options - general Proposed Changes
acl get or set acls on a file get set nt(file), ds(directory object) general options
domainlevel Raises domain and forest function level show or raise add options
drs various directory replication services bind, kcc, replicate, showrepl, options add options
enableaccount enable a user username Change to user enableaccount to be consistent with object action
export Dumps kerberos keys of the domain into a keytab keytab Change to keytab export to be consistent with object action
fsmo Makes the target DC transfer or seize fsmo role (server connection needed) show, transfer, seize Add options
group Add or delete groups or add members to or remove members from a group add,delete,addmembers,removemembers
gpo2 List group policies list, listall
join Join a domain as either a member or a backup domain controller (server connection required) dns domain add options Change command to DOMAIN [JOINDC JOINRODC, JOINMEMBER, options] so consistent with object action format.
not sure is the object of the join a domain?
ldapcmp compare two ldap databases UR1L, URL2 add options Change to split into ldap compare.
machinepw get machine PW out of SAM Change to password machine show
newuser combine function with user create
pwsettings Sets password settings set, show
password set or change password, set, change user re-write into python
code similar to gpo to tell me local or not
add machinepw to this command: password machine show
setexpiry Sets the expiration of a user account [username] add options Change to user setexpiry [username]?
setpassword set user password locally, need write access to ldb files Use password command
combine both commands local and remote into one external
time Retrieve the time on a remote server (server connection needed) [server-name] Change format
user create or delete a user create, delete options Add enable, add setexpiry?
vampire Join and synchronise a remote AD domain to the local server (server connection needed) domain hmmm...

samba-tool proposal for command syntax changes

Command syntax will follow the format samba-tool <object> <action> parameter(s) <command specific options> <global options> unless otherwise indicated.

<td
Object Action Parameter(s) Specific Options Global Options Comments
acl get nt <file> --as-sddl
--xattr-backend=native|tdb
--eadb-file=file
global options Could combine get and nt into one action getnt
Of leave as get <space> nt for historical purposes
set nt <file> --xattr-backend=native|tdb
--eadb-file=file
global options Could combine set and nt into one action setnt
set ds <file> --objectdn=objectdn
--car=control right
--action=deny|allow
--trusteedn=trustee-dn
global options Could combine set and ds into one action setds
domainlevel show global options
raise -H
--quiet
--forest
--domain
global options
drs bind
kcc
replicate
showrepl
options
group add
delete
addmembers
removemembers
gpo2 list
listall
join dns domain add options global options What is the object being joined? server? machine?
fsmo show add options global options What is the object being shown?
domain controller? server? machine?
fsmo transfer add options global options What is the object?
fsmo seize add options global options What is the object?
export keytab add options global options What is the object?
ldap compare URL1, URL2 add options Change to split into ldap compare.
pwsettings show
set add parameters that can be set
password set user
change user
time server-name Change format?
user add username global options
delete username global options
setexpiry username --days=int global options this used to be setexpirty username command
enableaccount username global options this used to bbe enableaccount username command
vampire domain global options Keep as vampire command for usability / historical purposes
Do not change to object action format