https://github.com/saltstack-formulas/samba-formula
https://github.com/saltstack-formulas/samba-formula
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/saltstack-formulas/samba-formula
- Owner: saltstack-formulas
- License: other
- Created: 2013-06-12T22:22:06.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2025-06-26T04:17:50.000Z (8 months ago)
- Last Synced: 2025-06-26T05:25:30.954Z (8 months ago)
- Language: Jinja
- Homepage: http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
- Size: 87.9 KB
- Stars: 15
- Watchers: 33
- Forks: 72
- Open Issues: 9
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
samba
=====
Install and configure a samba server.
.. note::
See the full `Salt Formulas installation and usage instructions
`_.
Available states
================
.. contents::
:local:
``samba``
---------
Installs the samba server and client packages and starts the samba service.
``samba.client``
----------------
Installs the samba client package.
``samba.config``
----------------
Includes the ``samba`` state.
Creates a ``smb.conf`` based on defaults. Pillars if defined override default values.
``samba.users``
----------------
Includes the ``samba`` state.
Creates samba users (via ``smbpasswd``) based on pillar data.
``samba.winbind``
----------------
Includes the ``samba`` state.
Installs samba-winbind packages and updates NSS (nsswitch.conf). Run this state after joining the Domain.
``samba.winbind-ad``
----------------
Includes the ``winbind`` state.
By default this state provides full Active Directory (AD) domain membership if ``samba.role`` equals ``ROLE_DOMAIN_MEMBER``.
``samba.clean``
--------------
Calls `clean` state for all modules to completely remove samba and winbind.
Configuration
=============
The distro samba package includes a default ``smb.conf`` which is overridden by ``samba.config`` state. This formula has good defaults for samba ROLE_STANDALONE and ROLE_DOMAIN_MEMBER roles, but can be extended/overridden in pillars.
AD integration
==================
Ensure host's assigned (dhcp) ipaddress is reflecting DNS.
.. code-block:: bash
[myhost]$ ip addr
[myhost]$ host myhost.example.com
Ensure system time is NTP synchronized (yes)!!
.. code-block:: bash
$ # timedatectl
Local time: Fri 2018-02-09 08:34:10 MST
Universal time: Fri 2018-02-09 15:34:10 UTC
RTC time: Fri 2018-02-09 15:34:21
Time zone: America/Denver (MST, -0700)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Join the domain in three commands-
.. code-block:: bash
$ sudo net ads join EXAMPLE.COM -U 'domainAdminUser'
Enter domainAdminUser password:
Using short domain name -- EXAMPLE
Joined MYHOST to dns domain ‘example.com'
$ sudo kinit -k MYHOST\$@EXAMPLE.COM
$ sudo systemctl restart winbind
If 'kinit' fails then try rebooting and checking for issues with time and dns.