Cách thêm quyền Đọc và thực thi quyền của Windows trong Windows 7 cho tệp trên ổ Samba


2

Từ chương trình C, tôi muốn thêm quyền "Đọc & thực thi" trong Windows 7 cho một tệp trên ổ đĩa Samba. Chương trình "icacls" được sử dụng trong ví dụ dưới đây, nhưng một cuộc gọi thư viện C cũng có thể là một khả năng nếu có sẵn.

Quyền có thể được thay đổi cho người dùng Windows, ví dụ: Mọi người, với chương trình "icacls" của Windows (sử dụng lệnh gọi hệ thống), nhưng khi tôi cố gắng thay đổi nó cho người dùng Samba, với tên được hiển thị qua Windows, thì "icacls" sẽ trả về:

U:\temp>icacls hello.exe /grant smbuser:RX
user: No mapping between account names and security IDs was done.
Successfully processed 0 files; Failed processing 1 files

Bất kỳ ý tưởng nào về cách tôi có thể thêm quyền "Đọc & thực thi" vào một tệp trong Windows để người dùng và nhóm Samba (Linux) sẽ có được quyền "x" của Linux?


Nếu bạn đặt các quyền bạn muốn ở phía Linux, thì icacls sẽ hiển thị gì?
Harry Johnston

icacls hello.exe cung cấp thông tin, nhưng vẫn cho biết: hello.exe No mapping between account names and security IDs was done. (R,W) No mapping between account names and security IDs was done. (RX) Everyone:(RX) Có vẻ như Windows cho phép kiểm soát quyền truy cập dòng lệnh, thậm chí thông qua điều khiển GUI được chấp nhận.
Morten Zilmer

Tò mò. Hãy thử cacls /svà gửi kết quả ở đây.
Harry Johnston

Hệ thống này là Windows 7, do đó icaclsđược sử dụng. Tôi lấy cảm hứng từ bình luận của bạn, và cố gắng làm sâu hơn. Ổ đĩa Samba được kết nối với các thông tin khác với người dùng Win và có vẻ như Win7 sẽ không cho phép icaclslệnh thay đổi quyền truy cập tệp cho người dùng Samba SID. Tuy nhiên, GUI thông qua "menu ngữ cảnh => thuộc tính => bảo mật => quyền" cho phép thay đổi quyền. Và tôi thậm chí có thể lưu / khôi phục cho người dùng Samba (SID) icaclssau đó. Nhưng tôi không thể sử dụng SID được trích xuất từ icacls ... /save .... Hmm ... mọi ý tưởng hay đều được đánh giá cao :-)
Morten Zilmer

Windows 7 vẫn có cacls. Nó không được dùng nữa, nhưng nó ở đó. Nhưng icacls /savegần như điều tương tự (chỉ kém một chút thuận tiện) vì vậy bạn sẽ có thể thấy SID ở dạng chuỗi (S-1-gì đó) cho người dùng Samba. icaclscho phép bạn chỉ định một chuỗi SID bằng cách thêm tiền tố vào nó bằng dấu hoa thị.
Harry Johnston
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.