ข้อผิดพลาดในการติดตั้ง 13 = ปฏิเสธสิทธิ์การใช้งาน


44

หนึ่งในเซิร์ฟเวอร์ของฉันถูกตั้งค่าให้เมานต์ไดเรกทอรี Windows โดยอัตโนมัติโดยใช้ fstab อย่างไรก็ตามหลังจากรีบูตครั้งล่าสุดมันก็หยุดทำงาน บรรทัดใน fstab คือ:

//myserver/myfolder /mnt/backup cifs credentials=home/myfolder/.Smbcredentials

.Smbcredentialsไฟล์:

username=myaccount
password=mypassword
domain=mydomain

ฉันทำและฉันได้รับmount -a mount error 13 = Permission deniedถ้าฉันทำอย่างนั้นพอมันจะล็อคบัญชี Windows ของฉันดังนั้นฉันรู้ว่ามันกำลังพยายามอยู่ ฉันตรวจสอบว่ารหัสผ่านถูกต้อง

ผมทำอะไรผิดหรือเปล่า?


4
คุณสามารถลองเชื่อมต่อจากบรรทัดคำสั่งด้วยmount -t cifs //myserver/myfolder /mnt/backup --verbose -o credentials=home/myfolder/.Smbcredentialsและเพิ่มข้อมูลการแก้จุดบกพร่อง (ฆ่าเชื้อ) ให้กับคำถามของคุณได้หรือไม่?
bsd

cifs-utilsคุณติดตั้งdistro และรุ่นอะไร? ฉันเคยมีปัญหานี้มาก่อนและเชื่อว่าเป็นเพราะมีการอัปเดต
slm

คำตอบ:


44

สองสิ่งที่ต้องตรวจสอบ ฉันทำสิ่งที่คล้ายกันและคุณสามารถทดสอบการติดตั้งโดยตรงโดยใช้mountคำสั่งเพื่อให้แน่ใจว่าคุณมีการตั้งค่าสิ่งที่ถูกต้อง

สิทธิ์ในไฟล์ข้อมูลรับรอง

ตรวจสอบให้แน่ใจว่าไฟล์นี้ได้รับอนุญาตถูกต้อง

$ sudo ls -l /etc/smb_credentials.txt 
-rw-------. 1 root root 54 Mar 24 13:19 /etc/smb_credentials.txt

verbose mount

คุณสามารถเกลี้ยกล่อมข้อมูลเพิ่มเติมจากการmountใช้-vสวิตช์ซึ่งมักจะแสดงให้คุณเห็นว่าสิ่งต่าง ๆ สะดุด

$ sudo mount -v -t cifs //server/share /mnt \
    -o credentials=/etc/smb_credentials.txt

ส่งผลให้ผลลัพธ์นี้ถ้ามันทำงาน:

mount.cifs kernel mount options: ip=192.168.1.14,unc=\\server\share,credentials=/etc/smb_credentials.txt,ver=1,user=someuser,domain=somedom,pass=********

ตรวจสอบบันทึก

หลังจากใช้คำสั่งดังกล่าวข้างต้นติดมาดูภายในของคุณdmesgและ/var/log/messagesหรือ/var/log/syslogไฟล์ข้อความผิดพลาดใด ๆ mountที่อาจได้รับการสร้างขึ้นเมื่อคุณพยายาม

ประเภทของความปลอดภัย

คุณสามารถผ่านตัวเลือกพิเศษจำนวนมากผ่าน-o ..สวิตช์เพื่อเมานต์ ตัวเลือกเหล่านี้เป็นเทคโนโลยีเฉพาะดังนั้นในกรณีของคุณตัวเลือกเหล่านี้สามารถใช้ได้mount.cifsโดยเฉพาะ ดูที่mount.cifsหน้า man สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกทั้งหมดที่คุณสามารถผ่านได้

sec=...ฉันจะสงสัยว่าคุณกำลังขาดหายไปตัวเลือกต่อไปยัง โดยเฉพาะหนึ่งในตัวเลือกเหล่านี้:

   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

       The default in mainline kernel versions prior to v3.8 was sec=ntlm. 
       In v3.8, the default was changed to sec=ntlmssp.

คุณอาจจำเป็นต้องปรับsec=...ตัวเลือกเพื่อให้มันเป็นอย่างใดอย่างหนึ่งหรือsec=ntlmsec=ntlmssp

อ้างอิง


1
การตรวจสอบdmesgมีประโยชน์มาก คำตอบนี้มาจากปี 2014 และตั้งแต่นั้นการใช้ประโยชน์จาก WannaCry ของ SMB1.0 ทำให้เลิกใช้แล้วดังนั้นโปรดเพิ่มvers=2.0หรือ 2.1 หรือ 3.0 ไม่ว่าเซิร์ฟเวอร์จะรองรับอะไรเนื่องจากค่าเริ่มต้น 1.0 จะไม่ได้รับการสนับสนุนอีกต่อไป
Michael Plautz

1
แค่หัวจดหมาย: เนื่องจากโฟลเดอร์ปลายทางอยู่ภายใต้ Windows ซึ่งมักจะต้องเปลี่ยนรหัสผ่านทุกครั้งในบางครั้งรหัสผ่านในไฟล์ข้อมูลรับรองอาจไม่ถูกต้อง mountคำสั่งจะไม่บอกรายละเอียดดังกล่าวให้คุณทราบ
HongboZhu

22

ขอบคุณ แต่ googling เพิ่มเติมได้หันมาแก้ปัญหา มันใช้ความปลอดภัยผิดประเภทโดยปริยาย คำสั่งนี้ใช้งานได้:

$ sudo mount -t cifs //172.16.1.5/myshare/ /mnt/myshare \
    -osec=ntlmv2,domain=MYDOMAIN,username=myusername,password=mypassword

นี่มัน! การทำงานmount -t cifs //10.0.0.138/usb1_1 /mnt/usbdisk -ousername=theusername,password=thepassord,file_mode=0644,dir_mode=0755,uid=rootกับเครื่อง Fedora 25 ทำงานได้ดี แต่ล้มเหลวเมื่อฉันรันคำสั่งเดียวกันบนกล่อง openwrt (Chaos Calmer 15.05.1) การเพิ่มsec=ntlmv2ทำให้มันใช้งานได้เช่นกัน
hlovdal

2
มาที่นี่พยายามติดตั้งสมาชิก Debian 9 AD จาก CentOS 6 ที่ไม่ใช่สมาชิกและนี่ทำให้ฉันใกล้ชิด - สำหรับกรณีของฉันความมหัศจรรย์คือsec=ntlmssp
Cheetah

การแก้ไขสำหรับฉันคือการใช้domainคำหลักและระบุนอกเหนือจากชื่อผู้ใช้
Jim Fell

sec = ntlmv2 มีตัวเลือกที่ฉันต้องการสำหรับการเข้าถึง smb จาก Ubuntu 18.04 ถึง Windows 10 share ขอบคุณดอง
noel aye

12

ฉันพบปัญหานี้และปัญหาพบว่าการจัดรูปแบบค่าในไฟล์ข้อมูลรับรองของฉันไม่ถูกต้อง ฉันเหนื่อย:

username=DOMAIN\mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

ฉันก็ลอง:

username=myemailaddress@someplace.com
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

และ:

username=FULLY.QUALIFIED.DOMAIN\mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

เมื่อฉันเพิ่งใช้ชื่อเข้าสู่ระบบเท่านั้น:

username=mylogin
password=<password>
domain=FULLY.QUALIFIED.DOMAIN

ฉันสามารถที่จะเอากล้อง cif ของฉันไปให้ประสบความสำเร็จได้


คำอธิบายที่ดี!
Dima Lituiev

2

ส่วนเพิ่มเติมนี้ทำงานบนวิทยาศาสตร์ Linux 6.6 (RedHat 6.6)

แก้ไข/etc/fstab
สร้างไฟล์ = .credentials(เช่นใน/etc) ด้วยรายละเอียดนี้:

username=value
password=value
domain=value

//SERVER/SHARE1 /mnt/SHARE1 cifs credentials=/etc/.credentials,rw,uid=1000,gid=1000,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 

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