cifs, smb - Không thể mount (quyền bị từ chối) hoặc điều hướng thư mục dùng chung


12

Gần đây tôi đã gặp phải vấn đề này. Tôi thường điều hướng qua một thư mục chia sẻ mạng cục bộ từ máy Linux thông qua smb (tức là từ trình quản lý tệp bằng smb :). Bây giờ bất cứ khi nào tôi cố gắng truy cập phím tắt hoặc gõ lại thông tin xác thực, tôi tiếp tục nhận được cửa sổ hộp thoại hỏi người dùng, tên miền và mật khẩu.

Vì vậy, tôi đã thử gắn vị trí thủ công bằng cách sử dụng 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

Tôi nhận được mount error(13): Permission denied.

Tôi chắc chắn rằng người dùng của tôi có quyền trên thư mục đó vì tôi có thể truy cập nó từ máy Windows.

Ngoài ra nếu tôi cố gắn thư mục cá nhân của mình vào vị trí đó thông qua:

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

Tôi có thể truy cập nó mà không có vấn đề.

Để tham khảo Tôi đang sử dụng kernel chung 4.2.0-36 và phiên bản mount.cifs của tôi là 6.4

Bất kỳ ý tưởng về làm thế nào để làm cho một trong cả hai phương pháp hoạt động?


Cập nhật câu trả lời Ponsfrilus

số 1: trả về tùy chọn dài dòng:

_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)_

Số 2 về cơ bản là giống nhau:

_ 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)_

Và không có gì thay đổi với 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)_

Đối với số 4 tôi có thể gắn docs1 không có vấn đề gì nhưng tôi có thể điều hướng tho đến thư mục dùng chung trong người dùng.


Hãy thử mẹo số 3 của ponsfrilus với vers=3.0, cũng có thể vers=2.0hoặc vers=1.0. Nếu điều này không hoạt động, có lẽ bạn có thể cho phép máy chủ kết nối nhiều phiên bản smb hơn. Tôi đã có vấn đề này bản thân mình vì smb3 đã được đặt trên máy chủ theo yêu cầu. Tôi không thể kết nối với linux cho đến khi máy chủ hạ phiên bản samba cần thiết xuống 2. Máy chủ chạy hệ điều hành nào?
emk2203

2
Tôi đã thử tất cả chúng. Tôi vẫn nhận được "quyền bị từ chối" với 3.0, 2.1 và 2.0. Trong khi tôi nhận được "lỗi không xác định" với 1.0. Tôi không biết cách kiểm tra phiên bản máy chủ windows với tư cách là người dùng vì tôi không có quyền truy cập trực tiếp vào phiên bản đó.
Frankmtl

Không thể giúp bạn về điều đó, xin lỗi. Tôi đã kiểm soát máy chủ và vấn đề của tôi biến mất sau khi thư giãn các phiên bản SMB được phép. Bạn có thể kết nối với chia sẻ của riêng bạn - không thể cấu hình sai linux; bạn có thể kết nối qua windows để chia sẻ - không thể cấu hình sai máy chủ. Điều này đòi hỏi một bậc thầy samba thực sự.
emk2203

Câu trả lời:


10

Tôi khá chắc chắn rằng tôi đã gặp phải vấn đề chính xác tương tự ngày hôm nay trên Ubuntu 16.10. Tôi đã thử tất cả các đề xuất trong chuỗi này nhiều lần, tôi có thể gắn kết chia sẻ chính xác bằng Windows Server 2016 và tôi có thể duyệt nó bằng smbclient ( smbclient -U brainstrust //WINBOX01/shared). Tôi thậm chí đã thử một tập tin thông tin bên ngoài.

Cuối cùng tôi đã vấp phải một bản sửa lỗi - mặc dù tôi đã tạo một người dùng cục bộ để chia sẻ trên hộp Windows, nó cũng được nối với một tên miền. Về cơ bản, việc đặt tên miền thành máy cục bộ đã -o domain=WINBOX01khắc phục sự cố của tôi ngay lập tức, vì vậy hãy để lại nhận xét ở đây với hy vọng rằng nó hữu ích cho ai đó ngoài kia.

Lệnh tối thiểu hoàn chỉnh mà tôi đã sử dụng là:

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

Cảm ơn đã để lại nhận xét này ở đây, nó đã giúp tôi ra ngoài.
dleerob

Giúp tôi quá. Dường như gắn CIFS -t bị cùng một vấn đề
Terminality

Đây là những gì hóa ra là vấn đề của tôi. Tôi đã có một ~/.smbcredentialstập tin. Tôi kinh hoàng khi phát hiện ra NAS địa phương của mình đã cho phép tôi gắn kết chia sẻ với một mật khẩu xấu trong một thời gian rất dài.
Charlie

Thật kỳ lạ, chúng tôi cần chỉ định tên miền NetBIOS, không phải tên máy chủ của máy chủ tệp. Tuy nhiên, bây giờ nó hoạt động, cảm ơn rất nhiều.
bviktor

9

Tôi nghĩ rằng bạn có loại bảo mật sai cho máy chủ, lỗi 13 có nghĩa là máy chủ không cho phép bạn vào.

Bạn sẽ cần chọn chế độ bảo mật phù hợp trong lệnh mount của bạn thêm tùy chọn sec qua -o như sau:

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
Tôi đã thử tất cả chúng và tôi nhận được "quyền bị từ chối" hoặc "lỗi không xác định" tùy thuộc vào loại giây
Frankmtl

đưa ra tất cả các vấn đề bảo mật gần đây với SMB, tôi chỉ khuyên bạn nên sử dụng nó khi có nhiều biện pháp bảo mật bổ sung, chẳng hạn như kiểm tra virus rất cập nhật.
Amias

Hãy thử sử dụng sec = ntlmssp và đảm bảo cấu hình máy chủ samba của bạn mã hóa mật khẩu.
Humpity

Cứu ngày của tôi. Trên thực tế những gì tôi đã làm chỉ là loại bỏ sec = ntlm và sau đó nó hoạt động.
cười thầm

Bạn thực sự nên rời khỏi SMB những ngày này, đó là một nguồn tấn công và leo thang liên tục gần như liên tục.
Amias

4
  1. Hãy thử thêm tùy chọn "-v" để nhận đầu ra dài dòng:

    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. Kiểm tra với các tùy chọn này cho lệnh 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. Kiểm tra chỉ định tùy chọn phiên bản SMB (Vers = 2.1), xem wiki samba . Từ trang man mount.cifs:

    vers =
    phiên bản giao thức SMB. Các giá trị được phép là:

    • 1.0 - Giao thức CIFS / SMBv1 cổ điển. Đây là mặc định.

    • 2.0 - Giao thức SMBv2.002. Điều này ban đầu được giới thiệu trong Windows Vista Service Pack 1 và Windows Server 2008. Lưu ý rằng phiên bản phát hành ban đầu của Windows Vista đã nói một phương ngữ hơi khác (2.000) không được hỗ trợ.

    • 2.1 - Giao thức SMBv2.1 được giới thiệu trong Microsoft Windows 7 và Windows Server 2008R2.

    • 3.0 - Giao thức SMBv3.0 được giới thiệu trong Microsoft Windows 8 và Windows Server 2012.

  4. Cuối cùng, hãy thử gắn kết chỉ chia sẻ đầu tiên:

    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
    

Bất kỳ đầu ra dài dòng nào bạn có thể chia sẻ có thể giúp đỡ.


Cảm ơn bạn đã trả lời. Tôi không tìm thấy cách nào tốt hơn để phát lại ngoài việc cập nhật câu hỏi. bạn có thể tìm thấy kết quả đầu ra của các lệnh đó trong bản cập nhật
Frankmtl

@Frankmtl bạn có thể so sánh các quyền thư mục bên trong docs1 và docs5 fileshare1 không?
ponsfrilus

Xin lỗi vì hồi âm muộn. Nếu bạn có nghĩa là quyền truy cập thư mục sau khi tôi gắn kết chúng, cả hai đều có drwxr-xr-x
Frankmtl

Để truy cập chia sẻ máy chủ Windows 2012 (smb2), bạn phải thêm ,vers=2.1 sau uid = 1000 (còn gọi là cuối dòng). Tôi cũng đã cài đặt gói "cifs-utils".
laugeo

2

Thêm tùy chọn sec=ntlmvào lệnh mount đã giải quyết vấn đề của tôi.

ví dụ:

sudo mount -t cifs -o username=administrator,password=123456,sec=ntlm //ip/eeshare /mnt/eeshare/

1

Đối với vấn đề này khi sử dụng cifs cao hơn 6.0: phiên bản mới của cifs sử dụng biến miền thay thế, vì vậy tệp creadentials trông như sau:

username=<your username>
password=<your password>
domain=<your domain>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.