Файлы, созданные с помощью Cygwin (вызывающие сценарий оболочки), не имеют правильных разрешений Windows - PullRequest
8 голосов
/ 19 июля 2011

В настоящее время я запускаю Cygwin на целевой машине с Windows Server 2003, чтобы запустить сценарий оболочки, который, помимо прочего, создает кучу файлов на диске.Однако после создания файлов у меня больше нет прав на манипулирование ими через Windows.

При создании файлов владелец получает значение «СИСТЕМА», а разрешения для Administrators/Creator Group/Creator Owner/system устанавливаются только «специальные».разрешения и ничего больше.Разрешения «Для всех» и «Пользователи» имеют права «Чтение и выполнение», «Список содержимого папки» и «Чтение».

Моя проблема заключается в том, что я не могу сейчас удалить / изменить файлы через Windows.Я предпочел бы иметь что-то встроенное в мои скрипты (либо скрипт оболочки или что-то, что можно вызвать в Cygwin), что позволило бы администраторам получить полный контроль над папкой и всем содержимым.

Мой нынешний способ - изменить файл через Cygwin, но это не является предпочтительным.Я также использовал setfacl -r -m default:other:rwx, чтобы добавить разрешения на запись для группы «Пользователи», но она не имеет рекурсивной опции и все еще не дает «полный контроль»

Есть ли лучший способиспользовать setfacl?Могу ли я вызвать сценарий оболочки, используя другие / повышенные разрешения?

Результаты getfacl во вновь созданном каталоге:

$ getfacl Directory/
# file: Directory/
# owner: SYSTEM
# group: root
user::rwx
group::r-x
group:Users:rwx
mask:rwx
other:r-x
default:user::rwx
default:group::r-x
default:group:Users:rwx
default:mask:rwx
default:other:r-x

1 Ответ

4 голосов
/ 19 июля 2011

Вы можете попробовать установить umask:

umask u=rwx,g=rwx,o=rwx

Это должно дать пользователю, группе и другим элементам чтение / запись / выполнение для всех вновь созданных каталогов.

Если вы хотите постоянно изменять umask, вы можете добавить его к своему .bash_profile


Редактировать - Добавлен пример mkdir до / после umask.

Вот вывод getfacl для каталога, созданного до того, как я установил umask:

[/cygdrive/c/Documents and Settings/NOYB/Desktop]
==> getfacl test_wo_umask/
# file: test_wo_umask/
# owner: NOYB
# group: Domain Users
user::rwx
group::r-x
group:root:rwx
group:SYSTEM:rwx
mask:rwx
other:r-x
default:user::rwx
default:user:NOYB:rwx
default:group::r-x
default:group:root:rwx
default:group:SYSTEM:rwx
default:mask:rwx
default:other:r-x

Вот вывод getfacl для каталога, созданного после того, как я установил umask:

[/cygdrive/c/Documents and Settings/NOYB/Desktop]
==> getfacl test_w_umask/
# file: test_w_umask/
# owner: NOYB
# group: Domain Users
user::rwx
group::rwx
group:root:rwx
group:SYSTEM:rwx
mask:rwx
other:rwx
default:user::rwx
default:user:NOYB:rwx
default:group::rwx
default:group:root:rwx
default:group:SYSTEM:rwx
default:mask:rwx
default:other:rwx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...