LINUX.ORG.RU

Избранные сообщения ford1813

FTP сервер с регистрацией новых пользователей через WEB-интерфейс

Форум — General

Сегодня я решил сделать ftp сервер на linux с помощью vsftpd, но чуть позже я захотел сделать веб-регистрацию для новых пользователей. Мне бы хотелось сделать веб с apache и php, в чем я не очень силён. Помогите, пожалуйста!

 ,

Caesium137
()

Busybox - как слить файл?

Форум — General

Есть железка:

BusyBox v1.15.3 (2015-08-06 12:29:58 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Sourcing Opera Environment...
OPENSSL_FIPS=0
$ help
Built-in commands:
------------------
        . : alias bg break cd chdir continue eval exec exit export false
        fg hash help jobs kill let local pwd read readonly return set
        shift source times trap true type ulimit umask unalias unset
        wait

SCP/SFTP не доступно. Как получить содержимое файла logo.bmp с помощью этого набора команд?

$ ls /data/logos/
logo.bmp

 ,

Turbid
()

Объясните как работать с Docker

Форум — Development

Я прочитал статьи про то зачем нужен докер, как на нём разворачивать простейшие приложения, но всё ещё не понимаю как я могу его использовать в своём проекте.

Мой стэк — Node.js/Express/TypeScript, MongoDB, RabbitMQ, nginx. Я бы вручную установил ОС, весь стэк, конфигурацию, и общую папку (чтобы не копировать файлы). При необходимости эмулировать продакшн — создал бы ещё один контейнер. Если бы у меня была macOS, то я бы использовал VirtualBox.

Но я до сих пор не понял что мне делать в Docker. Конкретно:

  • Ой. Мой список вопросов закончился :)

Отвеченные вопросы:

  • Мой главный вопрос — что мне вообще делать с вашим докером? Работать как с виртуалкой?
    • Ответ: 1
  • Мне нужно все этапы установки, которые я выполнял при ручном создании контейнера, перенести в Dockerfile/docker-compose?
  • Зачем нужен DockerHub, если можно выбрать ОС и самому установить нужный софт?
    • Ответ: нужно понимать в чём смысл докера, тогда эти вопросы отпадают. Во многих гайдах упускают тот момент, что вы не должны создать единый образ, который содержит всё, а должны все процессы поместить в отдельные контейнеры. Например, приложение на Node.js и сервер MongoDB должны быть в разных контейнерах. В Docker это называется сервисами
  • Я в некоторых Dockerfile видел apt-install — разве это уже не означает, что образ не иммутабелен? Ведь изменится версия библиотеки в репах — изменится и в твоём образе, разве нет?
    • Ответ: 1
  • Я вижу как в очередном Dockerfile пишут FROM php:alpine-666 и чуть ниже RUN apt-install .... Это значит, что используемый образ из DockerHub — Ubuntu-based?
    • Ответ: образы в DockerHub действительно базируются на какой-то ОС. Причём не всегда очевидно на какой.

Спасибо!

 ,

elonmusk
()

Помогите с настройкой curlftpfs, есть пара моментов так сказать

Форум — General

Мне нужно было примонтировать ftp, что бы работать с ним как с обычным каталогом: 1. Скачал Curlftpfs

2. Инструкция хорошо гуглилась и я по совету из неё прописал в файле /etc/fstab строку:

 curlftpfs#****user:******@*******.ru /mnt/ftpdir fuse auto,user,uid=1000,allow_other 0 0 

3. Сделал

 mount -a 

4. Был в восторге от того что всё работает... Но не долго

5. Если не вдаваться в детали, вообщем после второго

mount -a
упала такая ошибка:

fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

но ftp продолжала работать. И здесь первый вопрос: Как с этим лучше бороться? Я же послушался совету из вывода и добавил в /etc/fstab опцию «nonempty»,вот как это выглядит:

curlftpfs#ftpuser:12345678@repo.safib.ru /mnt/repo.safib.ru fuse auto,user,uid=1000,nonempty,allow_other 0 0

6. Проблема решилась и я стал праздновать победу, но не тут то было...

7. После перезагрузки системы меня встретил такой экран, см скрин : https://drive.google.com/file/d/1lRmtu85GaEPhA15tRDL8nRzCVQFIfbWJ/view?usp=sh...

Строку в fstabe закомменчиваю и ось нормально загружается.

В общем, уважаемые более опытные друзья, у меня только один вопрос, что я делаю не так??)

 ,

sergei111
()

Разъясните работу knockd

Форум — Admin

Конфиг knockd:

[CFG01]
        sequence        = 27000:udp,27001:udp,27002:udp
        seq_timeout     = 7
        command         = /sbin/..........

Настройки iptables:

/sbin/iptables -A INPUT -p udp -m multiport --dports 27000,27001,27002,27003,27004 -j LOG  --log-prefix "KNOCK packets"
/sbin/iptables -A INPUT -p udp -m multiport --dports 27000,27001,27002,27003,27004 -j DROP

Через nping посылаю одиночные пакеты на порты 27000-27005.

В логе получаю сообщения:

... KNOCK packets ... PROTO=UDP ... DPT=27000 ...
... KNOCK packets ... PROTO=UDP ... DPT=27001 ...
... KNOCK packets ... PROTO=UDP ... DPT=27002 ...
... KNOCK packets ... PROTO=UDP ... DPT=27003 ...
... KNOCK packets ... PROTO=UDP ... DPT=27004 ...

Здесь при поступлении комбинации пакетов запуск команды из конфига knockd выполняется, также появляются записи в логе от iptables.

Т.е. насколько я вижу, knockd работает как-то прозрачно для iptables (да и вообще для сети)?

Я сначала полагал, что knockd тупо открывает на прослушку заданные в конфиге порты и поэтому эти порты нужно пропускать в iptables...

Но реально получается, что knockd как-то получает сетевые пакеты раньше чем iptables?

Проясните пожалуйста эту тему!

 ,

KLfer
()

libssh2 и LIBSSH2_ERROR_SOCKET_SEND

Форум — Development

Подскажите что делаю не так!?

Вроде все по примеру, а не выходит каменный цветок на libssh2_userauth_publickey_fromfile выпадает с ошибкой -7

при этом libssh2_userauth_list возвращает publickey

    int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (sock == -1)
    {
        cerr << "Ошибка открытия сокета\n";
        return false;
    }

    struct sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(22);
    sin.sin_addr.s_addr = inet_addr("ip удаленного сервера");
    if(sin.sin_addr.s_addr == INADDR_NONE)
    {
        cerr << "Невервый адрес\n";
        return false;
    }

    if(connect(sock, (struct sockaddr*)(&sin), sizeof(struct sockaddr_in)) != 0)
    {
        cerr << "Ошибка соединения с сокетом\n";
        return false;
    }

    LIBSSH2_SESSION * session = libssh2_session_init();
    if (!session)
    {
        cerr << "Ошибка инициализации SSH сессии\n";
        return false;
    }

    int ret;
    if (ret = libssh2_session_startup(session, sock))
    {
        cerr << "Ошибка запуска SSH сессии " << ret << endl;
        return false;
    }

    cout << libssh2_userauth_list(session, "wolverin", strlen("wolverin")) << endl;

    if(ret = libssh2_userauth_publickey_fromfile(session, "wolverin", "/home/wolverin/.ssh/id_rsa.pub", "/home/wolverin/.ssh/id_rsa", ""))
    {
        cerr << "Ошибка аутентификации " << ret << endl;
        libssh2_session_disconnect(session, "Client disconnecting normally WTF");
        libssh2_session_free(session);
        close(sock);
        return false;
    }

    LIBSSH2_CHANNEL * channel = libssh2_channel_direct_tcpip_ex(session, "ip удаленного сервера", 5550, "127.0.0.1", 5552);
    if (!channel)
    {
        cerr << "Ошибка создания тунеля\n";
        libssh2_session_disconnect(session, "Client disconnecting normally");
        libssh2_session_free(session);
        close(sock);
        return false;
    }

 ,

wolverin
()

OpenLDAP

Форум — Admin

Всем Привет!

Помогите с конфигурацией OpenLDAP, необходимо:

  • Группы расположить в OU Groups
  • Пользователей в OU Users
  • Создать группы Administrators, Users
  • Создать пользователей user01-user05 в группе Users и дать доступ определенным машинам (IPv6)
  • Перенести admin в группу Administrators

Вот мой файл конфигурации:

( читать дальше... )

Что в нем необходимо изменить или добавить? UPD: Нарисовал конфигурацию Сcылка

 

Pasha26
()

Защитить файлы от случайного удаления рутом

Форум — Admin

Некоторый каталог и все файлы в нем принадлежат пользователю user. Возможно ли защитить эти файлы от случайного удаления или перезаписи от имени root? При этом user должен сохранить возможность записи.

Понятно, что невозможно защитить файлы от умышленного удаления или повреждения. Задача именно в том, чтобы запретить удаление без явного изменения атрибутов и др.

 

aquadon
()

Как монтировать initrd.img ?

Форум — Admin

Вот такая проблема:

# mount -o loop initrd.img-4.18.0-16-generic /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
#

 , , , ,

superuser
()

Bash: Имитация набора текста в терминале

Форум — General

Нужно вывести текст подобно $echo, но как бы так, как писал бы это человек с определённой задержкой символов...

 ,

ARCH_ANGEL
()

Найти и скопировать один самый новый файл

Форум — Admin

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

Пока ничего умнее не придумал: find /место/искомого/файла -type f -cmin -10 | xargs cp -tpv /мой/каталог/

Но эт нифига не то что хотелось бы. Гуглил, не помогло особо.

 ,

sergei111
()

Samsung 860 evo как проверить скорость записи на Линуксе

Форум — Linux-hardware

1) Как в Линуксе проверить скорость записи именно Samsung 860 evo? 2) Для винды есть утилита Самсунг Magic через которую прошивается этот ссд. Я сделал эту процедуру на винде. Но сейчас я поставил Линукс, то есть стерт полностью ссд. Получается что прошивка стерлась? 3) У этого ссд скорость запись падает до 300 мб, так как там переполняется кеш. Но ведь как-то можно его очистить?

 ,

denis12
()

Запись в stdin и чтение из stdout дочерних процессов

Форум — Development

Я делаю новую среду программирования, в котором Си используется в качестве бэкенда, попутно сам осваиваю Си. Приходится компилировать в gcc.

Нужно вызвать gcc, записав в его stdin код, а из его stdout получить результат. Подскажите чайнику как это делается.

 , , , ,

metaprog
()

Zabbix парсинг логов по ошибке

Форум — General

Здравствуйте! Появилась потребность развернуть zabbix и мониторить у клиента события из /var/log/syslog по слову «drweb». Собственно был создан элемент данных в zabbix со следующим содержимым.

 
Имя: drweb
Тип: Zabbix агент(активный)
Ключ: log["/var/log/syslog","drweb","UTF-8",90]
Тип информации: Журнал(лог)
Интервал обновления: 30s
Период хранения истории: 90d
Группы элементов данных: groupname

У клиента события по drweb сыпятся, а вот в мониторинге «Последние данные» инфа на сервак не падает. ЧЯДНТ?

 , , , ,

Rayman24
()

DEVOPS-инженер

Форум — General

Здравствуйте, Извиняюсь не в тот топик добавил тему. Хочу устроиться DEVOPS-инженером, имеет смысл идти junior`ом или сразу специалистом? Какие есть подводные камни при работе DEVOPS-инженером ?

Мой опыт: 7 лет работал сисадмином, и паралельно прогамирвоал 2 года на C#, потом утроился в компанию джуном C#, но спустя 2 месяца закрыли наш проект и я уволился, так же понял что кодить я не так уж и люблю. А вот DEVOPS прям моё. Работаю DEVOPS-инженером за опыт на проекте 3 месяца. Делаю сборки на bash скриптах,а так же в Teamcity, всё работает в среде docker. На проекте я единственный DEVOPSер

 

papajon
()

Differential backup с большими файлами?

Форум — Admin

Вот сделал я снапшот диска на госте KVM. Чем с минимумом затрат трафика сделать какой-нибудь дифф с предыдущим таким снапшотом, хранимым удалённо? Хочу делать регулярные бэкапы полного образа, а более часто — такие диффы. Потом мержить этот дифф через blockcommit и жить дальше.

 , , ,

olegkrutov
()

Вопросы на python-собеседовании

Форум — Development

Накидайте вопросов, которые вам задавали или вы задаёте при собеседовании на python-программиста.

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

 ,

mxrd2
()

Как сделать такой редирект в nginx?

Форум — General

Как сделать такой редирект в nginx?
Нужно чтобы
https://mysite.domain/redir?domain=mybot&start=134244
перенаправляло на
tg://resolve?domain=mybot&start=134244

при этом числа после start могут быть разные

 ,

Qwentor
()

Проброс vlan в lxc-контейнер в Ubuntu 18

Форум — Admin

Здравствуйте!

Задача: нужно пробросить vlan в контейнер и как это сделать правильно имея Ubuntu 18.04

настройки в netplan:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses: []
      dhcp4: no
...
  vlans:
    vlan-15:
      id: 15
      link: enp3s0
      addresses: []

пробрасываю vlan-15 в ранее созданный контейнер «wifi» и создаю статический IP

lxc network attach vlan-15 wifi eth1
lxc config device set wifi eth1 ipv4.address 172.16.0.1/24

проверяю через «lxc config device show wifi»:

...
eth1:
  ipv4.address: 172.16.0.1/24
  nictype: macvlan
  parent: vlan-15
  type: nic

Захожу в контейнер «lxc exec wifi bash» и проверяю состояние. Интерфейс eth0, сконфигурированный с заданным IP таким же образом, существует и его IP-адрес отображается. Проброшенный интерфейс также существует, но без IP-адреса.

Если в контейнере в netplan явное указать настройки, то всё заработает:

network:
  version: 2
  ethernets:
    eth0: {dhcp4: true}
    eth1:
      addresses: [ 172.16.0.1/24 ]
      dhcp4: no

Как можно решить такую проблему, не прибегая к ручному редактированию netplan в контейнере?

 , , ,

procsik
()

Как установить .deb пакет в нужное место?

Форум — Desktop

Не смог найти в инете внятного гайда по тому, как установить .deb пакет в нужное место( чтобы программа находилась и запускалась с той папки, в которой я бы хотел ее видеть)

Мне нужно установить virtualbox на linux mint в криптоконтейнер, так чтобы в самой системе следов от виртуалбокса не было. Пробовал один гайд, но на пол пути встретил проблему которую не смог решить. Если можете помочь, напишите подробно как это делать, потому что я в линуксе новичок и могу некоторые моменты вообще не понять.

 , , , ,

deadspace
()