]> www.infradead.org Git - users/dwmw2/linux.git/commit
fs/smb/client: implement chmod() for SMB3 POSIX Extensions
authorRalph Boehme <slow@samba.org>
Thu, 14 Nov 2024 10:05:13 +0000 (11:05 +0100)
committerSteve French <stfrench@microsoft.com>
Thu, 21 Nov 2024 16:43:01 +0000 (10:43 -0600)
commitd413eabff18d640031fc955d107ad9c03c3bf9f1
tree9c7139c3d6445e20bc998abfd8eb0f863fc1aa17
parent128630e1dbec8074c7707aad107299169047e68f
fs/smb/client: implement chmod() for SMB3 POSIX Extensions

The NT ACL format for an SMB3 POSIX Extensions chmod() is a single ACE with the
magic S-1-5-88-3-mode SID:

  NT Security Descriptor
      Revision: 1
      Type: 0x8004, Self Relative, DACL Present
      Offset to owner SID: 56
      Offset to group SID: 124
      Offset to SACL: 0
      Offset to DACL: 20
      Owner: S-1-5-21-3177838999-3893657415-1037673384-1000
      Group: S-1-22-2-1000
      NT User (DACL) ACL
          Revision: NT4 (2)
          Size: 36
          Num ACEs: 1
          NT ACE: S-1-5-88-3-438, flags 0x00, Access Allowed, mask 0x00000000
              Type: Access Allowed
              NT ACE Flags: 0x00
              Size: 28
              Access required: 0x00000000
              SID: S-1-5-88-3-438

Owner and Group should be NULL, but the server is not required to fail the
request if they are present.

Signed-off-by: Ralph Boehme <slow@samba.org>
Cc: stable@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsacl.c
fs/smb/client/cifsproto.h
fs/smb/client/inode.c
fs/smb/client/smb2pdu.c