From 3672b3962a8a9101cd6bb7ae208a407916597f19 Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 18 Jun 2020 02:08:20 +0200 Subject: [PATCH] Add smb.conf to absible. Add new users. Add new shares. --- group_vars/all/main.yml | 280 +++-- roles/common/handlers/main.yml | 5 + roles/common/tasks/main.yml | 9 + roles/common/tasks/samba-server.yml | 41 + roles/common/templates/etc/samba/smb.conf.j2 | 1048 ++++++++++++++++++ 5 files changed, 1285 insertions(+), 98 deletions(-) create mode 100644 roles/common/tasks/samba-server.yml create mode 100644 roles/common/templates/etc/samba/smb.conf.j2 diff --git a/group_vars/all/main.yml b/group_vars/all/main.yml index 1a72095..b6be9b8 100644 --- a/group_vars/all/main.yml +++ b/group_vars/all/main.yml @@ -19,7 +19,7 @@ nfs_exports: - 10.0.112.0/24 - 10.1.112.0/24 - 192.168.63.0/24 - fs_encrypted: false + fs_encrypted: true - src: 192.168.112.10:/data/shares path: /data/shares @@ -30,7 +30,7 @@ nfs_exports: - 10.0.112.0/24 - 10.1.112.0/24 - 192.168.63.0/24 - fs_encrypted: false + fs_encrypted: true # --- # Samba / NIS @@ -40,6 +40,7 @@ samba_server: file-mbr.mbr-bln.netz samba_shares: - name: Arbeitsrechtliches + group: mbr-finanzen user: - anne - bianca @@ -49,6 +50,7 @@ samba_shares: - isabell.wiesner - sysadm - name: Ausschreibungen + group: mbr-personal user: - anne - bianca @@ -56,10 +58,10 @@ samba_shares: - matthias.mueller - sysadm - name: BGN-Finanzen-Personal + group: bgn-finanzen-personal user: - anne - bianca - - carolin - christina.wendt - chris - isabell.wiesner @@ -67,6 +69,7 @@ samba_shares: - sysadm - ulf.balmer - name: BVV-Projekt + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -75,27 +78,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -106,13 +108,13 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer - name: Finanzen + group: mbr-finanzen user: - anne - bianca @@ -122,11 +124,13 @@ samba_shares: - isabell.wiesner - sysadm - name: Install + group: mbr-admins user: - chris - sysadm - lokaladmin - name: Kamera + group: mbr-kamera user: - anne - axis @@ -134,6 +138,7 @@ samba_shares: - chris - sysadm - name: MBR + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -142,27 +147,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -173,13 +177,13 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer - name: Mobilisierungsplattform + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -188,27 +192,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -219,13 +222,31 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer + - name: Regishut + group: regishut + user: + - alexander.steder + - alexander.lorenz.milord + - benjamin + - bianca + - christina.wendt + - isabell.wiesner + - linda.giesel + - name: Regishut-Personal-Finanzen + group: regishut-personal-finanzen + user: + - benjamin + - bianca + - christina.wendt + - isabell.wiesner + - linda.giesel - name: RIAS + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -234,27 +255,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -265,13 +285,13 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer - name: RIAS-Finanzen-Personal + group: rias-finanzen-personal user: - anne - bianca @@ -282,35 +302,38 @@ samba_shares: - isabell.wiesner - sysadm - name: SCAN + group: buero-scan user: + - alexander.lorenz.milord - alexander.rasumny + - alexander.steder - anna.mueller1 - anne - benjamin - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler + - linda.giesel - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -321,13 +344,13 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer - name: VDK + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -336,27 +359,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -367,13 +389,13 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon - sysadm - ulf.balmer - name: Video + group: mbr-buero user: - alexander.rasumny - anna.mueller1 @@ -382,27 +404,26 @@ samba_shares: - bianca - birgit.erhardt - bjoern.renkewitz - - carolin - christina.wendt - chris - daniel.poensgen - doku.mbr2 - doku.mbr4 - dorina.feldmann - - franziska + - felix.mueller - hamid.mohseni - isabell.wiesner - janine.budich - johannes.radke - judith.heinmueller - - kristina.holzapfel + - julia.kopp + - kerstin.kuballa - lavinia.schwedersky - lena.mahler - manja.kasten - mathias - matthias.mueller - michael.sulies - - michael.trube - pia.lamberty - honorar.mbr1 - nina.rink @@ -413,7 +434,6 @@ samba_shares: - bianca.loy - praktikum.rias2 - honorar.rias1 - - sabine.kritter - samuel.signer - scan - simon @@ -432,6 +452,11 @@ nis_common_packages: nis_deleted_user: [] #nis_deleted_user: +# - name: sabine.kritter +# - name: kristina.holzapfel +# - name: carolin +# - name: franziska +# - name: michael.trube # - name: praktikum # - name: praktikum2_rias # - name: praktikum3 @@ -461,6 +486,12 @@ nis_groups: group_id: 1500 - name: bgn-finanzen-personal group_id: 1510 + - name: regishut + group_id: 1600 + - name: regishut-personal-finanzen + group_id: 1610 + - name: buero-scan + group_id: 1700 nis_user: - name: chris @@ -475,6 +506,9 @@ nis_user: - rias-finanzen-personal - bgn - bgn-finanzen-personal + - regishut + - regishut-personal-finanzen + - buero-scan is_samba_user: true password: !vault | $ANSIBLE_VAULT;1.1;AES256 @@ -495,6 +529,9 @@ nis_user: - rias-finanzen-personal - bgn - bgn-finanzen-personal + - regishut + - regishut-personal-finanzen + - buero-scan is_samba_user: true password: 'd4r1usz' - name: sysadm @@ -509,16 +546,33 @@ nis_user: - rias-finanzen-personal - bgn - bgn-finanzen-personal + - regishut + - regishut-personal-finanzen + - buero-scan is_samba_user: true password: 'KPk_Wf2F' + - name: alexander.lorenz.milord + groups: + - regishut + - buero-scan + is_samba_user: true + password: 'R3GI_20_poliz_!' - name: alexander.rasumny groups: - mbr-buero + - buero-scan is_samba_user: true password: 'twT9Rjbv9mjq' + - name: alexander.steder + groups: + - regishut + - buero-scan + is_samba_user: true + password: 'SHUT_20_s3nc3!' - name: anna.mueller1 groups: - mbr-buero + - buero-scan is_samba_user: true password: '5xp5ll9ar13us!' - name: anne @@ -533,11 +587,13 @@ nis_user: - rias-finanzen-personal - bgn - bgn-finanzen-personal + - buero-scan is_samba_user: true password: 'YA!LiLiC0MP5' - name: axis groups: - mbr-buero + - buero-scan is_samba_user: true password: '20_axis_16' - name: benjamin @@ -546,6 +602,7 @@ nis_user: - vdk - rias - rias-finanzen-personal + - buero-scan is_samba_user: true password: 'C2-0U#ch' - name: bianca @@ -560,6 +617,7 @@ nis_user: - rias-finanzen-personal - bgn - bgn-finanzen-personal + - buero-scan is_samba_user: true password: '73_BiBole_29' - name: birgit.erhardt @@ -567,61 +625,65 @@ nis_user: - mbr-buero - mbr-finanzen - vdk + - buero-scan is_samba_user: true password: '20_purpel!rain_17' - name: bjoern.renkewitz groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'Tz9-Wq-51' - - name: carolin - groups: - - mbr-buero - - bgn-finanzen-personal - is_samba_user: true - password: '20_carol1n_14' - name: christina.wendt groups: - - mbr-buero - - mbr-finanzen - - vdk - - rias-finanzen-personal - - bgn-finanzen-personal + - mbr-buero + - mbr-finanzen + - vdk + - rias-finanzen-personal + - bgn-finanzen-personal + - buero-scan is_samba_user: true password: '8!Varianten' - name: daniel.poensgen groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'rcMRCm7jcpbp' - name: doku.mbr2 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '*M0ss4d*' - name: doku.mbr4 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'PwmNvPh9KM4T' - name: dorina.feldmann groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '17?4XPQ_!abc' - - name: franziska + - name: felix.mueller groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true - password: 'f49mCjbj3Jh7' + password: 'U_i5zAR5H+ti' - name: frederick.kannenberg groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'riasFK2019!#' - name: hamid.mohseni groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'TFhCW9J4Vn4F' - name: isabell.wiesner @@ -631,140 +693,162 @@ nis_user: - vdk - rias-finanzen-personal - bgn-finanzen-personal + - buero-scan is_samba_user: true password: 'XY_bunt_2020!' - name: janine.budich groups: - mbr-buero + - buero-scan is_samba_user: true password: 'LoS_r3f_20_AS!' - name: johannes.radke groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'Furzf4brik!' - name: judith.heinmueller groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 't32_aHxV.' - - name: kristina.holzapfel + - name: julia.kopp groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true - password: 'c7PvX_39.' + password: '-a2%3bTzkW.A' + - name: kerstin.kuballa + groups: + - mbr-buero + - buero-scan + is_samba_user: true + password: 'sVY2_2t+a+db' - name: lavinia.schwedersky groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'xJw.3R9vKf/N' - name: lena.mahler groups: - - mbr-buero + - mbr-buero + - bgn + - bgn-finanzen-personal + - buero-scan is_samba_user: true password: 'YZ_bgn_2020!' - name: manja.kasten groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'Rasili_&n' - name: mathias groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'p3r*45p3r4*4d*45tr4m' - name: matthias.mueller groups: - - mbr-buero - - mbr-personal + - mbr-buero + - mbr-personal + - buero-scan is_samba_user: true password: 'V1v@H@f3rdr1nk' - name: michael.sulies groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'Cryst4lp4l4c3' - - name: michael.trube - groups: - - mbr-buero - - mbr-kamera - is_samba_user: true - password: '*R13sl1ng*' - name: pia.lamberty groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'oasd31*as+Q%' - name: honorar.mbr1 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '_F313r4b3nd*' - name: nina.rink groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'BMW_mobit_2020!' - name: praktikum.bgn1 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'MPL_baerin_20!' - name: praktikum.mbr1 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '2001_RAT_urban!' - name: praktikum.mbr2 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '20praktikum213' - name: praktikum.rias1 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '7z7F%d3cv_dfjz' - name: bianca.loy groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'ctnrk3CczcJ9' - name: praktikum.rias2 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'Q56V.6kf/JLQ' - name: honorar.rias1 groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '6jA,nmD,fdK!' - - name: sabine.kritter - groups: - - mbr-buero - is_samba_user: true - password: '#17_abc_?!' - name: samuel.signer groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'S4mmyC0mput3r!' - name: scan groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: '20scan13' - name: simon groups: - - mbr-buero + - mbr-buero + - buero-scan is_samba_user: true password: 'S4u3rkr4ut!' - name: ulf.balmer groups: - - mbr-buero - - bgn - - bgn-finanzen-personal + - mbr-buero + - bgn + - bgn-finanzen-personal + - buero-scan is_samba_user: true password: 'ALL3_e6ene#' diff --git a/roles/common/handlers/main.yml b/roles/common/handlers/main.yml index e41b315..063e447 100644 --- a/roles/common/handlers/main.yml +++ b/roles/common/handlers/main.yml @@ -44,3 +44,8 @@ name: rpcbind daemon_reload: yes state: restarted + +- name: Reload samba config + shell: smbcontrol all reload-config + when: + - "groups['samba_server']|string is search(inventory_hostname)" diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index a1e7819..a8e46ac 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -85,6 +85,15 @@ tags: - sudoers +# tags supported inside samba-server-shares.yml: +# +# samba-shares +# samba-config +- import_tasks: samba-server.yml + when: "groups['samba_server']|string is search(inventory_hostname)" + tags: + - samba-server + #- import_tasks: mount_samba_shares.yml # when: "groups['client_pc']|string is search(inventory_hostname)" # tags: diff --git a/roles/common/tasks/samba-server.yml b/roles/common/tasks/samba-server.yml new file mode 100644 index 0000000..c6b89df --- /dev/null +++ b/roles/common/tasks/samba-server.yml @@ -0,0 +1,41 @@ +--- + + +- name: (samba-server.yml) Ensure samba share directories exists + file: + path: "/data/shares/{{ item.name }}" + owner: "root" + group: "{{ item.group }}" + mode: '2770' + state: directory + with_items: "{{ samba_shares }}" + loop_control: + label: '{{ item.name }}' + tags: + - samba-shares + + +- name: (samba-server.yml) Checki if file '/etc/samba/smbconf.ORIG' exists + stat: + path: /etc/samba/smb.conf.ORIG + register: etc_samba_smb_conf_ORIG + tags: + - samba-config + +- name: (samba-server.yml) Backup installation version of file '/etc/samba/smb.conf' + command: cp -a /etc/samba/smb.conf /etc/samba/smb.conf.ORIG + when: etc_samba_smb_conf_ORIG.stat.exists == False + tags: + - samba-config + +- name: (samba-server.yml) Create new smb.conf from template smb.conf.j2 + template: + src: etc/samba/smb.conf.j2 + dest: /etc/samba/smb.conf + owner: root + group: root + mode: 0644 + #backup: yes + notify: "Reload samba config" + tags: + - samba-config diff --git a/roles/common/templates/etc/samba/smb.conf.j2 b/roles/common/templates/etc/samba/smb.conf.j2 new file mode 100644 index 0000000..7446fc1 --- /dev/null +++ b/roles/common/templates/etc/samba/smb.conf.j2 @@ -0,0 +1,1048 @@ +# {{ ansible_managed }} + +# +# Sample configuration file for the Samba suite for Debian GNU/Linux. +# +# +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options most of which +# are not shown in this example +# +# Some options that are often worth tuning have been included as +# commented-out examples in this file. +# - When such options are commented with ";", the proposed setting +# differs from the default Samba behaviour +# - When commented with "#", the proposed setting is the default +# behaviour of Samba but the option is considered important +# enough to be mentioned here +# +# NOTE: Whenever you modify this file you should run the command +# "testparm" to check that you have not made any basic syntactic +# errors. + +#======================= Global Settings ======================= + +[global] + +## Browsing/Identification ### + +# Change this to the workgroup/NT-domain name your Samba server will part of +; workgroup = WORKGROUP + workgroup = MBR + +# Option 'netbios name' added to debian's default smb.conf +# +# This sets the NetBIOS name by which a Samba server is known. By default it +# is the same as the first component of the host's DNS name. If a machine is +# a browse server or logon server this name (or the first component of the +# hosts DNS name) will be the name that these services are advertised under. +# +# Note that the maximum length for a NetBIOS name is 15 characters. +# +# Default: netbios name = # machine DNS name + netbios name = FILE-MBR + + +#### Networking #### + +# The specific set of interfaces / networks to bind to +# This can be either the interface name or an IP address/netmask; +# interface names are normally preferred +; interfaces = 127.0.0.0/8 eth0 + interfaces = 192.168.112.10/24 127.0.0.1/8 + +# Option 'hosts deny' and 'hosts allow' added to debian's default smb.conf + hosts deny = 0.0.0.0/0 + hosts allow = 192.168.0.0/16 10.0.0.0/8 127.0.0.0/8 + +# Only bind to the named interfaces and/or networks; you must use the +# 'interfaces' option above to use this. +# It is recommended that you enable this feature if your Samba machine is +# not protected by a firewall or is a firewall itself. However, this +# option cannot handle dynamic or non-broadcast interfaces correctly. +# +# Notice: +# If bind interfaces only is set and the network address 127.0.0.1 is not added to the +# interfaces parameter list smbpasswd(8) may not work as expected due to the reasons +# covered below. +# +# Default: bind interfaces only = no + bind interfaces only = yes + + +#### Debugging/Accounting #### + +# This tells Samba to use a separate log file for each machine +# that connects +; log file = /var/log/samba/log.%m + log file = /var/log/samba/%I.log + +# Cap the size of the individual log files (in KiB). +; max log size = 1000 + max log size = 10000 + +# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. +# Append syslog@1 if you want important messages to be sent to syslog too. + logging = file + +# Option 'log level' added to debian's default smb.conf +# +# The value of the parameter (a astring) allows the debug level (logging level) to be +# specified in the smb.conf file. +# +# This parameter has been extended since the 2.2.x series, now it allows one to specify +# the debug level for multiple debug classes. This is to give greater flexibility in +# the configuration of the system. +# +# See manpage for implemented debug classes +# +# Default: log level = 0 +# +# Example: log level = 3 passdb:5 auth:10 winbind:2 + log level = 0 + +# Do something sensible when Samba crashes: mail the admin a backtrace + panic action = /usr/share/samba/panic-action %d + + +####### Authentication ####### + +# Option 'ntlm auth' added to debian's default smb.conf +# +# This parameter determines whether or not smbd(8) will attempt to authenticate +# users using the NTLM encrypted password response for this local passdb (SAM +# or account database). +# +# If disabled, both NTLM and LanMan authencication against the local passdb is +# disabled. +# +# Note that these settings apply only to local users, authentication will still +# be forwarded to and NTLM authentication accepted against any domain we are +# joined to, and any trusted domain, even if disabled or if NTLMv2-only is +# enforced here. To control NTLM authentiation for domain users, this must option +# must be configured on each DC. +# +# By default with lanman auth set to no and ntlm auth set to ntlmv2-only only +# NTLMv2 logins will be permited. Most clients support NTLMv2 by default, but some +# older clients will require special configuration to use it. +# +# The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x. +# +# The available settings are: +# +# ntlmv1-permitted (alias yes) - Allow NTLMv1 and above for all clients. +# +# ntlmv2-only (alias no) - Do not allow NTLMv1 to be used, but permit NTLMv2. +# +# mschapv2-and-ntlmv2-only - Only allow NTLMv1 when the client promises that +# it is providing MSCHAPv2 authentication (such as the ntlm_auth tool). +# +# disabled - Do not accept NTLM (or LanMan) authentication of any level, nor +# permit NTLM password changes. +# +# The default changed from yes to no with Samba 4.5. The default chagned again to +# ntlmv2-only with Samba 4.7, however the behaviour is unchanged. +# +# Default: ntlm auth = ntlmv2-only + ntlm auth = ntlmv1-permitted + +# Server role. Defines in which mode Samba will operate. Possible +# values are "standalone server", "member server", "classic primary +# domain controller", "classic backup domain controller", "active +# directory domain controller". +# +# Most people will want "standalone server" or "member server". +# Running as "active directory domain controller" will require first +# running "samba-tool domain provision" to wipe databases and create a +# new domain. + server role = standalone server + + obey pam restrictions = yes + +# This boolean parameter controls whether Samba attempts to sync the Unix +# password with the SMB password when the encrypted SMB password in the +# passdb is changed. + unix password sync = yes + +# For Unix password sync to work on a Debian GNU/Linux system, the following +# parameters must be set (thanks to Ian Kahan < for +# sending the correct chat script for the passwd program in Debian Sarge). + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + +# This boolean controls whether PAM will be used for password changes +# when requested by an SMB client instead of the program listed in +# 'passwd program'. The default is 'no'. + pam password change = yes + +# This option controls how unsuccessful authentication attempts are mapped +# to anonymous connections + map to guest = bad user + +# Option 'username map' added to debian's default smb.conf +# + username map = /etc/samba/users.map + +########## Domains ########### + +# +# The following settings only takes effect if 'server role = primary +# classic domain controller', 'server role = backup domain controller' +# or 'domain logons' is set +# + +# It specifies the location of the user's +# profile directory from the client point of view) The following +# required a [profiles] share to be setup on the samba server (see +# below) +; logon path = \\%N\profiles\%U +# Another common choice is storing the profile in the user's home directory +# (this is Samba's default) +# logon path = \\%N\%U\profile + +# The following setting only takes effect if 'domain logons' is set +# It specifies the location of a user's home directory (from the client +# point of view) +; logon drive = H: +# logon home = \\%N\%U + +# The following setting only takes effect if 'domain logons' is set +# It specifies the script to run during logon. The script must be stored +# in the [netlogon] share +# NOTE: Must be store in 'DOS' file format convention +; logon script = logon.cmd + +# This allows Unix users to be created on the domain controller via the SAMR +# RPC pipe. The example command creates a user account with a disabled Unix +# password; please adapt to your needs +; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u + +# This allows machine accounts to be created on the domain controller via the +# SAMR RPC pipe. +# The following assumes a "machines" group exists on the system +; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u + +# This allows Unix groups to be created on the domain controller via the SAMR +# RPC pipe. +; add group script = /usr/sbin/addgroup --force-badname %g + +############ Misc ############ + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting +; include = /home/samba/etc/smb.conf.%m + +# Some defaults for winbind (make sure you're not using the ranges +# for something else.) +; idmap config * : backend = tdb +; idmap config * : range = 3000-7999 +; idmap config YOURDOMAINHERE : backend = tdb +; idmap config YOURDOMAINHERE : range = 100000-999999 +; template shell = /bin/bash + +# Setup usershare options to enable non-root users to share folders +# with the net usershare command. + +# Maximum number of usershare. 0 means that usershare is disabled. +# usershare max shares = 100 + +# Allow users who've been granted usershare privileges to create +# public shares, not just authenticated ones + usershare allow guests = yes + +#======================= Share Definitions ======================= + +[homes] + comment = Home Directories + browseable = no + +# By default, the home directories are exported read-only. Change the +# next parameter to 'no' if you want to be able to write to them. + read only = yes + +# File creation mask is set to 0700 for security reasons. If you want to +# create files with group=rw permissions, set next parameter to 0775. + create mask = 0700 + +# Directory creation mask is set to 0700 for security reasons. If you want to +# create dirs. with group=rw permissions, set next parameter to 0775. + directory mask = 0700 + +# By default, \\server\username shares can be connected to by anyone +# with access to the samba server. +# The following parameter makes sure that only "username" can connect +# to \\server\username +# This might need tweaking when using external authentication schemes + valid users = %S + +# Un-comment the following and create the netlogon directory for Domain Logons +# (you need to configure Samba to act as a domain controller too.) +;[netlogon] +; comment = Network Logon Service +; path = /home/samba/netlogon +; guest ok = yes +; read only = yes + +# Un-comment the following and create the profiles directory to store +# users profiles (see the "logon path" option above) +# (you need to configure Samba to act as a domain controller too.) +# The path below should be writable by all users so that their +# profile directory may be created the first time they log on +;[profiles] +; comment = Users profiles +; path = /home/samba/profiles +; guest ok = no +; browseable = no +; create mask = 0600 +; directory mask = 0700 + + +#============================ Shares ============================== + +# {{ ansible_managed }} + +[Arbeitsrechtliches] + comment = Arbeitsrechtliches + path = /data/shares/Arbeitsrechtliches + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-finanzen + # allow to write + write list = @mbr-finanzen + + force group = mbr-finanzen + + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Arbeitsrechtliches-Trash] + comment = Papierkorb (Arbeitsrechtliches) + path = /data/shares/Arbeitsrechtliches/.Trash + + browseable = yes + read only = yes + + +[Ausschreibungen] + comment = Ausschreibungen + path = /data/shares/Ausschreibungen + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-personal + # allow to write + write list = @mbr-personal + + force group = mbr-personal + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Ausschreibungen-Trash] + comment = Papierkorb (Ausschreibungen) + path = /data/shares/Ausschreibungen/.Trash + + browseable = yes + read only = yes + + +[BGN-Finanzen-Personal] + comment = BGN Finanzen Personal + path = /data/shares/BGN-Finanzen-Personal + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @bgn-finanzen-personal + # allow to write + write list = @bgn-finanzen-personal + + force group = bgn-finanzen-personal + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[BGN-Finanzen-Personal-Trash] + comment = Papierkorb (BGN) + path = /data/shares/BGN-Finanzen-Personal/.Trash + + browseable = yes + read only = yes + + +[BVV-Projekt] + comment = BVV-Projekt + path = /data/shares/BVV-Projekt + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[BVV-Projekt-Trash] + comment = Papierkorb (BVV-Projekt) + path = /data/shares/BVV-Projekt/.Trash + + browseable = yes + read only = yes + + +[Cobra] + comment = Cobra + path = /data/shares/Cobra + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # - since version 4.9 + # - + create mask = 0660 + directory mask = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Cobra-Trash] + comment = Papierkorb (Cobra) + path = /data/shares/Cobra/.Trash + + browseable = yes + read only = yes + + +[Finanzen] + comment = Finanzen + path = /data/shares/Finanzen + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-finanzen + # allow to write + write list = @mbr-finanzen + + force group = mbr-finanzen + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Finanzen-Trash] + comment = Papierkorb (Finanzen) + path = /data/shares/Finanzen/.Trash + + browseable = yes + read only = yes + + +[MBR] + comment = MBR + path = /data/shares/MBR + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[MBR-Trash] + comment = Papierkorb (MBR) + path = /data/shares/MBR/.Trash + + browseable = yes + read only = yes + + +[Mobilisierungsplattform] + comment = Mobilisierungsplattform + path = /data/shares/Mobilisierungsplattform + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Mobilisierungsplattform-Trash] + comment = Papierkorb (Mobilisierungsplattform) + path = /data/shares/Mobilisierungsplattform/.Trash + + browseable = yes + read only = yes + + +[Regishut] + comment = Regishut + path = /data/shares/Regishut + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @regishut + # allow to write + write list = @regishut + + force group = regishut + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Regishut-Trash] + comment = Papierkorb (Regishut) + path = /data/shares/Regishut/.Trash + + browseable = yes + read only = yes + + +[Regishut-Personal-Finanzen] + comment = Regishut + path = /data/shares/Regishut-Personal-Finanzen + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @regishut-personal-finanzen + # allow to write + write list = @regishut-personal-finanzen + + force group = regishut-personal-finanzen + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[Regishut-Personal-Finanzen-Trash] + comment = Papierkorb (Regishut-Personal-Finanzen) + path = /data/shares/Regishut-Personal-Finanzen/.Trash + + browseable = yes + read only = yes + + +[RIAS] + comment = RIAS + path = /data/shares/RIAS + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[RIAS-Trash] + comment = Papierkorb (RIAS) + path = /data/shares/RIAS/.Trash + + browseable = yes + read only = yes + + +[RIAS-Finanzen-Personal] + comment = RIAS Finanzen Personal + path = /data/shares/RIAS-Finanzen-Personal + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @rias-finanzen-personal + # allow to write + write list = @rias-finanzen-personal + + force group = rias-finanzen-personal + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[RIAS-Finanzen-Personal-Trash] + comment = Papierkorb (RIAS) + path = /data/shares/RIAS-Finanzen-Personal/.Trash + + browseable = yes + read only = yes + + +[SCAN] + comment = SCAN + path = /data/shares/SCAN + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @scan + # allow to write + write list = @scan + + force group = scan + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[SCAN-Trash] + comment = Papierkorb (SCAN) + path = /data/shares/SCAN/.Trash + + browseable = yes + read only = yes + + +[VDK] + comment = VDK + path = /data/shares/VDK + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + vfs objects = recycle + recycle:keeptree = yes + # touch access time from this file + # note: this is not the modified time, which is + # outdatet by ls-command + # so yo can delete files older then n day with the following command: + # find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + # + recycle:touch = yes + recycle:touch_mtime = no + recycle:versions = yes + recycle:maxsize = 10485760 # around 10MB + recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + recycle:excludedir = /tmp,/temp,/cache,.Trash + recycle:repository = .Trash/%U + veto files = /.Trash/ + +[VDK-Trash] + comment = Papierkorb (VDK) + path = /data/shares/VDK/.Trash + + browseable = yes + read only = yes + + +[Video] + comment = Video + path = /data/shares/Video + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-buero + # allow to write + write list = @mbr-buero + + force group = mbr-buero + + #vfs objects = recycle + #recycle:keeptree = yes + ## touch access time from this file + ## note: this is not the modified time, which is + ## outdatet by ls-command + ## so yo can delete files older then n day with the following command: + ## find /data/samba/share//.Trash -atime + -exec rm -rf {} \; + ## + #recycle:touch = yes + #recycle:touch_mtime = no + #recycle:versions = yes + #recycle:maxsize = 10485760 # around 10MB + #recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*,*.~?? + #recycle:excludedir = /tmp,/temp,/cache,.Trash + #recycle:repository = .Trash/%U + #veto files = /.Trash/ + +#[Video-Trash] +# comment = Papierkorb (Video) +# path = /data/shares/Video/.Trash +# +# browseable = yes +# read only = yes + + +[Kamera] + comment = Kamera + path = /data/shares/Kamera + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-kamera + # allow to write + write list = @mbr-kamera + + force group = mbr-kamera + +## ---------- + + +[Backup-RO] + comment = Backup (altes System) + path = /data/shares/Backup-RO + readonly = yes + + +[Install] + comment = Install + path = /data/shares/Install + + browseable = yes + read only = no + writeable = Yes + + create mask = 0660 + force create mode = 0660 + directory mask = 2770 + force directory mode = 2770 + + # can login into that share + valid users = @mbr-admins + # allow to write + write list = @mbr-admins + + force group = mbr-admins + + +[printers] + comment = All Printers + path = /usr/local/samba/var/spool + browseable = Yes + read only = No + printable = Yes + +[print$] + comment = Point and Print Printer Drivers + path = /usr/local/samba/var/print + read only = No +