Câu trả lời:
Greg đề cập attrib
- nhưng attrib
không ở bất cứ đâu gần chmod
- attrib
có thể đặt thuộc tính Chỉ đọc / Ẩn của một tệp - nó không cung cấp các điều khiển chi tiết giống như icacls
.
icacls
thiết lập / đặt lại danh sách kiểm soát truy cập, do đó bạn có thể cấp / từ chối quyền cho các nhóm & SID riêng lẻ. Nó khá phức tạp mặc dù.
Đây là một ví dụ tôi đã lưu trong ý chính của tôi ; nó đặt lại danh sách kiểm soát quyền sở hữu và quyền truy cập cho tất cả các tệp trong một thư mục và đặc biệt hữu ích để khắc phục những phiền toái đó "Bạn cần có quyền từ .. để thực hiện hành động này" đặc biệt là khi di chuyển tệp từ cài đặt trước:
icacls * /reset /t /c /q
Đặt lại thay thế cái hiện có với danh sách mặc định.
/t
hành động đệ quy trên tất cả các tệp, thư mục và thư mục con
/q
không hiển thị bất kỳ thông báo thành công nào
/c
tiếp tục với các tệp còn lại ngay cả khi xảy ra lỗi.
Bạn cũng có thể làm những việc như sao lưu các ACL hiện có và áp dụng chúng trên tất cả. Hãy xem ss64 giải thích các tùy chọn khác nhau và chuyển đổi rất tốt.
cmd
mà bạn nhận được bằng cách nhấn [Win] + [R] thiếu những thứ này. Đối với những nhu cầu đặc biệt như vậy, tôi có một phím tắt "Quản trị viên", với "Thực thi là quản trị viên" (hoặc tương tự; tôi đang sử dụng hệ thống Windows của Đức) (và có màu nền đỏ sẫm).
(Đáng buồn thay) không thể là một tương đương chính xác, vì Linux và DOS / Windows sử dụng các thuộc tính cho các mục đích khác nhau và (như Chathuranga đã nói trước đây) mô hình bảo mật là khác nhau:
H
) và "system" ( S
) không có tương đương trong Linux; ở đó, các tệp được ẩn bằng cách thêm tên bằng dấu chấm ( .
).A
thuộc tính "archive" ( ) của Windows .x
thuộc tính Linux "thực thi" ( ) trong các thuộc tính tệp DOS / Windows.D
) thuộc tính (nhưng nó không thể thay đổi anyway).Các tập tin thuộc tính hệ điều hành DOS R
(read-only) là một trong đó có thể được coi là có một tương đương: thuộc tính này thiết lập là khoảng như w
thuộc tính cho tất cả là mất tích; nhưng quyền thay đổi thuộc tính này phải tuân theo ACL.
Thật tuyệt khi có một chmod
/ chown
tương đương trên Windows, có lẽ được viết bằng một số ngôn ngữ kịch bản, lần lượt gọi attrib
và cacls
(hoặc người kế thừa), nhưng tôi không có.
CAP_LINUX_IMMUTABLE
quy trình), trong khi quyền truy cập để đặt thuộc tính trong Windows là tất cả hoặc không có gì. Đó là một lỗi phổ biến trong việc triển khai chmod
cho Windows để sử dụng lệnh này để đặt thuộc tính tệp chỉ đọc. Thật không may, các hệ thống chỉ được thông báo như các lập trình viên phát triển chúng.
chattr
lệnh đó . Nhưng bạn không có ý tôi, để "nhầm lẫn các thuộc tính và quyền của tập tin", phải không? AFAICS, mọi từ tôi viết về các thuộc tính của DOS vẫn đúng.
chattr
, ngoại trừ Windows có thuộc tính thư mục do không có inode.
chmod
trong Windows vì không có gì giống như thuộc tính "chế độ" tệp. Tập hợp tiêu chuẩn của các thuộc tính tệp Windows không có gì để làm với điều này. Thuộc tính chỉ đọc không phải là một quyền. Về cơ bản nó nói rằng tập tin được viết bằng đá, vì vậy mọi nỗ lực sửa đổi nó đều phải thất bại. Thuộc tính tệp "bất biến" của Linux là tương tự. Windows chỉ sử dụng ACL cho quyền, vì vậy icacls.exe và tương tự là các lệnh tương tự duy nhất về chủ đề quyền.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Hoạt động như một bùa mê để thay đổi quyền trên một thư mục cho người dùng tên miền. Thông tin bổ sung liên quan cacls
và icacls
.
Các attrib
lệnh là trận đấu gần nhất cho những thứ rất cơ bản (read-only, cờ lưu trữ). Sau đó, có lệnh ACL (danh sách điều khiển truy cập) cacls
. Cuối cùng nhưng không kém phần quan trọng, vì Windows thực sự tuân thủ Posix, các cờ giống như unix vẫn tồn tại. Nếu bạn cài đặt bộ công cụ Cygwin, bạn sẽ nhận được một chmod
. (Một chút lạc đề, vì bạn đang tìm kiếm một lệnh tương đương với lệnh unix, tải xuống và cài đặt Cgygwin có thể là một điều thú vị đối với bạn.)
Tôi sử dụng lệnh Windows takeown.exe
để thay đổi quyền truy cập tệp thành id người dùng đã đăng nhập hiện tại của mình: http://technet.microsoft.com/en-us/l Library / cc753024.aspx
Không có gì gọi là chmod trong windows vì mô hình bảo mật của Windows khác với Linux. Bạn có thể sử dụng attrib
lệnh để thay đổi các thuộc tính của các đối tượng. (Nhưng họ thiên về các đặc tính toàn cầu.)