Як зупинити Cygwin від створення незмінних файлів? Або я можу якось видалити їх?


2

У той же час cygwin, здається, створюють файли, які взагалі не видаються. При видаленні з програми cygwin це просто не відбувається ( rm нічого не говорить, але файл все ще там). При спробі з провідника сказано, що мені потрібні дозволи від адміністратора (а я адміністратор, елемент видалення у випадаючому меню має щит, і я припускаю, що це означає, що я спробую це з адміністратором priveleges). При спробі від загального командира я спочатку отримую помилку, і мене запитають, чи не хочу я повторити спробу як адміністратор, і тоді я все ще не маю дозволу на видалення файлу.

Я отримую таку ж проблему, якщо спробую переглянути файл. Проблеми, коли я намагаюся переглянути властивості безпеки - необхідно натиснути кнопку щита, щоб стати адміністратором, і тоді мені сказали, що мені не дозволено переглядати його, якщо я не отримаю права власності (що мені не дозволено).

Використовуючи оболонку cygwin, я можу переглядати, але не змінювати ACL (навіть якщо оболонка запущена як адміністратор):

$ getfacl makefile.wine
# file: makefile.wine
# owner: Unknown+User
# group: Unknown+Group
user::rw-
group::r--
other:---
$ setfacl -b makefile.wine
setfacl: Permission denied

Проте при перезапуску вікон не було ніяких проблем у простому видаленні файлів.

Чому / як cygwin створює ці файли (я зрозумів, що він створений під час роботи sed -i )? Як уникнути цього? І, нарешті, чи є розумний спосіб видалити файл?


Спробуйте виконати ці дії - stackoverflow.com/questions/3739477/…
hkdtam

@hkdtam Я не впевнений, які кроки ви маєте на увазі. Відповідь пов'язана, здається, з пропозицією просто почекати і файл повинен піти, що не сталося. Інші рішення в основному показують один і той же результат, мені, здається, не дозволено робити жодної з цих речей (навіть якщо запускається оболонка як адміністратор).
skyking

Відповіді:


1

cygwin не повинен створювати незмінні файли, принаймні більше. Припускаючи, що у вас є оновлена ​​інсталяція (cygwin 2.5.1): перевірте ACL файлу за допомогою: getfacl "filename" Ви можете очистити дозвіл ACL на: setfacl -b "filename" Докладніше див. Інструкції щодо getfacl і setfacl. Додаткове читання https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-files

Як у вас з getfacl

власник: Невідомий + користувач

група: Невідомо + Група

Це означає, що cygwin не визнає власника. Дві можливості:

1) власник більше не діє на вікнах машини

2) ви використовуєте тип з'єднання VPN або домену, і користувач бази даних Windows не доступний в певних умовах.

Як адміністратор Windows ви зможете змінювати власника, також від cygwin.


Я, здається, працює cygwin 2.5.0, можливо, 2.5.1 не створить ці файли. Проте запропоноване рішення щодо видалення файлу не працює.
skyking

setfacl -b "filename" не видаляє файл. але це дезінфікує ACL. Після цього можна змінити дозволи та видалити їх, як ви захочете.
matzeri

Чи є setfacl дезінфікувати ACL, навіть якщо він відображає повідомлення "setfacl: Permission denied"? У цьому випадку це заплутана діагностика ...
skyking

Що таке вихід icacls "filename"?
matzeri

0

Будь ласка, спробуйте з takeown команду. У адміністративній привілеї адміністратора CMD виконайте таку команду,

takeown /F makefile.wine

а тепер побачте, чи можете видалити його,

rm makefile.wine

Оновлення: Дякуємо за звітність, і це був мій нагляд. Після takeown команда, ви можете зробити правою кнопкою миші над цим файлом на дослідник, щоб переглянути інформацію про власність і зробити коректування звідти?


Як зазначалося, це було одне з рішень, з якими ви пов'язали, які не працювали.
skyking

0

Я нарешті вирішив це, використовую Process Explorer (за замовчуванням у останніх версіях вікон) виконуйте пошук в ручках для будь-якого процесу, використовуючи це ім'я файлу, і вбийте процес.

Я детально розповіла про це в мій блог .

Не намагайтеся відновити дозволи, які не працюватимуть.


1
Ласкаво просимо до Суперкористувача! Ми вважаємо за краще, щоб відповіді були максимально самодостатніми редагувати відповідь включити відповідну інформацію з статті, якщо посилання розривається? Для отримання додаткової інформації див Як відповісти .
Ben N
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.