Я пытаюсь запустить rsync в режиме демона на одной машине, называемой node0. Я хочу, чтобы машина принимала соединения только с node0 (self) или node1 (какая-то другая машина, которая определена)ограничение rsync в режиме демона
Единственный путь, который я хочу использовать для использования/tmp /. Чтобы любая операция чтения/записи на любой другой путь была запрещена, для любой машины-оригинатора.
Я не хочу, чтобы пользовательские ограничения или rsync выполнялись по ssh.
Я настроил /etc/rsyncd.conf следующим образом:
syslog facility = syslog
max verbosity = 3
log file = /var/log/mylog.log
port = 873
[Proj1]
path = /tmp/
include = /tmp/
exclude = *
comment = some comment
hosts allow = node0, node1
hosts deny = *
max verbosity = 3
log file = /var/log/filedistributer.log
Я не выполнять Rsync в режиме демона с помощью следующей команды:
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf --verbose
чем из node1 я бегу: rsync -a test.out node0:/tmp/
и он работает правильно.
Но если я запустил: rsync -a max.out node0:/someOtherDir
, и он также работает - там, где он не должен.
Если я иду на другую машину и запустить:
rsync -a someFile.out [email protected]:/someOtherDir
Он просит меня разрешить ключ SSH и введите пароль для суперпользователя, после этого копий I файла ... Это не должно быть.
Что мне не хватает? Ни один из моих ТРЕБОВАНИЯМ не будут выполнены:
- Rsync использует SSH, когда он не должен
- Rsync не ограничивает хозяев.
- Rsync не ограничивает папки
Файл журнала, несмотря на уровень 3 многословие имеет только одну линию (за каждый запуск демона) в виде:
2013/11/18 12 : 32: 35 [22289] rsyncd версия 3.0.6 запуска, прослушивания на порт 873
Кроме того еще одна проблема, я сталкиваюсь, что если я запускаю команду Rsync от NODE0 к node1, это STI ll удастся, даже без меня запуск rsync в режиме демона на node1.
Ваша помощь в использовании.
Спасибо, Макс.
Есть два способ для Rsync, чтобы связаться с удаленной системой: с помощью программы удаленной оболочки, как транспорт (такие как ssh или rsh) или обращение к демона rsync непосредственно через TCP. Поэтому, когда вы связываете его с node0 на node1, это, вероятно, то, что вы делаете, в этом случае удаленная оболочка вызывает сервер rsync на node1 (с произвольным портом - вы можете проверить это, чтобы проверить мое предположение) –
Используйте двойные двоеточия для подключения к демон rsync непосредственно вместо того, чтобы запустить ssh. 'rsync -a test.out node0 :: Proj1 /' (хост ** :: ** share) – mivk