ทำไมแซมบ้าถึงปฏิเสธการเข้าถึงส่วนแบ่งของฉัน


10

บน CentOS 5.2 ของฉันกล่องทำงานแซมบ้า (3.0.33-3.29) /uploadฉันสร้างโฟลเดอร์ที่เรียกว่า

ในแซมบ้าฉันกำหนดค่าการแชร์แบบนี้:

[ที่อัพโหลด]
        comment = อัพโหลดโฟลเดอร์
        path = / upload
        ผู้ใช้ที่ถูกต้อง = kevin root
        สาธารณะ = ใช่
        เขียนได้ = ใช่
        เรียกดูได้ = ใช่
        สร้างหน้ากาก = 0777
        directory mask = 0777
        guest ตกลง = ใช่

ฉันchownเป็น/uploadโฟลเดอร์ไปยังบัญชีของฉัน 'kevin' และตรวจสอบว่าฉันสามารถสร้างไฟล์และโฟลเดอร์ผ่านเชลล์ได้

ฉันสามารถเรียกดูเครื่องจาก Windows 7 รับรองความถูกต้องเป็น 'เควิน' และดูไดเรกทอรีบ้านของฉันและการuploadแชร์ แต่ฉันไม่สามารถเข้าถึงได้

รายงาน Windows:

เครือข่ายผิดพลาด

Windows ไม่สามารถเข้าถึง \\ cos-01 \ upload

ตรวจสอบการสะกดชื่อ มิฉะนั้นอาจมีปัญหากับเครือข่ายของคุณ หากต้องการลองระบุและแก้ไขปัญหาเครือข่ายให้คลิกวินิจฉัย

รหัสข้อผิดพลาด: 0x80070035
ไม่พบเส้นทางเครือข่าย

นี่คือรายการตรวจสอบสิ่งที่ฉันทำ:

  • บัญชีkevinถูกเพิ่มไปยังแซมบ้าโดยใช้smbpasswd -a kevinและตั้งรหัสผ่านของฉันในเวลาเดียวกัน รหัสผ่านของ samba และ centos นั้นเหมือนกัน
  • ชื่อเซิร์ฟเวอร์cos-01อยู่ใน/etc/hostsไฟล์เช่น
172.0.0.1 localhost localhost.localdomain
172.17.3.90 cos-01
  • ฉันยังตั้งชื่อ netbios ด้วย /etc/samba/smb.conf
  • ฉันกำหนดค่าระดับการตรวจสอบความถูกต้อง LAN Manager ของ Windows 7 เป็น "ส่ง LM & NTLM - ใช้การรักษาความปลอดภัยเซสชัน NTLMv2 หากมีการเจรจาต่อรอง"

ปรับปรุง:

ฉันพยายามเข้าถึงการแชร์โดยที่อยู่ IP และชื่อเซิร์ฟเวอร์เช่น \ cos-01 \ upload หรือ \ 172.16.3.90 \ upload ในทั้งสองกรณีฉันได้รับข้อผิดพลาดเดียวกันตามรายละเอียดด้านบน

ฉันตรวจสอบ/var/log/samba/smbd.loglogfile และดูจำนวนมาก:

[2010/07/02 16:56:10, 0] smbd / service.c: make_connection_snum (1013)
  '/ upload' ไม่มีอยู่หรือปฏิเสธการอนุญาตเมื่อเชื่อมต่อกับ [upload] ข้อผิดพลาดถูกปฏิเสธการอนุญาต

คำตอบ:


5

SELinux เปิดใช้งานอยู่หรือไม่ หากเป็นเช่นนั้นคุณสามารถทำให้เข้าถึงได้โดยตั้งค่าเป็น public_content_t หาก samba สามารถเขียนได้ให้ตั้งค่าเป็น public_content_rw_t โปรดทราบว่าหากคุณทำสิ่งหลังนี้คุณจะต้องบอก SELinux เกี่ยวกับเรื่องนี้ด้วย system-config-selinux ของฉันมีบูลีนสำหรับสิ่งนี้:Allow Samba to write files in directories labeled public_content_rw_t


สวัสดี Kevin - SELinux เปิดใช้งาน (บังคับใช้ / กำหนดเป้าหมาย) ฉันดูเหมือนจะไม่มีsystem-config-selinuxเครื่องมือ ฉันสามารถตั้งค่านี้โดยใช้setsebool allow_smbd_anon_write 1เหมือนกันได้หรือไม่
Kev

ตกลง ... จำเป็นต้อง yum ติดตั้ง policycoreutils-gui เพื่อรับ system-config-selinux ... แต่นี่เป็นเซิร์ฟเวอร์และฉันเดาว่านี่เป็นเครื่องมือที่ใช้ gui หรือไม่?
Kev

system-config-selinux เป็นเครื่องมือที่ใช้ gui หากฉันเรียกใช้สิ่งนั้นบนเซิร์ฟเวอร์ของฉันและสลับตัวเลือกฉันจะพบว่าgetsebool allow_smbd_anon_writeส่งคืนผลลัพธ์ที่ถูกสลับ ดังนั้นฉันจะเรียกใช้คำสั่งนั้นและดูว่ามันทำงาน
Kevin M

4
setenforce 0- จะทดสอบว่า SELinux เป็นสาเหตุของปัญหาหรือไม่ การรีสตาร์ทหรือsetenforce 1จะเปิดอีกครั้ง
Joshua Enfield

3

มีข้อมูลเพิ่มเติมที่คุณจะต้องให้เพื่อตอบคำถามนี้

ฉัน chown'd /uploadโฟลเดอร์ไปยังบัญชีของฉัน 'เควิน' และตรวจสอบว่าฉันสามารถสร้างไฟล์และโฟลเดอร์ผ่านเปลือก

  • คุณทำสิ่งนี้chownในฐานะรูตหรือเควินหรือเป็นบัญชีอื่นหรือไม่?
  • กลุ่มที่ได้รับมอบหมายในไดเรกทอรีปัจจุบันคืออะไร?
  • โหมดของไดเรกทอรีคืออะไร มีการตั้งค่าบิตรันการสำหรับผู้ใช้และกลุ่มหรือไม่?

ฉันสามารถเรียกดูเครื่องจาก Windows 7 รับรองความถูกต้องเป็น 'เควิน' และดูไดเรกทอรีบ้านของฉันและส่วนแบ่งการอัปโหลด แต่ฉันไม่สามารถเข้าถึงได้

  • Windows 7 ของคุณเป็นสมาชิกของเวิร์กกรุ๊ปเดียวกันกับเซิร์ฟเวอร์ Samba หรือไม่?
  • เซิร์ฟเวอร์เป็นสมาชิกของโดเมนเป็นตัวควบคุมโดเมนหรือเป็นเซิร์ฟเวอร์แบบสแตนด์อโลนหรือไม่ หากเครื่อง Windows 7 ของคุณอยู่ในโดเมนคุณจะต้องพิจารณาเข้าร่วมเซิร์ฟเวอร์กับโดเมนด้วย ในขณะที่ไม่จำเป็นก็จะช่วยในการตรวจสอบ
  • การsecurity =ตั้งค่าในปัจจุบัน/etc/samba/smb.confคืออะไร ใน ถ้าเซิร์ฟเวอร์แซมบ้าของคุณเป็นสมาชิกของโดเมนมันอาจจะเป็นsecurity = ads; ถ้าเซิร์ฟเวอร์แซมบ้าของคุณจะยืนอยู่คนเดียวมันอาจจะเป็นได้ทั้งหรือsecurity = usersecurity = share
  • คุณมีรายการclient signing = noหรือไม่? (คุณอาจต้องyesใช้แทนเมื่อเชื่อมต่อกับไคลเอนต์ Windows ที่ใหม่กว่า)
  • คุณมีรายการclient use spnego = noหรือไม่? (คุณอาจต้องyesใช้แทนเมื่อเชื่อมต่อกับไคลเอนต์ Windows ที่ใหม่กว่า)
  • มีการwinbindทำงานอยู่หรือไม่ หากเซิร์ฟเวอร์ของคุณไม่ใช่สมาชิกของโดเมนหรือตัวควบคุมโดเมนอาจทำให้เกิดความสับสนเล็กน้อยในขณะทำงาน เซิร์ฟเวอร์แบบสแตนด์อะโลนไม่ต้องการบริการนี้

ขอบคุณสำหรับคำตอบฉันจะตรวจสอบสิ่งนี้เมื่อฉันมีเวลาสักครู่เพื่อหันความสนใจกลับไปที่สิ่งนี้
Kev

0

อืมซึ่งปกติแล้วจะหมายถึงว่าโลคัลพา ธ / อัพโหลด (ดังนั้นการอัพโหลดในรูทของ servr ของคุณ) ไม่มีอยู่บนเซิร์ฟเวอร์ของคุณ


มีโฟลเดอร์อยู่อย่างแน่นอน
Kev

0

ลองเข้าถึงเซิร์ฟเวอร์ samba ด้วยที่อยู่ ip แทน: \ _ip_address_of_samba_server_ \ upload

ตรวจสอบล็อกแซมบ้าใน /var/log/samba/log.smbd และดูว่าไคลเอนต์ windows พยายามล็อกอินจริงๆมิฉะนั้นจะมีปัญหากับเครือข่าย และข้อผิดพลาดดูเหมือนว่า ..

ขอแสดงความนับถืออย่างสูง,

นกนางแอ่น


สวัสดี Martin - ฉันเพิ่งปรับปรุงคำถามพร้อมคำตอบสำหรับคำแนะนำของคุณ ไชโย
Kev

สวัสดี Kev ฉันขอโทษที่ตอบกลับมาช้าฉันไม่ได้อยู่ที่นี่สักพัก การกำหนดค่าถูกต้อง (ลองคำสั่งtestparm)? คุณพยายามเมาแชร์จาก linux (ผ่านsmbmount) หรือไม่?
mkudlacek

0

ลองสิ่งนี้มันช่วยฉัน

http://winplat.net/post/2012/04/04/Unable-to-access-Samba-shares-from-Windows-7-with-error.aspx

  • เปิดใช้งาน NetBIOS ผ่าน TCP / IP
  • เลือกระดับการรับรองความถูกต้อง
  • การลงชื่อ SMB
  • 'ลูกค้าสำหรับเครือข่าย Microsoft'
  • คำสั่งเชื่อมโยงเครือข่าย

2
โปรดระบุข้อมูลที่เกี่ยวข้องของลิงก์ในคำตอบของคุณลิงก์อาจตายไปหนึ่งวันแล้วคำตอบของคุณจะไร้ประโยชน์
Lucas Kauffman

ชอบไหม ...
Moshe

@Moshe อาจให้ความสนใจกับวันที่แก้ไขและวันที่แสดงความคิดเห็น?
HopelessN00b

-1

smbclient พูดว่าอะไรถ้าคุณพยายามเชื่อมต่อผ่าน localhost ข้อผิดพลาดเดียวกันหรือเพียงแค่ SNAFU smbclient และวินโดวส์ทำอะไรกัน คุณพยายามลงชื่อเข้าใช้ในฐานะไม่มีใครเพื่อดูว่าไดเรกทอรีของคุณสามารถเข้าถึงได้

และสุดท้าย แต่อย่างน้อย .... http://www.tomshardware.com/forum/75-63-windows-samba-issue

ซึ่งแนะนำว่าระดับการรักษาความปลอดภัยลดลงจาก (ใหม่) 128 บิตช่วยให้สามารถเชื่อมต่อกับ Windows รุ่นเก่าและรุ่นที่ใช้ร่วมกันได้มากขึ้น

- ไม่มีอะไรเลย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.