Полномочия выходят для общего каталога на сервере

TL; DR: Рекурсивные запросы являются частью способа, которым Интернет и работа DNS, но не все серверы DNS должны получать рекурсивные запросы, и когда те, которые не должны отвечать, действительно отвечают, можно получить проблемы.

Более длительная версия:

Рекурсия, n: Посмотрите под Рекурсией.

Рекурсивный запрос DNS происходит, когда сервер DNS, который Вы попросили адреса, скажем, unix.stackexchange.com, не знает сам ответ, таким образом, он должен свериться с другим сервером.

Обычно это на самом деле, как DNS работает - сервер DNS Вашего ISP не имеет доменных записей всего Интернета постоянно запоминаемыми по очевидным причинам, таким образом, следующий обмен происходит под капотом:

  1. Вы: Эй, браузер, покажите мне http://unix.stackexchange.com

  2. Браузер: Решенный вопрос!... Гм. Я на самом деле не знаю, какой IP-адрес, который является.

    Эй, ОС, можно ли сказать мне, где найти unix.stackexchange.com?

  3. ОС: Решенный вопрос...

    Хм. Это не находится в моем собственном файле hosts. Позвольте мне просто проверить мою конфигурацию сопоставителя...

    Эй, сервер DNS ISP, можно ли сказать мне, где найти unix.stackexchange.com?

  4. Сервер DNS ISP: Решенный вопрос!

    ... Хм. Тот не находится в моем списке авторитетных доменов, и прямо сейчас мне не кэшировали тот ответ.

    Эй, интернет-корневые серверы, можно ли сказать мне, кто является авторитетным для stackexchange.com?

  5. Интернет-Корневые Серверы: Решенный вопрос! Согласно нашим записям, Вы хотите ns1.serverfault.com, ns2.serverfault.com или ns3.serverfault.com.

  6. Сервер DNS ISP: Спасибо, интернет-Корневые Серверы!

    Привет там, ns2.serverfault.com, можно ли сказать мне, где найти unix.stackexchange.com?

  7. ns2.serverfault.com: Решенный вопрос! Это - адрес 64.34.119.12

  8. Сервер DNS ISP: Большой, Спасибо!

    ОС, число, которое Вы ищете, 64.34.119.12.

  9. ОС: Большой, Спасибо!

    Браузер, Вы должны обратиться 64.34.119.12

  10. Браузер: Большой, Спасибо!

    Хорошо, звоня странице теперь.

  11. Вы: Yay, Браузер спасибо!

Теперь примите во внимание, что существует на самом деле два типа серверов имен, запрошенных здесь - авторитетные серверы DNS (так называемые "корневые" серверы, которые сказали сервер DNS Вашего ISP, где найти сервер DNS SE.com и авторитетный сервер DNS SE.com), и рекурсивно вызывающие или передающие серверы DNS (сервер DNS Вашего ISP).

Обычно, бывший тип, как предполагается, не отвечает на рекурсивные запросы, особенно не снаружи их собственного домена. Меньшие ISPs иногда экономят на затратах при наличии их основного авторитетного сервера имен быть тем же сервером как их основной передающий сервер имен, но это - несколько небезопасная политика - особенно, если Вы не настраиваете свой сервер для отказа от рекурсивных запросов снаружи собственного диапазона IP.

Дополнительные материалы для чтения здесь на Википедию.

4
17.03.2011, 22:47
3 ответа

Я использовал бы другой подход и совместно использовал бы файлы через список управления доступом на каталоге.

Сначала удостоверьтесь, что списки управления доступом включены в файловой системе, где каталог находится (удостоверьтесь что соответствующая запись в /etc/fstab содержит acl в четвертом столбце). Также удостоверьтесь, что у Вас есть acl установленные утилиты (на Debian, установите acl пакет). Затем дайте обоим пользователям наследуемое разрешение записи на каталоге.

setfacl -m user:other_user:rwx /path/to/directory
setfacl -d -m user:other_user:rwx /path/to/directory

Если существует больше чем два пользователя, любое повторение эта команда для каждого пользователя (ACL неявен для пользователя, который создал каталог); или помещенный пользователи в группу (поскольку Вы уже сделали), и использование -m group:group_name:rwx в setfacl команда.

3
27.01.2020, 20:56
  • 1
    извините, которому это брало меня так долго для ответа на это, поскольку я только что смог реализовать это, но я нахожусь все еще в той же ситуации файлов, которые я вывожу в этом каталоге, который я создал на своей локальной машине только, имеет полномочия чтения-записи для меня и только читал для остальной части группы. Я не знаю, ли это в результате всего питания вокруг, я сделал в этом конкретном каталоге. Тем не менее единственный способ, которым я могу заставить это работать, путем установки umask на моей локальной машине 0002. Файлы, которые я создаю на самом сервере, прекрасны, но это не метод, который мы главным образом используем. –  Jagot 24.04.2011, 15:56
  • 2
    @Jagot: Я думаю, что нам нужно больше информации для помощи Вам затем. Отредактируйте свой вопрос описать точно, как Вы загружаете файлы на сервер и показываете вывод getfacl на файле, который не имеет желаемых полномочий и содержания каталогов полностью до корня совместно используемого пространства. –  Gilles 'SO- stop being evil' 24.04.2011, 17:41

Извините я был толстым в комментариях. sftp-сервер выполняется корнем, и Вы берете umask корня. Необходимо смочь зафиксировать это путем редактирования Вашего /etc/ssh/sshd_config файл и изменение строки

Subsystem sftp /usr/lib/openssh/sftp-server

кому:

Subsystem sftp /bin/sh -c `umask 0002; /usr/libexec/openssh/sftp-server`
1
27.01.2020, 20:56
  • 1
    не упускает умные кавычки в этом ответе! (Вы вставка копии из этого блога jeff.robbins.ws/articles / …? Это, кажется, происходит из очень собственного @Gilles :)) –  simon 17.03.2011, 04:59
  • 2
    @simon: Я думаю, что это прибыло из форумов Ubuntu, но это застревало в моем tiddlywiki в течение нескольких месяцев. –   17.03.2011, 09:11
  • 3
    @simon: Это был другой Gilles. Я рекомендовал бы ACLs так или иначе. –  Gilles 'SO- stop being evil' 17.03.2011, 22:48

В дополнение к ответу Iain, который должен работать (но не упустить умные кавычки и видеть ниже для протеста), наверху /etc/init.d/ssh Вы найдете:

### BEGIN INIT INFO
# Provides:     sshd
# Required-Start:   $remote_fs $syslog
# Required-Stop:    $remote_fs $syslog
# Default-Start:    2 3 4 5
# Default-Stop:     
# Short-Description:    OpenBSD Secure Shell server
### END INIT INFO

...

umask 022

и можно изменить значение здесь.

Протест:

многие клиенты S/FTP попытаются установить полномочия на недавно загруженных файлах для соответствия полномочиям в локальной системе, таким образом проверьте, является ли это тем, что происходит. Если это, можно обычно отключать эту опцию в настройках клиента, который Вы используете для загрузки.

править:

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

0
27.01.2020, 20:56

Теги

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