
В моем cygwin
терминале я не мог изменять файлы в моем домашнем каталоге
$ echo $HOME
/home/user123
$ cd $HOME
$ pwd
/home/user123
$ ls -ld .
drwxr-xr-x+ 1 user123 None 0 Jan 2 16:46 .
$ touch foo
touch: cannot touch `foo': Permission denied
$ whoami
user123
Однако, если бы я Run as administrator
при запуске cygwin
терминала мог изменить файл
$ echo $HOME
/home/user123
$ cd $HOME
$ pwd
/home/user123
$ touch foo
$ ls -ld foo
-rw-r--r-- 1 user123 None 0 Jan 2 17:00 foo
$ whoami
user123
Как мне решить эту проблему? Спасибо!
Обновлять
Я проверил свойства папки, записанные Windows, они показывают, что флажок "Только для чтения" установлен. (См. скриншот ниже.) Я попробовал снять флажок, но это не помогло. Также я заметил две вещи:
- Надпись на флажке гласит: «Только для чтения (применяется только к файлам в папке)». Означает ли это, что папки не помечаются как «Только для чтения» независимо от статуса флажка? Видимо, моя текущая проблема заключается в том, чтодомашняя папкаотмечен как доступный только для чтения (кроме Администратора). Как это изменить?
Когда я попытался изменить статус «Только для чтения» (снял флажок и
Apply
), я получил множество всплывающих окон с сообщением:Произошла ошибка применения атрибутов к файлу. Доступ запрещен.
Соответствующие пути к файлам — это все файлы, которые начинаются с точки (.) (скрытые файлы UNIX). В своей работе я выбрал опцию Ignore
для этих всплывающих окон
Обновление 2
Ниже представлен снимок экрана для вкладки безопасности. Обратите внимание, что Add
кнопка неактивна (хотя я делал это с помощью Run as administrator
). Также, когда я вошел на вкладку, появилось всплывающее окно с этим сообщением:
The permissions on user123 are incorrectly ordered,
which may cause some entries to be ineffective.
Еще один вопрос: как узнать, как два пользователя с длинными числовыми идентификаторами (S-1-5-21-...) сопоставляются с символическими именами пользователей?