mount.cifs không thể sử dụng cùng một tệp thông tin xác thực mà smbclient sử dụng


10

Tôi đang cố gắn kết chia sẻ NetApp CIFS với một trong các máy chủ của chúng tôi và tôi tiếp tục nhận được "Quyền từ chối" được in ra thiết bị lỗi chuẩn và NT_STATUS_WRONG_PASSWORDin ra khi chạy dmesg.

root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
root@xxxehpvld05 ~ $ dmesg | tail
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13

Các smbclientlệnh, tuy nhiên hoạt động mà không phát hành, sử dụng cùng một tập tin thông tin chính xác:

root@xxxehpvld05 ~ $ smbclient -L //zhp-nas.xxx.com/perspectives -A /etc/cifs.creds
Domain=[XXX] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]

        Sharename       Type      Comment
        ---------       ----      -------
        IPC$            IPC       Remote IPC
        ZHPSubmit-dev   Disk
    [...snip...]

Có vẻ như nếu cái này hoạt động thì cái kia cũng đặc biệt vì tệp thông tin xác thực cũng chỉ định tên miền.


chuyện gì đã xảy ra với tiền thưởng?

Không bao giờ có một câu trả lời làm việc cho tôi vì vậy tiền thưởng cuối cùng đã hết hạn và tất cả những điểm đó đã đi theo con đường của dodo.
Bratchley

Nếu bạn có thể nghĩ ra câu trả lời, tôi sẽ trao cho bạn một tiền thưởng mới, tôi chỉ không muốn giữ điểm bị mất nếu tôi không nhận được câu trả lời.
Bratchley

Vì vậy, tôi đã gặp một vấn đề tương tự (với lỗi -13 từ mô-đun kernel). Tôi đã cài đặt cifs-utilsgói (Debian) và nó đã giải quyết được vấn đề. Tôi đã dành một chút để gỡ lỗi này vì tôi không mong đợi bất kỳ sự hỗ trợ nào mà không có gói đã được cài đặt, vì vậy tôi cho rằng nó đã được. Tôi đã mong đợi một cái gì đó như "hệ thống tập tin không xác định" từ mount, nhưng điều đó đã không xảy ra.
sherrellbc

Câu trả lời:


7

Với nhiều thông tin hơn tôi không thể chắc chắn nhưng tôi đã thấy vấn đề này khi kết nối với máy chủ windows cũ hơn đang chạy phiên bản giao thức cũ hơn. Hãy nhớ CIFS được coi là "Phương ngữ" (loại) của SMB. Có các loại khác và các thiết lập cũ hơn không sử dụng CIFS.

Về cơ bản nó giống như nói hai người đang nói. Một tiếng Tây Ban Nha và một tiếng Anh, và bạn cố gắng buộc người nói tiếng Anh hiểu tiếng Tây Ban Nha khi rõ ràng anh ta không biết.

SMBclient sử dụng một dielect khác nhau cho các cuộc đàm phán bảo mật. (hoặc ít nhất là phát hiện khác nhau).

Thử

mount -t cifs // path / thing / / mount / point -o username = user, password = pass, sec = ntlm

và hãy xem chuyện gì xảy ra. (sec = ntlm là phần quan trọng)


Vấn đề tương tự ngay cả khi chỉ định xác thực NTLM. Tương tự nếu tôi làm ntlmhoặc ntlmv2. Tôi không chắc chắn về cách khắc phục sự cố vì vậy nếu bạn cần thêm thông tin hãy cho tôi biết và tôi sẽ cập nhật câu hỏi. Có thể có một số điều khiển truy cập ở phía NetApp mà anh chàng SAN đã bỏ lỡ?
Bratchley

Phiên bản của phần mềm máy chủ, có bất kỳ bộ định tuyến hoặc chuyển mạch nào không?
coteyr

Cùng mạng con. Không chắc chắn phiên bản Samba nào ở phía bên kia vì đây là thiết bị NetApp ONTAP.
Bratchley

4

Chơi xung quanh với các lệnh, tôi tìm thấy một lý do có thể:

Từ trang người đàn ông của smbclient:

   -A|--authentication-file=filename
       This option allows you to specify a file from which to read the
       username and password used in the connection. The format of the file is

           username = <value>
           password = <value>
           domain   = <value>

       Make certain that the permissions on the file restrict access from
       unwanted users.

Từ trang man của mount.cifs:

   credentials=filename
       specifies a file that contains a username and/or password and
       optionally the name of the workgroup. The format of the file is:

          username=value
          password=value
          domain=value

Sau đó, tôi đã tạo hai tệp thông tin xác thực, một tệp có dấu cách, như được hiển thị trong đoạn mã đầu tiên và một tệp không có và đặt tên chúng credscreds.spacy.

Cuộc tranh chấp lớn:

Với credstập tin:

mount.cifs -vvv //host/path /local/path -o credentials=/path/creds

im lặng tốt, không có lỗi.

Với creds.spacytập tin:

# mount.cifs -vvv //host/path /local/path -o credentials=/path/creds.spacy
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Vì vậy, rõ ràng tệp thông tin đăng nhập của bạn chứa khoảng trắng, không được hiểu bởi mount.cifs.

Ngoài ra smbclient, không có vấn đề gì nếu có không gian. credscreds.spacykhông gây ra bất kỳ grouse.


Có một dòng trống thêm ở cuối tập tin nhưng tôi nhận được điều tương tự sau khi xóa nó. Đây là phiên bản được xử lý lại một chút của những gì trong tệp tín dụng. Mật khẩu được xác thực lại và mật khẩu là mật khẩu trường hợp hỗn hợp có chứa "!" như một nhân vật đặc biệt.
Bratchley

Có một khía cạnh khác, mà giải pháp này đã khiến tôi tìm thấy: Thông tin đăng nhập phải theo đúng thứ tự, nghĩa là tên người dùng, mật khẩu, tên miền và không phải bất kỳ thứ tự nào khác như tên miền, tên người dùng, mật khẩu (đó là những gì tôi có). Điều này cũng hoạt động tốt với smbclientnhưng thất bại cho mount.cifs. Khi tôi thay đổi thứ tự thành đúng theo quy định trong tài liệu bạn đã trích dẫn ở đây, nó bắt đầu hoạt động. Có vẻ như những điều này (cả việc xử lý sai không gian và vấn đề đặt hàng) là những lỗi khủng khiếp có thể dễ dàng sửa chữa bởi bất cứ ai duy trì mount.cifs.
leftclickben

2

Thêm sec = ntlm đã khắc phục sự cố cho tôi. Tôi có một NAS cũ hơn (netgear repositorya). Bảo mật mặc định cho cifs trong các kernel gần đây là ntlmssp


Làm việc cho tôi, quá. Tôi chưa biết nguyên nhân thực sự. Trong trường hợp nó giúp được ai đó: isilon mount trên ubfox LTS 14.04. Isilon (một số SAN thingy) nói chuyện với thư mục hoạt động windows của chúng tôi. Tài khoản tương tự hoạt động như một bùa mê trên các máy khác và khi trực tiếp gắn nó vào cửa sổ.
Tái tạo van Rees

Lưu ý thêm: 12.04 với các bản cập nhật mới nhất hoạt động tốt, 14.04 là một phần của vấn đề hiện nay (cuối tháng 4 năm 2015).
Tái tạo van Rees

Lưu ý thêm: vấn đề cốt lõi là sự cố microsoft đã biết với việc lưu trữ và cập nhật emc isilon KB3002657 (hoặc vì vậy sysadmin của tôi cho tôi biết ngay bây giờ :-))
Tái tạo van Rees

2

Một khả năng khác mà tôi phát hiện ra khi cố gắng chia sẻ ngày hôm nay là smbmounthỗ trợ username=DOMAIN\\usercú pháp để cung cấp cho người dùng trong một miền làm thông tin xác thực.

Để mount.cifs(và mount -t cifs) hoạt động, hai cái này phải được cung cấp riêng : -o username=user,password=pass,dom=DOMAIN.


Để gắn kết một chia sẻ smb 3.0 được cung cấp bởi NetT Cluster Data Data, ONTAP phải gọi cả hai sec=ntlmdom=DOMAIN
iii

1

Như user55518 đã giải thích, bạn có thể có khoảng trắng trong tệp thông tin đăng nhập của mình ngay cả khi bạn không nhìn thấy chúng. Nếu bạn đã chỉnh sửa tệp thông tin đăng nhập của mình trên Windows, có thể bạn đã \rở cuối dòng và điều đó sẽ gây ra lỗi 13.


bạn có thể sử dụng danh sách tập lệnh trong vim để kiểm tra các tab / dấu cách bổ sung
vfbsilva

0

Tôi muốn cảm ơn tất cả các bạn !!! Đối với vấn đề này, nó thực sự giúp tôi rất nhiều!, tôi cũng tìm thấy một số thông tin quan trọng về tham số "sec = ntlm", vì vậy tôi để lại liên kết nếu một số bạn thấy thú vị về nó, các dòng dưới đây:

Microsoft NTLM

Tôi đã cố gắn một thư mục chia sẻ từ máy tính để bàn windows 7, nhưng tôi không thể thêm tham số "sec = ntlm" và nó hoạt động, và một số chi tiết quan trọng có thể là tôi đã không nghĩ rằng máy tính để bàn windows 7 của tôi đã vào tên miền, vì vậy tôi nghĩ đó là chi tiết quan trọng nhất mà tôi nên xem xét. do đó, nó hoạt động!, thực sự cảm ơn bạn rất nhiều tất cả các phước lành !! và rung cảm tốt! : D


0

Trong trường hợp của tôi, tôi chỉ cần thêm tùy chọn vers=3.0(CIFS là phiên bản 1, không còn được hỗ trợ kể từ kernel 4.13, vì vậy tôi đã chuyển sang quyền SMBv3 trên máy chủ) và tôi vẫn phải khởi động lại để nó hoạt động, đây là gắn kết /etc/fstabngay bây giờ:

auto,rw,credentials=/usr/local/etc/smb.credentials,vers=3.0,file_mode=0664,dir_mode=0775,uid=myuser,gid=users

Tệp thông tin đăng nhập của tôi:

username=myuser
password=****
domain=mydomain

Trên thực tế, domainkhông cần thiết, nhưng bây giờ nó là tùy chọn chính xác để sử dụng theo trang man mount.cifs.


0

Tôi đã vật lộn với điều này trong một thời gian.

Với các lỗi sau:

mount error(112): Host is down

Ở đây, nó đã giúp đặt tùy chọn Vers = 1.0, sau đó nó báo cáo

mount error(13): Permission denied

và hóa ra là thêm "ký tự trong tệp thông tin đăng nhập của tôi

nơi ban đầu tôi có:

# cat /etc/samba/cred-file
username="john"
password="secret"

nó nên ở đâu

# cat /etc/samba/cred-file
username=john
password=secret
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.