полномочия 'setfacl' не относятся к каталогам, созданным клоном мерзавца?

Системы Unix имеют понятие имени хоста, которое не связано с сетевой подсистемой. То имя что hostname управляйте шоу и что поднимается в журналах. При создании соединения SSH оно выполняет поиск DNS, для обнаружения то, что имя означает в контексте семейства протоколов TCP/IP, что SSH воздействует на.

Для Вашей исправности необходимо удостовериться, что это имя хоста соглашается с тем, что окружение сервер DNS говорит, и с тем, что (если что-нибудь) система думает, что это называют. На самом деле имена DNS не связаны с машинами, но с сетевыми интерфейсами, таким образом, Ваше имя DNS будет связано с одним из Ваших сетевых интерфейсов. На машинах без соединения фактической сети имя хоста должно быть связано с петлевым интерфейсом.

На практике имя хоста хранится в файле /etc/hostname на большинстве машин. Можно изменить его во времени выполнения с hostname команда; это сделано рано в процессе начальной загрузки. Локальная идея имени DNS хранится в /etc/hosts, на строке, соответствующей любому петлевой интерфейс (127.0.0.1) или к одному из сетевых интерфейсов машины.

3
24.09.2013, 16:39
3 ответа

Вероятно, git перезаписывает GID и ACLs после того, как файлы были созданы (как простое mv делает при перемещении перекрестного устройства). Можно проверить это путем выполнения его через strace (strace -f -o git.strace -e trace=file).

1
27.01.2020, 21:28
  • 1
    strace команда не работает. Я, как предполагается, заменяю file в команде с чем-то? Если да, что? –  its_me 21.06.2013, 17:25
  • 2
    @its_me команда должен создать файл с именем git.strace. trace=file корректно; это ограничивает вывод трассировки файлом связанный syscalls. –  Hauke Laging 21.06.2013, 17:27
  • 3
    Что-то неправильно с командой. Я получаю инструкции по использованию, показывающие допустимые варианты и материал, когда я выполняю команду. –  its_me 21.06.2013, 17:32
  • 4
    @its_me точки, Вы помещающий команду, которую Вы выполняете в конце команды strace? Я думаю Hauke, предназначенный, чтобы это подразумевался. –  Bratchley 21.06.2013, 17:48
  • 5
    @HaukeLaging Извините за задержку; неожиданная проблема на моем ПК. Вот вывод strace: pastebin.com/RVbiaaXy. Это имеет эту строку mkdir("dropplets", 0755) = 0 - таким образом это означает, Мерзавец вызывает полномочия каталога и таким образом не придерживается ACLs? Или я неправильно? –  its_me 21.06.2013, 18:48

Если Вы видите различные полномочия использовать git clone затем это вероятно Ваш umask который вызывает это:

$ umask
0002

Новые файлы, создаваемые, когда Вы работаете git clone команда создается с полномочиями на основе какой Ваш umask указывает. Umask заявляет, какие биты должны быть замаскированы прочь. Таким образом в вышеупомянутом примере любые новые файлы я создаю с umask 0002 имел бы другой бит записи выключенным.

Ссылки

1
27.01.2020, 21:28
  • 1
    я не думаю так (хотя я не уверен). Я думаю, что Мерзавец на самом деле устанавливает полномочия каталога на 0755. Прочитайте этот комментарий для большего количества информации: unix.stackexchange.com/questions/80267 / … и сообщают мне то, что Вы думаете –  its_me 21.06.2013, 18:50
  • 2
    я думаю Ваша проблема, мог бы в конечном счете быть этой проблемой: stackoverflow.com/questions/10637416 / …. См. комментарии к принятому ответу. –  slm♦ 21.06.2013, 20:40
  • 3
    Да, это - то, где я нашел ошибку (связанной в моем вопросе). Вещь, фиксация была выпущена в январе, и сомнение, это еще не включено в пакет Debian. –  its_me 22.06.2013, 10:23

Это возможно это git сбой состоит в том, чтобы клонировать расширенные атрибуты public_html каталог.

ACLs (а также маркировки файла SELinux) в соответствии с Linux реализованы с помощью основанных на файловой системе расширенных атрибутов (см. страницы справочника для attr, getfattr, setfattr). Расширенные атрибуты должны быть явно скопированы для них, чтобы быть сохраненными. Большинство утилит файла (mv, CP, tar, rsync, комната, и др.) в большинстве современных дистрибутивов Linux было обновлено для поддержки расширенных атрибутов (и, следовательно, ACLs).

Восстановите свой strace, но не учтите -e trace=file часть, передайте его по каналу к grep xattr, и затем посмотрите, существуют ли какие-либо вызовы к setxattr.

strace -f 2>&1 git clone | grep xattr

Если Вы не видите вывода, то мерзавец или по крайней мере тот, которого Вы используете, не поддерживают расширенные атрибуты.

0
27.01.2020, 21:28

Теги

Похожие вопросы