วิธีการตั้งค่าแชร์แซมบ้าสำหรับเครือข่ายที่ชนะ


3

TY ล่วงหน้าสำหรับความช่วยเหลือทั้งหมดที่ฉันจะได้รับเกี่ยวกับปัญหานี้

ฉันมีภารกิจที่ไม่พึงประสงค์ในการตั้งค่าเซิร์ฟเวอร์ Ubuntu ด้วย samba สำหรับเซิร์ฟเวอร์ไฟล์

เพื่อให้ซับซ้อนยิ่งขึ้นฉันต้องทำดังนี้

4 กลุ่มผู้ใช้ที่แตกต่างกันประมาณ 15 ผู้ใช้บนเครือข่าย

กลุ่มสี่ควรมีระดับการเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันที่แตกต่างกัน

FE: กลุ่มคือ "สูง", "กลาง", "ต่ำ" และ "แขก" แต่ละกลุ่มควรมีโฟลเดอร์ของตัวเองตั้งชื่อตามกลุ่มและการเข้าถึงโฟลเดอร์และโฟลเดอร์ของตนเองที่อยู่ในกลุ่มระดับ LOWER กลุ่ม "สูง" ควรมีการเข้าถึง R / W สำหรับทุกโฟลเดอร์ "mid" ไม่มีการเข้าถึงโฟลเดอร์ "hihg" แต่ R / W ไปยังโฟลเดอร์กลางและโฟลเดอร์ระดับต่ำกลุ่มต่ำจะสืบทอดสิ่งนี้ในลักษณะเดียวกันสามารถโฟลเดอร์ R / W ต่ำได้ แต่ไม่สามารถเข้าถึงโฟลเดอร์กลางหรือโฟลเดอร์สูง

สิ่งที่ฉันมีคือการติดตั้ง UBUNTU 12.04.1LTS ใหม่และความรู้พื้นฐานเกี่ยวกับ Linux


คำแนะนำใด ๆ ที่ชื่นชมอย่างมาก


ทำไมคุณต้องใช้ Ubuntu - คุณต้องให้บริการ NFS ด้วยหรือไม่ คำถามที่สองทำไมคนที่มีความรู้พื้นฐานเกี่ยวกับลินุกซ์ถึงได้รับงานที่ส่งมอบให้กับคนที่มีทักษะระดับ SysAdmin? คุณต้องการบริการการตรวจสอบความถูกต้องหรือค้นหาไดเรกทอรีเช่น (เช่น ldap / kerberos / AD) หรือทั้งหมดนี้จะได้รับการอนุญาตในท้องถิ่นหรือไม่
MaQleod

ใช่ฉันต้องการ NFS "ความรู้พื้นฐาน" หมายถึงฉันไม่ได้เลิกงาน - และต้องการความช่วยเหลือ :) ทำไมฉันถึงได้งานนี้? เพราะฉันอาจจะเป็นคนเดียวที่สามารถทำให้สำเร็จ - คนที่เหลือที่เหลืออยู่มีความรู้น้อยกว่าฉัน ... (facepalm) เครือข่ายคือ LAN และมีการเข้าถึงอินเทอร์เน็ต แต่เซิร์ฟเวอร์จะใช้ภายในเครื่องเท่านั้นและผู้ใช้ควรสามารถแมปไดรฟ์ของตนได้
ถ้วย

เราสามารถสมมติ Active Directory หรือไม่และคุณจะตั้งค่าผู้ใช้ด้วยตนเองบนเซิร์ฟเวอร์?
nerdwaller

ใช่ฉันจะเพิ่มผู้ใช้แต่ละคนด้วยตนเอง
ถ้วย

และขอบคุณที่สละเวลาช่วยฉันด้วยฉันขอขอบคุณมัน
ถ้วย

คำตอบ:


1

ฉันจะเริ่มต้นโดยสมมติว่าคุณมี:

  1. ติดตั้ง Samba แล้ว
  2. มีโครงสร้างไฟล์ไว้แล้ว (โฟลเดอร์กลุ่มเมานต์ ฯลฯ )
  3. ส่วนใหญ่จะทำงานในส่วนการกำหนดค่าในขณะนี้
  4. เนื่องจากมีผู้ใช้ 15 คน - ฉันสมมติว่าคุณไม่มีโดเมนไดเรกทอรีที่ใช้งานและจะได้รับการจัดการด้วยตนเองบนเซิร์ฟเวอร์

หมายเหตุ : ฉันไม่ใช่ผู้ดูแลระบบและไม่สามารถบอกคุณได้ว่านี่เป็นวิธีที่ปลอดภัยที่สุดในการทำงานให้สำเร็จอย่างไรก็ตามมันควรจะทำงานและตรงไปตรงมา ดูเหมือนว่าจะไม่ใช่เรื่องใหญ่ แต่ในอนาคตคุณอาจต้องการจัดโครงสร้างใหม่หากองค์กรขยายหรือคุณใช้ AD หรือบริการบางโดเมน เมื่อคุณพูดถึงมันไม่ได้เชื่อมต่อกับเว็บฉันจะไม่เข้าสู่สิ่งนั้นจริงๆ

ตอนนี้คุณต้องทำงานใน/etc/samba/smb.confไฟล์ (ซึ่งจะต้องมีการอนุญาตรูท)

โครงสร้างพื้นฐานของไฟล์ smb.conf คือ:

[sharename]
    comment = Whatever comment you want
    path = /path/to/share
    browseable = no   ; I assume...
    read only = no
    writeable = yes   ; Redundant of read only, but whatever
    create mask = 0700
    directory mask = 0700
    valid users = @groupname

ดังนั้นสำหรับสถานการณ์ของคุณมันอาจดูเหมือน:

[high]
    comment = The High User group
    path = /srv/high
    browseable = no
    read only = no
    writable = yes
    create mask = 0700
    directory mask = 0700
    valid users = @high
[mid]
    comment = The Mid User Group
    path = /srv/mid
    ... (copy from above)
    valid users = @high @mid
[low]
    comment = The Low User group
    path = /srv/low
    ...
    valid users = @high @mid @low
[guest]
    comment = The Guest User Group
    path = /srv/guest
    .... ; No valid users needed...

[ต้องแน่ใจว่าคุณมีเส้นทางที่ถูกต้องฉันจะติดมันอย่างนั้น - แต่ไม่แน่ใจว่าโครงสร้างของคุณ]

คุณจะต้องเพิ่มกลุ่มในเครื่องของคุณ:

addgroup {สูง, กลาง, ต่ำ, แขกรับเชิญ}

จากนั้นคุณต้องการผู้ใช้ทั้งหมดที่สร้างขึ้นบนเซิร์ฟเวอร์ของคุณ (เว้นแต่ว่าคุณต้องการไปที่เส้นทางsmbusersซึ่งอาจจะมีประโยชน์มากกว่านี้หากคุณตั้งใจจะขยาย)

useradd -m -g users -G high -s /bin/nologin USERNAME

ที่เพิ่มผู้ใช้ชื่อ "USERNAME" ให้กับกลุ่ม "ผู้ใช้" และกลุ่มเพิ่มเติม "สูง" passwd USERNAMEจากนั้นการตั้งรหัสผ่าน ตั้งค่าเชลล์เป็น nologin เพื่อให้ไม่สามารถล็อกอินแบบโลคัลบนเซิร์ฟเวอร์และรันคำสั่ง

จากนั้นเพิ่มผู้ใช้นั้นใน SAMBA:

smbpasswd -a USERNAME

รีสตาร์ท Samba เพื่อลอง:

Systemd:

service smb restart

ในนั้น:

/etc/init.d/smb reload

ใน[global]ส่วนฉันขอแนะนำให้คุณเปิดใช้งานunix password sync = yes(ฉันเชื่อว่าเป็นค่าเริ่มต้นแล้ว) ด้วยวิธีการที่สิ่งที่รหัสผ่าน unix ของพวกเขาคือรหัสผ่านสำหรับการแบ่งปัน

หากต้องการติดตั้งจาก windows คุณต้องทำ: \\SERVERNAMEorIP\highจาก "map network drive" ใน My Computer


ฉันจะลองและกลับไปแจ้งให้ทราบเกี่ยวกับผลลัพธ์โดยเร็ว ๆ นี้ TYVM เพื่อขอความช่วยเหลือ
ถ้วย

@Cups - คุณได้รับหวังว่าฉันจะจำทุกขั้นตอนจากการตั้งค่าเซิร์ฟเวอร์ที่บ้านของฉัน เมื่อคุณไปถึงสิ่งที่ NFS คำแนะนำเกี่ยวกับArch Wikiนั้นค่อนข้างดี แต่สำหรับเดเบียนฉันคิดว่ามันเป็นnfs-kernel-serverและnfs-common(แต่ตรวจสอบอีกครั้ง) ไม่แน่ใจว่าทำไมคุณถึงใช้ Ubuntu เป็นเซิร์ฟเวอร์ฉันจะติดตั้งขั้นต่ำ Debian แต่นั่นเป็นเพียงฉัน
nerdwaller

UR the man !!! ป่านฉะนี้ (ด้วยความช่วยเหลือของคุณ): เพิ่มการแบ่งปันสำหรับแต่ละกลุ่มเพิ่มกลุ่มผู้ใช้เพิ่มตั้งรหัสผ่านแต่ละกลุ่มสามารถเข้าถึงไฟล์ของพวกเขา สิ่งเดียวที่ฉันต้องเปลี่ยนคือ: smbd restart แทน smb restart & reload smbd แทน /etc/init.d/smb reload ฉันจะซื้อกาแฟให้คุณทันที !! TYVM ฉันเป็นหนี้ตัวใหญ่ตัวหนึ่ง
ถ้วย

@Cups ดีใจที่คุณได้รับมี ตรวจสอบให้แน่ใจว่าโฟลเดอร์ที่คุณสร้างขึ้นสำหรับแต่ละกลุ่มมีสิทธิ์ที่เหมาะสมในการอนุญาตให้ผู้ใช้เขียน ls -lคุณจะได้รับสิทธิ์การใช้โฟลเดอร์เจ้าของและกลุ่ม usersผมก็อาจจะเปลี่ยนกลุ่ม จากนั้นคุณสามารถปรับเปลี่ยนสิทธิ์ที่จะมี660 chmod 660 folderNameที่ควรอนุญาตให้เจ้าของและสมาชิกกลุ่มอ่านและเขียน แม้ว่าจะไม่แน่ใจว่าวิธีการโต้ตอบกับ Samba ฉันเชื่อว่าแซมบ้าจะปกครอง แต่ถ้าไม่คุณสามารถเปลี่ยนกลุ่มเป็นกลุ่มที่เกี่ยวข้อง
nerdwaller

มันประสบความสำเร็จโดยสิ้นเชิง;) MaQleod ขาดความเชื่อมั่นในตัวฉัน แต่สุดท้ายแล้วงานก็ทำได้ดีโดยไม่มี SysAdmin เลเวลความรู้ แต่ด้วยความช่วยเหลือ ฉันเชื่อว่างานทั้งหมดสามารถทำได้ด้วยความรู้เท่านั้นที่จะหาคำตอบ และสิ่งที่ฉันชอบมากที่สุด: กับ linux ฉันไม่เคยมีปัญหาในการค้นหา ppl ที่เต็มใจช่วยเหลือและแบ่งปันความรู้ อีกครั้ง: ขอบคุณมากสำหรับคำตอบที่รวดเร็วและแม่นยำและความเต็มใจในการช่วยเหลือ PS: ฉันรักที่จะซื้อเครื่องดื่มสักวันหนึ่ง;) UR HERO ของฉัน bc U บันทึกวัน!
ถ้วย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.