Позвольте scp/ssh для www-пользователя-данных

Вы управляете сервером DHCP? Действительно ли возможно определить эти единицы своего рода префиксом MAC и предоставить их определенную установку DNS? Я знаю, что у ISC-DHCPD есть функция, посредством чего можно определить единицы и рассматривать их по-другому (т.е. диапазон IP, опции DHCP, и т.д.).

Простой пример в dhcpd.conf файле мог бы быть похожим:

class "embedded" {
    match if substring(hardware,1,3) = XX:XX:XX;
}


pool {
    allow members of "embedded";
    ... other options here ...
}

Это позволило бы Вам указывать эти единицы с другим сервером DNS, не имея необходимость получать встроенное микропрограммное обеспечение / программное исправление. Я не знаю, имеет ли сервер DHCP Microsoft какой-либо подобный вид возможности (если это - то, что Вы используете), или если у Вас даже есть доступ к серверу DHCP в этой способности, но что-то вроде этого могло бы быть опцией..

10
задан 18 April 2011 в 02:11
4 ответа

На Debian, на основе которого Ubuntu, у www-пользователя-данных есть/bin/sh как оболочка по умолчанию. Для включения SFTP можно создать /var/www/.ssh/authorized_keys с Вами открытый ключ в нем. Полномочия на /var/www/.ssh должен быть 700, и полномочия на authorized_keys файле должны быть 600. Вы захотите добавить следующее к своей http конфигурации для запрещения доступа к этому каталогу.

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

Можно проверить настройки www-пользователей-данных (домашний dir, оболочка, и т.д.) использование getent passwd www-data.

Удостоверьтесь, что Ваш sshd_config имеет Subsystem sftp /usr/lib/openssh/sftp-server, и Вы, вероятно, захотите установить PasswordAuthentication no также.

6
ответ дан 2 December 2019 в 22:14

Это довольно небезопасно. Я предложил бы, чтобы Вы загрузили на промежуточную область с помощью другого пользователя и выполнили a cron работайте время от времени для перемещения материала, где он belogs и изменяет свои полномочия соответственно.

Если Вы действительно настаиваете на том, чтобы входить в систему как www-data, необходимо использовать ssh закрытый ключ, чтобы сделать это (экземпляры AFAIK EC2 только позволяют ключевую аутентификацию). Необходимо также проверить это www-data имеет допустимую оболочку на /etc/passwd и допустимый домашний dir.

В конце можно также попробовать некоторые решения этого вопроса.

2
ответ дан 2 December 2019 в 22:14

Вход в систему как www-data для scp - пустая трата времени.

Для команды scp, почему вы не используете ssh2_scp_send для передачи файлов, это просто и не работает. Вам не нужно добавлять-ssh или создавать открытый ключ для пользователя www-data

, например

ssh2_scp_send ($ connection, '/ directory / filename', '/ remotedirectory / filename', 0644);

должно работать

-3
ответ дан 2 December 2019 в 22:14

Более чистый способ сделать это, не полагаясь на задания cron для фактической работы по размещению файлов в корневом каталоге, состоит в том, чтобы сделать вашу «обычную» учетную запись SSH членом www-data group

# add your current user to www-data group
sudo usermod -a -G www-data myusername
# restore standard user/group ownership on your webserver documentroot
sudo chown -R root:www-data /path/to/your/webserver/documentroot

Таким образом, пользователь myusername будет иметь доступ на чтение/запись к корневому каталогу веб-сервера.

0
ответ дан 27 January 2021 в 16:19

Теги

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