Я запускаю Ubuntu, и по некоторым причинам, некоторые сочетания клавиш настроены в "Плагине Единицы Ubuntu". Там у меня есть установка для "ключа для выполнения команды".
Таким образом, возможно, необходимо просмотреть все compiz настройки плагинов.
Вы правы относительно полномочий: каждый компонент каталога должен быть мировым исполняемым файлом, и сам объект должен быть читаемым миром (и вероятно мировой исполняемый файл также, если это - каталог).
Дополнительная морщина - то, что, если путь включает символьные ссылки, необходимо сделать каждый промежуточный каталог, который необходим для разрешения мирового исполняемого файла символьной ссылки также.
Если у Вас есть путь без символьных ссылок, простой цикл может сделать задание:
make_directory_world_accessible () {
dir=$1
case $dir in /*) :;; *) dir=$PWD/$dir;; esac
while [ -n "$dir" ]; do
chmod a+x "$dir"
slashes=${dir##*[!/]}; dir=${dir%$slashes}; dir=${dir%/*}
done
}
С символьными ссылками необходимо искать все символьные ссылки вручную и рекурсивно вызвать по каждому компоненту каталога. Ядро делает это внутренне, но не выставляет процесс. Например, учитывая символьную ссылку /foo/bar -> one/two/three
, мало того, что необходимо сделать /foo/one
и /foo/two
общественность, но также необходимо проверить ли one
и two
символьные ссылки и рекурсивно вызывают соответственно.
Вы частично правы. На каталоге x
разрешение показывает разрешение использовать тот каталог для достигания объектов, на которые это ссылается. r
право необходимо, чтобы прочитать каталог, то есть, перечислить названия объектов, на которые это ссылается (обратите внимание на это, если Ваше разрешение r--
можно перечислить имена, но не получить доступ к объектам; если это --x
можно получить доступ к объектам, пока Вы можете дать правильное имя, но не перечислить их). w
разрешение означает изменять каталог, то есть, переименовывая объекты, на которые ссылаются, удалять ссылки или добавлять новые. Снова, это абсолютно независимо от других полномочий.
Другой аспект - то, что существует 3 набора полномочий, для пользователя, группы и других (иногда названы ugo). Пользовательский набор битов для владельца файла, группы для пользователей, принадлежащих группе файла. При проверке полномочий, если пользователь, пробующий доступ, является владельцем файла, применяются полномочия пользователя. Если пользователь не является владельцем файла, но принадлежит группе файла, полномочия группы применяются. Только если ни один из предыдущих случаев не применяется, другие проверенные полномочия.
Обратите внимание, что, поскольку биты полномочий абсолютно независимы, вышеупомянутые средства, там могут быть файлы, к которым ни у владельца, ни группы нет доступа, но у других есть полные полномочия. Немного странный, но последовательный и простой.
slashes
быть непустыми? – kjo 07.03.2013, 13:14foo/
илиfoo//bar
. – Gilles 'SO- stop being evil' 07.03.2013, 15:18dir=$(dirname "$dir")
(кроме потребности к особому случаю/
с последним методом)? – kjo 07.03.2013, 16:29dirname -- "$dir"
справляться с путями, которые запускаются с-
(не беспокойство здесь, потому что мы имеем дело с полным путем). Существует различие с запаздывающими наклонными чертами, но оно не имеет значения здесь. – Gilles 'SO- stop being evil' 07.03.2013, 17:10