1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

s4-provision Ensure we have posix ACLs before we permit a s3fs-based Samba4 to be configured

This commit is contained in:
Andrew Bartlett
2012-05-07 17:06:23 +10:00
parent 859aa43f73
commit 0678eb6cdf

View File

@ -38,11 +38,13 @@ import uuid
import socket
import urllib
import string
import tempfile
import ldb
from samba.auth import system_session, admin_session
import samba
from samba.samba3 import smbd
from samba.dsdb import DS_DOMAIN_FUNCTION_2000
from samba import (
Ldb,
@ -1658,6 +1660,18 @@ def provision(logger, session_info, credentials, smbconf=None,
server_services.append("+s3fs")
global_param["dcerpc endpoint servers"] = ["-winreg", "-srvsvc"]
if targetdir is not None:
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(targetdir))
else:
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(os.path.dirname(lp.get("private dir"))))
try:
try:
smbd.set_simple_acl(file.name, root_uid, wheel_gid)
except Exception:
raise ProvisioningError("Your filesystem or build does not support posix ACLs, s3fs is unworkable in this mode")
finally:
file.close()
if len(server_services) > 0:
global_param["server services"] = server_services