Відповіді:
Грег згадує attrib - але attrib це не де-небудь близько chmod- attribможе встановлювати атрибути одного читання / приховані одного файлу - він не забезпечує дрібнодисперсні елементи управління, як icaclsце робиться.
icaclsвстановлює / скидає списки контролю доступу, тому ви можете надати / заборонити права для окремих SID та груп. Хоча це досить складно.
Ось приклад, який я зберег у своїй суті github ; він скидає список власності та контролю доступу для всіх файлів у папці і особливо корисний для виправлення набридливих "Вам потрібні дозволи від .. для виконання цієї дії", особливо під час переміщення файлів із попередньої інсталяції:
icacls * /reset /t /c /q
Скидання замінює існуючий зі списком за замовчуванням.
/tдіє рекурсивно для всіх файлів, папок і підпапок
/q, не відображає жодних повідомлень про успіх, що
/cтриває з іншими файлами, навіть у випадку помилки.
Ви також можете робити такі речі, як резервне копіювання існуючих ACL та застосовувати їх у всіх. Погляньте на ss64, який дуже добре пояснює різні варіанти та перемикачі.
cmdяке ви отримуєте, натиснувши [Win] + [R], цього не вистачає. Для таких особливих потреб у мене є ярлик "Адміністратор оболонки", з позначкою "Виконати як адміністратор" (або подібне; я в німецькій системі Windows) (і темно-червоний колір фону).
Там (на жаль) не може бути точним еквівалентом, оскільки Linux і DOS / Windows використовують атрибути для різних цілей, і (як говорив Чатуранга раніше) модель безпеки інша:
H) та "system" ( S), які не мають еквівалента в Linux; там файли ховаються, попередньо додавши ім'я крапкою ( .).Aатрибуту Windows "archive" ( ).xатрибутах файлу DOS / Windows немає еквівалента атрибутам Linux ( ).D) атрибут (але він не може бути змінений в будь-якому випадку).Атрибут файлу DOS R(лише для читання) - це той, який може вважатися еквівалентним: цей набір атрибутів приблизно такий, як wатрибут для всіх відсутні; але дозвіл на зміну цього атрибуту підпадає під дію ACL.
Це може бути здорово мати chmod/ chownеквівалент у Windows, можливо, написаний якоюсь мовою сценаріїв, яка, в свою чергу, дзвонить attribі cacls(або спадкоємці), але у мене її немає.
CAP_LINUX_IMMUTABLEпроцесом), тоді як доступ до встановлених атрибутів у Windows є все або нічого. Поширена помилка в реалізації chmodWindows для використання цієї команди для встановлення атрибута файлу лише для читання. На жаль, системи є настільки ж поінформованими, як і програмісти, які їх розробляють.
chattrкоманди. Але ви не мали на увазі мене "плутати атрибути та дозволи файлів", правда? AFAICS, кожне слово, яке я написав про атрибути DOS , все ще є правильним.
chattr, за винятком того, що в Windows є атрибут каталогу, оскільки немає inode.
chmodWindows немає прямого еквівалента, оскільки немає нічого подібного до атрибуту файлу "mode". Стандартний набір атрибутів файлів Windows не має нічого спільного з цим. Атрибут лише для читання - це не дозвіл файлу. В основному це говорить, що файл записаний каменем, тому всі спроби його модифікації повинні бути невдалими. Аналогічний атрибут файлу Linux "схожий". Windows використовує лише ACL для дозволів, тому icacls.exe тощо - це єдині подібні команди, що стосуються дозволів.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Працює як шарм для зміни дозволів на папку для користувачів домену. Додаткова інформація щодо caclsта icacls.
attribКоманда ближче всього підходять для самих основних речей (тільки для читання, архів прапорів). Потім є команда ACL (список контролю доступу) cacls. І останнє, але не менш важливе, оскільки Windows насправді сумісна з Posix, прапори, схожі на unix, існують. Якщо встановити набір інструментів Cygwin, ви отримаєте chmod. (Трохи поза темою, оскільки ви шукаєте еквівалент команди Unix, завантаження та встановлення Cgygwin може бути для вас цікавим.)
Я використовую команду Windows, takeown.exeщоб змінити дозволи файлів на мої поточні ввійшли ідентифікатор користувача: http://technet.microsoft.com/en-us/library/cc753024.aspx
У Windows немає нічого, що називається chmod, оскільки модель безпеки Windows відрізняється від Linux. Ви можете використовувати attribкоманду для зміни властивостей об'єктів. (Але вони більше спрямовані на глобальні властивості.)
Якщо ви зіткнулися з чимось подібним CHMOD (що є лише командою UNIX / Linux, використовуйте для зміни дозволів файлів), вам потрібно клацнути правою кнопкою миші на файл або папку, а потім перейти до властивостей, а потім у цінні папери.
Звідти ви можете змінити дозволи для папки або файлу відповідно до вас, якщо ви ввійшли як адміністратор.
Існує три типи дозволів (читати, записувати та виконувати) У Linux або UNIX ви бачите такий символ, як r для читання, w для запису та x для виконання, але у вікнах ви бачите ціле слово.
Ви також можете призначити право власності на файл іншому.