smb on macos get [Errno 13] Permission denied <-- NT Status: STATUS_LOCK_NOT_GRANTED (0xc0000055)

Posted vivivi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了smb on macos get [Errno 13] Permission denied <-- NT Status: STATUS_LOCK_NOT_GRANTED (0xc0000055)相关的知识,希望对你有一定的参考价值。

NT Status: STATUS_LOCK_NOT_GRANTED (0xc0000055) No such file or directory. The file or directory name specified does not exist.
smb2.nt_status == 0xc0000055

发生在,当stream1 建立了一个fileid,并lock它:exclusive
然后 stream2 也create了一个fileid,想lock它时候:exclusive
得到了一个 error: NT Status: STATUS_LOCK_NOT_GRANTED (0xc0000055)

反应在上层: [Errno 13] Permission denied

另外,SMB抓包上,无ulock,都是lock request, 要看lock info来确定lock的内容:

Lock Info
    Length: 18446744073709551615
    Flags: 0x00000004, Unlock
        .... .... .... .... .... .... .... ...0 = Shared: False
        .... .... .... .... .... .... .... ..0. = Exclusive: False
        .... .... .... .... .... .... .... .1.. = Unlock: True
        .... .... .... .... .... .... ...0 .... = Fail Immediately: False
    Reserved: 00000000

技术图片




以上是关于smb on macos get [Errno 13] Permission denied <-- NT Status: STATUS_LOCK_NOT_GRANTED (0xc0000055)的主要内容,如果未能解决你的问题,请参考以下文章

SocketException:在 macOS 上使用颤振应用程序连接失败(操作系统错误:不允许操作,errno = 1)

MacOS从莫哈韦沙漠升级为卡塔琳娜之后,我无法连接到SMB共享

如何以编程方式确定文件是不是位于 Linux 和/或 macOS 的网络文件系统(NFS 或 SMB)上?

使用 Ruby on Rails 的 HTTP GET 请求:OpenSSL::SSL::SSLError

Enable SMB2 on the Client

Install samba on Linux 16.04 LTS