Согласно официальной странице установки Cygwin :
Установка и обновление Cygwin для 64-разрядных версий Windows
Запуск setup-x86_64.exe при каждом обновлении или установке Cygwin пакет для 64-разрядных окон. Подпись для setup-x86_64.exe может быть используется для проверки действительности этого двоичного файла с помощью этого открытого ключа.
У меня было предчувствие, что этот баш был затронут, поэтому примерно за 15 минут до того, как вы опубликовали свой вопрос, я сделал, как было указано на странице настройки.
Нет необходимости в сценарии стороннего разработчика. Я считаю, что процесс для меня изменился, потому что я не очистил мой каталог загрузки по адресу C :\Cygwin64\Downloads
Утилита установки Просканировала мои установленные пакеты, и я оставил значения по умолчанию. Таким образом, все пакеты в базовой системе были обновлены. Один из них оказался тем бешеным, который затронут CVE-2014-6271. Вы можете увидеть доказательство того, что вы защищены на следующем снимке экрана:
Пожалуйста, обратите внимание, что я не знаю, защищает ли это обновление от других обнаруженных уязвимостей, поэтому следуйте описанной выше процедуре в течение следующих нескольких дней, пока эта проблема не будет полностью устранена.
-121--50012-
Для быстрого применения преобразования текста к текущему каталогу можно использовать конструкции PWD
variable и parameter expansion .
cd ${PWD/parent1/parent2}
Это не обязательно должен быть именно компонент пути, это может быть любая подстрока. Например, если пути буквально parent1
и parent2
, и в пути не осталось символов 1
, можно использовать cd $ {PWD/1/2}
. Последовательность поиска может содержать несколько компонентов пути, но после этого необходимо избежать косой черты. Например, для перехода от ~/checkout/trunk/doc/frobnicator/widget
к ~/checkout/bugfix/src/frobnicator/widget
можно использовать cd $ {PWD/trunk\/doc/bugfix/src}
. Точнее, часть parent1
является подстановочным символом оболочки образца, поэтому можно написать что-то вроде cd $ {PWD/tr * c/bugfix/src}
.
В zsh можно использовать более короткий синтаксис cd parent1 parent2
. Снова можно заменить любую подстроку в пути (здесь это именно подстрока, а не образец подстановочных знаков).
Аналогичную функцию можно реализовать в bash.
cd () {
local options
options=()
while [[ $1 = -[!-]* ]]; do options+=("$1"); shift; done
if (($# == 2)); then
builtin cd "${options[@]}" "${PWD/$1/$2}"
else
builtin cd "${options[@]}" "$@"
fi
}
Zsh обеспечивает завершение для второго аргумента. Реализация этого в bash оставлена как упражнение для читателя.
-121--84668-
В файловой системе, поддерживающей обычные атрибуты файлов Unix, каждый файл имеет пользователя, назначенного владельцем. Только владелец файла может изменить свои метки времени на utime
. Другим пользователям запрещено изменять метки времени, даже если у них есть разрешение на запись.
Файловые системы FAT не записывают ничего похожего на владельца. Драйвер файловой системы FAT делает вид, что владельцем каждого файла является конкретный пользователь: либо пользователь, выполняющий монтаж, либо пользователь, заданный параметром uid
.Используя обычные правила, только этот пользователь может изменять метки времени. Файлы также имеют группу владельцев, определяемую параметром gid
.
Файловая система FAT не записывает разрешения на файлы Unix, поэтому драйвер составляет их. Он назначает разрешения на основе параметров umask
, fmask
и dmask
, поэтому все каталоги и все обычные файлы имеют одинаковые разрешения.
Когда пользователи, отличные от владельца, имеют доступ к файловой системе для записи, имеет смысл, чтобы им было разрешено не только изменять обычные файлы и каталоги, но и метаданные файлов. Основными метаданными, представляющими интерес для файловой системы FAT, являются метки времени для файлов. Как правило, только пользователь-владелец может изменять временные метки. При помощи параметра allow _ utime
mount можно также разрешить другим пользователям изменять метки времени. Например, чтобы разрешить группе foo
изменять что-либо в файловой системе, а другим разрешить чтение, но не запись, следует передать параметры
gid=foo,umask=002,allow_utime=20
(это фактически значение по умолчанию для allow _ utime
на основе umask).
Возможная проблема - xdotool. Я переключаюсь на XMacro и все кнопки работают нормально.