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:
—
Morten Zilmer
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.
Tò mò. Hãy thử
—
Harry Johnston
cacls /s
và gửi kết quả ở đây.
Hệ thống này là Windows 7, do đó
—
Morten Zilmer
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 icacls
lệ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) icacls
sau đó. 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 :-)
Windows 7 vẫn có
—
Harry Johnston
cacls
. Nó không được dùng nữa, nhưng nó ở đó. Nhưng icacls /save
gầ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. icacls
cho 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ị.