क्या सांबा पूर्ण विंडोज-एसीएल का समर्थन कर सकता है?


12

मैंने AD एकीकरण और एक ACL सक्षम फाइल सिस्टम के साथ एक सांबा 3 होस्ट स्थापित किया है। विंडोज़ क्लाइंट का उपयोग करके मैं उपयोगकर्ताओं और समूहों की अनुमतियां सेट कर सकता हूं।

अब तक, सांबा सिर्फ पॉसिक्स ACL के rwx अनुमतियों के लिए मैप करता है, जो मुझे विंडोज पर "संशोधित" या "पूर्ण नियंत्रण" अनुमतियों का उपयोग करने से रोकता है। मैंने xattrs और ZFS ACL सपोर्ट के बारे में कुछ बातें भी पढ़ीं।

क्या कोई व्यक्ति संकेत दे सकता है कि विंडोज एसीई से पूरी तरह से मेल खाने के लिए पोसिक्स एसीएल से आगे जाने का सबसे अच्छा तरीका क्या है?

जवाबों:


7

यह मैंने हमेशा किया है, यह बिल्कुल निश्चित नहीं है कि मैं यह कहां पढ़ता हूं।

AD से जुड़े अपने Samba के शेयरों में अधिकांश विंडोज़ ACL विकल्प होने के लिए आपको POSIX ACL और XATTRS दोनों सक्षम करने की आवश्यकता है:

/dev/sda2       /samba              ext3    user_xattr,acl  1   2

और अपने smb.conf में आपको idmapping, nt acls और attribute mapping को इस तरह सक्षम करने की आवश्यकता है:

idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
idmap backend = idmap_rid:<domain_netbios_name>=16777216-33554431

nt acl support = yes
inherit acls = yes

map acl inherit = yes 
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
inherit permissions = yes

फिर आपको केवल शेयर के लिए व्यवस्थापक उपयोगकर्ता को परिभाषित करने की आवश्यकता है, और उस उपयोगकर्ता के साथ विंडोज से सुरक्षा सेटिंग्स संपादित करें।

[public]
path = /share/Public
public = yes
writable = yes
printable = no
admin users = "DOMAIN\user"

केवल समस्याएँ मौजूदा ACL (आप "विस्थापित" और अपने विंडोज उपयोगकर्ता के स्वामित्व को हस्तांतरित) और अनमैप्ड उपयोगकर्ता समूहों से संबंधित हो सकती हैं।

मैन्युअल रूप से समूहों को मैप करने के लिए आपको ऐसा कुछ करने की आवश्यकता है:

net groupmap delete ntgroup="Domain Admins"
net groupmap delete ntgroup="Domain Users"
net groupmap delete ntgroup="Domain Guests"

net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root
net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users 
net groupmap add ntgroup="Domain Guests" rid=514 unixgroup=nobody 

बिलिन सुरक्षा समूहों के लिए।

और फिर अपने सभी समूहों के लिए:

groupadd mygroup
net groupmap delete ntgroup="mygroup"   
net groupmap add ntgroup="DOMAIN\mygroup" rid=1000  unixgroup=mygroup   type=d

2
मैं बदल जाएगा admin usersकरने के लिए acl group controlऔर सेट force group = +DOMAIN\Admin-group, इस तरह से आप व्यवस्थापक अनुमतियों के साथ कई हो सकता है।
ह्यूबर्ट करियो

4

यदि आपको फ़ाइलों पर POSIX ACLs की आवश्यकता नहीं है, तो वास्तव में प्रयोग करने योग्य होने के लिए (उदाहरण के लिए, जब उपयोगकर्ता आपके Samba नियंत्रक से स्थानीय रूप से लॉगिन नहीं कर सकते हैं), तो आप vfs का उपयोग करके पूर्ण NT ACL हो सकते हैं:

[वैश्विक]
  dos विशेषताएँ स्टोर करें = हाँ
[साझा करें]
  vfs ऑब्जेक्ट्स = acl_xattr

1

आपको दो काम करने होंगे।

सबसे पहले, आपके फाइल सिस्टम को ACL का समर्थन करना चाहिए। यहाँ एक fstab फ़ाइल में एक पंक्ति का एक उदाहरण दिया गया है जो ACL को सक्षम करता है, निश्चित रूप से आपकी इच्छा अलग होगी:

/dev/mapper/VolGroup00-SambaVol /samba ext3 defaults,acl 0 0

एक बार जब आप ऐसा कर लेते हैं (और रिमूव या रिबूट हो जाते हैं) तो आप अपने smb.bf फ़ाइल में nt acl को सक्षम करना चाहेंगे:

[share1]
   path = /samba/share1
   nt acl support = yes
   writeable = yes

एक बार जब आप दोनों कर चुके होते हैं और सांबा को पुनः आरंभ कर देते हैं तो आपके पास उचित एसीएल होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.