cifs, smb - ไม่สามารถเมานต์ (ปฏิเสธสิทธิ์) หรือนำทางโฟลเดอร์ที่แชร์


13

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

ดังนั้นฉันจึงพยายามติดตั้งตำแหน่งด้วยตนเองโดยใช้ cisf-utils ทำ:

sudo mount -t cifs //fileshare1/docs1/user/My\ Documents/shared/Francesco/ /home/frank/used_shared/ -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

mount error(13): Permission deniedฉันได้รับ

ฉันแน่ใจว่าผู้ใช้ของฉันมีสิทธิ์ในโฟลเดอร์นั้นเพราะฉันสามารถเข้าถึงได้จากเครื่อง windows

นอกจากนี้ถ้าฉันพยายามที่จะติดโฟลเดอร์ส่วนบุคคลของฉันในตำแหน่งนั้นผ่าน:

sudo mount -t cifs //fileshare1/docs5/francesco.azzarello/ /home/frank/mnt_folder -o username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000

ฉันสามารถเข้าถึงได้โดยไม่มีปัญหา

สำหรับการอ้างอิงฉันใช้เคอร์เนลทั่วไป 4.2.0-36 และรุ่น mount.cifs ของฉันคือ 6.4

มีความคิดเกี่ยวกับวิธีทำให้หนึ่งในวิธีทั้งสองทำงานอย่างไร


อัปเดตคำตอบของพอใช้ได้

หมายเลข 1: ตัวเลือก verbose ส่งกลับ:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,uid=1000,gid=1000,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

หมายเลข 2 นั้นเป็นสิ่งเดียวกัน:

_ mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

และไม่มีอะไรเปลี่ยนแปลงกับ vers = 2.1:

_mount.cifs kernel mount options: ip=xxx.xxx.xxx.xxx,unc=\\fileshare1\docs1,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,user=my_user,,domain=my_domain,prefixpath=user/My Documents/shared/Francesco/,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)_

สำหรับหมายเลข 4 ฉันสามารถเมานต์ docs1 ได้อย่างไม่มีปัญหา แต่ฉันสามารถนำทางไปยังโฟลเดอร์ที่แชร์ในผู้ใช้


ลอง ponsfrilus' เคล็ดลับ # 3 ที่มีvers=3.0อาจจะยังหรือvers=2.0 vers=1.0หากวิธีนี้ใช้ไม่ได้ผลคุณอาจอนุญาตให้เซิร์ฟเวอร์เชื่อมต่อกับรุ่น smb ในวงกว้างได้ ฉันมีปัญหานี้ด้วยตัวเองเพราะ smb3 ตั้งอยู่บนเซิร์ฟเวอร์ตามต้องการ ฉันไม่สามารถเชื่อมต่อกับ linux จนกว่าเซิร์ฟเวอร์จะลดรุ่น samba ที่ต้องการเป็น 2 ระบบปฏิบัติการใดที่เซิร์ฟเวอร์ทำงาน
emk2203

2
ฉันลองพวกเขาทั้งหมด ฉันยังคงได้รับ "ปฏิเสธสิทธิ์" ด้วย 3.0, 2.1 และ 2.0 ในขณะที่ฉันได้รับ "ข้อผิดพลาดที่ไม่รู้จัก" กับ 1.0 ฉันไม่ทราบวิธีตรวจสอบเวอร์ชันเซิร์ฟเวอร์ windows ในฐานะผู้ใช้เนื่องจากฉันไม่สามารถเข้าถึงได้โดยตรง
Frankmtl

ไม่สามารถช่วยคุณขอโทษได้ ฉันควบคุมเซิร์ฟเวอร์และปัญหาของฉันหายไปหลังจากผ่อนคลายรุ่น SMB ที่อนุญาต คุณสามารถเชื่อมต่อกับส่วนแบ่งของคุณเอง - ลินุกซ์กำหนดค่าผิดพลาดไม่น่า; คุณสามารถเชื่อมต่อผ่าน windows เพื่อแชร์ - การกำหนดค่าผิดพลาดของเซิร์ฟเวอร์ไม่น่าเป็นไปได้ สิ่งนี้เรียกว่ากูรู samba จริง
emk2203

คำตอบ:


10

ฉันค่อนข้างมั่นใจว่าฉันพบปัญหาเดียวกันนี้ในวันนี้บน Ubuntu 16.10 ฉันลองใช้คำแนะนำทั้งหมดในกระทู้นี้หลายครั้งฉันสามารถเชื่อมต่อส่วนแบ่งเดียวกันโดยใช้ Windows Server 2016 และฉันสามารถเรียกดูได้โดยใช้ smbclient ( smbclient -U brainstrust //WINBOX01/shared) ฉันได้ลองใช้ไฟล์ข้อมูลรับรองภายนอกแล้ว

ฉันพบปัญหาในการแก้ไข - แม้ว่าฉันจะสร้างผู้ใช้ภายในเครื่องสำหรับการแชร์บนกล่อง Windows แต่มันก็เข้าร่วมกับโดเมนด้วย โดยทั่วไปการตั้งค่าโดเมนเป็นเครื่องท้องถิ่น-o domain=WINBOX01แก้ไขปัญหาของฉันได้ทันทีดังนั้นการแสดงความคิดเห็นที่นี่ด้วยความหวังว่าจะเป็นประโยชน์กับใครบางคนที่นั่น

คำสั่งขั้นต่ำที่สมบูรณ์แบบที่ฉันใช้คือ:

sudo mount.cifs -v //WINBOX01/shared /home/geoff/winbox01  --verbose -o user=brainstrust,password=topsecret,domain=WINBOX01

ขอบคุณที่ฝากความคิดเห็นไว้ที่นี่ช่วยฉันได้
dleerob

ช่วยฉันด้วย ปรากฏว่าการเมานต์ -t cif ได้รับผลกระทบจากปัญหาเดียวกัน
เทอร์มินัลเมื่อ

นี่คือสิ่งที่เป็นปัญหาของฉัน ฉันมี~/.smbcredentialsไฟล์แล้ว ฉันตกใจที่รู้ว่า NAS ในท้องที่ของฉันให้ฉันแบ่งปันส่วนแบ่งด้วยรหัสผ่านที่ไม่ดีเป็นเวลานาน
Charlie

ผิดปกติเราต้องระบุชื่อโดเมน NetBIOS ไม่ใช่ชื่อโฮสต์ของ fileserver อย่างไรก็ตามมันใช้งานได้ตอนนี้ขอบคุณมาก
bviktor

9

ฉันคิดว่าคุณมีประเภทความปลอดภัยที่ไม่ถูกต้องสำหรับเซิร์ฟเวอร์ข้อผิดพลาด 13 หมายถึงเซิร์ฟเวอร์ไม่ยอมให้คุณเข้า

คุณจะต้องเลือกโหมดความปลอดภัยที่ถูกต้องในคำสั่ง mount เพิ่มตัวเลือกวินาทีผ่านทาง -o ดังนี้:

sec=
   Security mode. Allowed values are:
   ·   none - attempt to connection as a null user (no name)
   ·   krb5 - Use Kerberos version 5 authentication
   ·   krb5i - Use Kerberos authentication and forcibly enable packet 
       signing
   ·   ntlm - Use NTLM password hashing
   ·   ntlmi - Use NTLM password hashing and force packet signing
   ·   ntlmv2 - Use NTLMv2 password hashing
   ·   ntlmv2i - Use NTLMv2 password hashing and force packet signing
   ·   ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message
   ·   ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message, and force packet signing

1
ฉันพยายามทั้งหมดของพวกเขาและฉันได้รับอนุญาต "ปฏิเสธ" หรือ "ข้อผิดพลาดที่ไม่รู้จัก" ขึ้นอยู่กับชนิดวินาที
Frankmtl

จากปัญหาด้านความปลอดภัยล่าสุดทั้งหมดของ SMB ฉันจะแนะนำเฉพาะการใช้มาตรการรักษาความปลอดภัยเพิ่มเติมที่มีอยู่ในสถานที่เช่นการตรวจสอบไวรัสที่ทันสมัย
Amias

ลองใช้ sec = ntlmssp และตรวจสอบว่าเซิร์ฟเวอร์แซมบ้ากำหนดค่าของคุณเข้ารหัสรหัสผ่าน
Humpity

บันทึกวันของฉัน จริง ๆ แล้วสิ่งที่ฉันทำคือเพิ่งลบวินาที = ntlm แล้วมันทำงาน
chuckedw

คุณควรย้ายออกจาก SMB ทุกวันนี้มันเป็นแหล่งที่มาของการโจมตีที่ใกล้และการเพิ่มระดับอย่างต่อเนื่อง
Amias

4
  1. ลองเพิ่มตัวเลือก "-v" เพื่อรับเอาต์พุต verbose:

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o \
       username=my_user,password=my_pass,domain=my_domain,gid=1000,uid=1000
    
  2. ทดสอบด้วยตัวเลือกเหล่านี้เพื่อคำสั่ง mount

    iocharset = utf8, rw, file_mode = 0777, dir_mode = 0777 :

    sudo mount -v -t cifs //fileshare1/docs1/user/My\ 
       Documents/shared/Francesco/ /home/frank/mnt_folder -o 
       username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    
  3. การทดสอบระบุ SMB ตัวเลือกรุ่น (Vers = 2.1) ดูวิกิพีเดีย samba ไว้ จากหน้าคน mount.cifs:


    รุ่น= รุ่นโปรโตคอล SMB ค่าที่อนุญาตคือ:

    • 1.0 - โปรโตคอล CIFS / SMBv1 แบบคลาสสิก นี่คือค่าเริ่มต้น

    • 2.0 - โปรโตคอล SMBv2.002 นี่เป็นครั้งแรกที่มีการนำมาใช้ใน Windows Vista Service Pack 1 และ Windows Server 2008 โปรดทราบว่า Windows Vista รุ่นวางจำหน่ายครั้งแรกพูดภาษาถิ่นที่แตกต่างออกไปเล็กน้อย (2.000) ที่ไม่รองรับ

    • 2.1 - โปรโตคอล SMBv2.1 ที่เปิดตัวใน Microsoft Windows 7 และ Windows Server 2008R2

    • 3.0 - โปรโตคอล SMBv3.0 ที่เปิดตัวใน Microsoft Windows 8 และ Windows Server 2012

  4. สุดท้ายให้ลองแชร์เฉพาะหุ้นแรก:

    sudo mount -v -t cifs //fileshare1/docs1/ /home/frank/mnt_folder \
       -o username=my_user,password=my_pass,domain=my_domain,\
       iocharset=utf8,rw,file_mode=0777,dir_mode=0777
    

เอาต์พุต verbose ใด ๆ ที่คุณสามารถแชร์ได้อาจช่วยได้


ขอบคุณสำหรับคำตอบ ฉันไม่พบวิธีที่ดีกว่าในการเล่นซ้ำนอกจากอัปเดตคำถาม คุณสามารถค้นหาผลลัพธ์ของคำสั่งเหล่านั้นได้ในการอัปเดต
Frankmtl

@Frankmtl คุณสามารถเปรียบเทียบสิทธิ์ของโฟลเดอร์ใน docs1 และ docs5 fileshare1 ได้หรือไม่
ponsfrilus

ขออภัยสำหรับการตอบกลับปลาย. หากคุณหมายถึงการอนุญาตของโฟลเดอร์หลังจากที่ฉันเมาพวกเขาทั้งสองมี drwxr-xr-x
Frankmtl

ในการเข้าถึงเซิร์ฟเวอร์ Windows 2012 share (smb2) คุณต้องเพิ่ม ,vers=2.1 หลัง uid = 1000 (aka end of line) ฉันติดตั้งแพคเกจ "cifs-utils" ด้วย
laugeo

2

สำหรับปัญหานี้เมื่อใช้ cif สูงกว่า 6.0: cif รุ่นใหม่ใช้ตัวแปรโดเมนแทนดังนั้นไฟล์ creadentials จะมีลักษณะดังนี้:

username=<your username>
password=<your password>
domain=<your domain>

=วิธีการแก้ปัญหาสำหรับฉันเป็นจริงไม่มีช่องว่างก่อนและหลัง
WM

2

การเพิ่มตัวเลือกsec=ntlmในคำสั่ง mount แก้ไขปัญหาของฉันได้

เช่น:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.