]> git.pld-linux.org Git - packages/samba.git/commitdiff
- make daemons start based on server role set in samba config
authorJan Rękorajski <baggins@pld-linux.org>
Wed, 1 Jan 2014 22:10:07 +0000 (23:10 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Wed, 15 Jan 2014 18:06:25 +0000 (19:06 +0100)
samba.init
server-role.patch [new file with mode: 0644]
smb.init

index bec37c37eb33c2371dc552e94bc6d3fa491e49c1..d4a9c0270ae25d861a99ce69241717c33d906005 100644 (file)
@@ -29,6 +29,11 @@ fi
 TMPDIR="/tmp"; export TMPDIR
 unset TMP || :
 
+SERVER_ROLE=`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`
+if [ "$SERVER_ROLE" != "active directory domain controller" ]; then
+       exit 0
+fi
+
 start() {
        # Check if the service is already running?
        if [ -f /var/lock/subsys/samba ]; then
diff --git a/server-role.patch b/server-role.patch
new file mode 100644 (file)
index 0000000..8469230
--- /dev/null
@@ -0,0 +1,31 @@
+--- samba-4.1.3/packaging/systemd/smb.service.orig     2013-12-20 19:15:20.885742895 +0100
++++ samba-4.1.3/packaging/systemd/smb.service  2014-01-01 16:33:29.280076263 +0100
+@@ -7,6 +7,7 @@
+ PIDFile=/run/samba/smbd.pid
+ LimitNOFILE=16384
+ EnvironmentFile=-/etc/sysconfig/samba
++ExecStartPre=/bin/sh -c '[ "`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`" != "active directory domain controller" ]'
+ ExecStart=/usr/sbin/smbd $SMBDOPTIONS
+ ExecReload=/usr/bin/kill -HUP $MAINPID
+--- samba-4.1.3/packaging/systemd/nmb.service.orig     2013-12-20 19:15:20.885742895 +0100
++++ samba-4.1.3/packaging/systemd/nmb.service  2014-01-01 16:38:17.089656135 +0100
+@@ -6,6 +6,8 @@
+ Type=forking
+ PIDFile=/run/samba/nmbd.pid
+ EnvironmentFile=-/etc/sysconfig/samba
++ExecStartPre=/bin/sh -c '[ "`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`" != "active directory domain controller" ]'
++ExecStartPre=/bin/sh -c '[ "`testparm -s --parameter-name="disable netbios" 2>/dev/null`" != "Yes" ]'
+ ExecStart=/usr/sbin/nmbd $NMBDOPTIONS
+ ExecReload=/usr/bin/kill -HUP $MAINPID
+--- samba-4.1.3/packaging/systemd/samba.service.orig   2014-01-01 16:44:59.833724642 +0100
++++ samba-4.1.3/packaging/systemd/samba.service        2014-01-01 16:45:17.763905567 +0100
+@@ -7,6 +7,7 @@
+ PIDFile=/run/samba/samba.pid
+ LimitNOFILE=16384
+ EnvironmentFile=-/etc/sysconfig/samba
++ExecStartPre=/bin/sh -c '[ "`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`" = "active directory domain controller" ]'
+ ExecStart=/usr/sbin/samba $SAMBAOPTIONS
+ ExecReload=/usr/bin/kill -HUP $MAINPID
index d129f75723add2e09c084d4d36d4809c59eace5d..541d58192a2d026d00ce7fe7878df39ea86f56a9 100644 (file)
--- a/smb.init
+++ b/smb.init
@@ -37,6 +37,11 @@ fi
 TMPDIR="/tmp"; export TMPDIR
 unset TMP || :
 
+SERVER_ROLE=`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`
+if [ "$SERVER_ROLE" = "active directory domain controller" ]; then
+       exit 0
+fi
+
 start() {
        # Check if the service is already running?
        if [ -f /var/lock/subsys/$lockname ]; then
@@ -47,9 +52,12 @@ start() {
        msg_starting "Samba SMB/CIFS Server"
        daemon /usr/sbin/smbd -D -s $CFGFILE
        RETVAL=$?
-       msg_starting "Samba NetBIOS Name Server"
-       daemon /usr/sbin/nmbd -D $CFGFILE
-       [ $RETVAL -eq 0 ] && RETVAL=$?
+       NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
+       if [ "$NMBD_DISABLED" != Yes ]; then
+               msg_starting "Samba NetBIOS Name Server"
+               daemon /usr/sbin/nmbd -D $CFGFILE
+               [ $RETVAL -eq 0 ] && RETVAL=$?
+       fi
        if [ $RETVAL -eq 0 ]; then
                touch /var/lock/subsys/$lockname
        fi
This page took 0.065136 seconds and 4 git commands to generate.