Ответы пользователя по тегу CentOS
  • Куда по умолчанию ставится php 7.4 centos 7?

    @younghacker
    С помощью команды
    rpm -qa | grep -i 'php\|http\|apache\|nginx'
    вы узнаете какие пакеты php, nginx, ahache установлены в системе.

    Команда
    sudo netstat -nlptx | grep -i 'php\|http\|apache\|nginx\|80\|443'

    должна показать unix сокеты и прослушиваемые tcp порты.
    Должен быть установлен пакет net-tools.

    Дальнейшие действия будут по результатам этих команд.

    PS.
    И не нужно играться с make и исходниками если вы делаете первые шаги в Linux. Все пакеты необходимые для вебсервера можно найти в репозиториях и команда yum install - друг большинства пользователей CentOS.
    Ответ написан
    Комментировать
  • Как сделать reload службе dhcpd, apache или любой после обновления конфига которая работает в кластере pacemaker не мигрируя ее на другую ноду?

    @younghacker
    Вы сами почти ответили на свой вопрос
    systemctl reload httpd
    systemctl reload dhcpd
    systemctl reload haproxy

    Именно reload, а не restart
    Предварительно проверьте синтаксис соответствующего конфига чтобы демон смог их загрузить.
    А то из-за отсутствующего IP или SSL сертификата он может свалиться, что неприятно.
    Оригинальные конфиги всегда должны быть под рукой.
    Ну и ноду не перепутайте. :)
    Ответ написан
    Комментировать
  • CentOS 7 kickstart и пароль в md5, не работает?

    @younghacker
    У меня скрипт который создаёт кикстарты делает это так:

    read -p "Enter root password or leave empty for random: " ROOT_PW
      if [ -z "${ROOT_PW}" ] ; then
        # генерируем пароль для root
        ROOT_PW=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 15 | xargs`
      fi
      # шифруем пароль так
      ROOT_PW_SALT=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargs`
      ROOT_PWCRYPTED=`echo -e "${ROOT_PW}\n${ROOT_PW_SALT}" | python -c 'import crypt; print crypt.crypt(raw_input(), "\$6\$" + raw_input() + "\$")'`
    ....
    KSFILE=`cat <<EOFINLINEFILE
    text
    lang en_US.UTF-8
    keyboard us
    network --onboot yes --device eth0 --bootproto dhcp --hostname ${HOST_NAME}
    rootpw --iscrypted ${ROOT_PWCRYPTED}
    authconfig --enableshadow --passalgo=sha512
    firewall --service=ssh
    selinux --permissive
    timezone --utc Etc/UTC
    ....

    Шифрованный пароль можно сгенерировать и так:
    echo -e "${ROOT_PW}" | python -c 'import crypt; print(crypt.crypt(raw_input(), crypt.mksalt(crypt.METHOD_SHA512)))'
    Ответ написан
  • Как закинуть файл на удаленный ftp?

    @younghacker
    В чём вопрос, то? Если mc может то им и копируйте.
    Если вопрос в автоматизации из скриптов то используйте lftp например. Или как написали выше.

    hint:
    в mc можно прямо в командной строке написать так.
    cd ftp://user:password@serveraddress/folder/
    Если всё удачно то mc откроет в текущей панели указанный FTP и пароль в history не попадёт.
    Ответ написан
    Комментировать
  • Как отредактировать файл /etc/sysconfig/iptables из php скрипта?

    @younghacker
    Да вы отважный шутник батенька!
    И конечно php скрипт будет запускаться удалённо...
    Запустите php с правами рута и будет вам счастье!
    Кроме изменения файла нужно бы и iptables перезапустить.
    Так может лучше правила заливать в IPTABLES без изменения файла?

    На порядок безопаснее будет записать обычный файл от обычного непривилигированного пользователя, где-то в его домашней папке, а на него натравить inotify в режиме монитора который увидит что он изменился, запустит скрипт с привилегиями рута, тот распарсит его сформирует команду для управления iptables и выполнит её. Формат файла текстовый, никаких прямых команд. Работа строго по словарю. Строка не прошла словарь — удаляется, в лог пишется уведомление.

    Вы бы описали задачу. Может она уже давно решена.
    Ответ написан
    Комментировать
  • Есть ли ограничение на время выполнения программы по крону?

    @younghacker
    Если сервер принадежит Вам то ограничения нет. Важно чтобы ваша программа не попала в зацикливание когда первая ещё не закончилась, а вторая уже началась.

    Для shared хостинга хостеры вынуждены ограничивать время работы крон-задания потому что они жрут память и зачастую процессор и сетевые сокеты. Но я сомневаюсь, что там кто-то позволит запустить JAVA тем более в кроне! :)
    Ответ написан
    Комментировать
  • Как подключиться к VNC?

    @younghacker
    Конкретика:
    на сервере:
    --------------------------------------------------------
    # netstat -nlp -A inet
    и проверяем что слушает сервер vnc (адрес и порт). (0.0.0.0 5900)

    # iptables -nvL
    и проверяем то что открыты порты 5900
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT

    SELinux
    $ getenforce
    Permissive
    если стоит Enforced то на время проверки сделать
    # setenforce 0

    на клиенте
    --------------------------------------------------------
    $ vncviewer 172.16.82.242:0

    :0 означает индекс порта который слушает сервер относительно стандартного 5900
    :1 - 5901

    Если после этого не будет работать тогда будем ковырять дальше.
    Ответ написан
  • Расшифровка со SMART на SSD OCZ VErtex 450 128Gb под Centos 7?

    @younghacker
    Device is: Not in smartctl database [for details use: -P showall]

    Это значит что Вашего диска нет в базе утилиты smartctl.
    Для того чтобы она понимала все параметры smartctl нужно обновить базу.
    Можно попробовать
    # yum update smartmontools
    Если не обновится или обновится но диск не появится то попробовать скриптом.
    У вас должен быть установлен скрипт update-smart-drivedb он загружает свежую базу дисков. Возможно и Ваш диск там есть. Скрипт должен отработать без ошибок.
    # update-smart-drivedb -v
    Download from branches/RELEASE_5_43_DRIVEDB
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  136k    0  136k    0     0  23559      0 --:--:--  0:00:05 --:--:--  169k
    /usr/share/smartmontools/drivedb.h updated from branches/RELEASE_5_43_DRIVEDB


    После этого запустите smartctl и посмотрите, что получится. Сообщение о том что диска нет в базе должно бы исчезнуть, а параметры должны получить соответствующие имена.

    После этого будете читать ошибки.

    PS
    Мне нравятся SSD Intel. Заходишь на их сайт "стягиваешь" спецификацию читаешь её и пишешь скрипт который парсит выдачу smartctl и получаешь вот такой более менее человеческий ответ:
    "The workload took 244041 minutes (169.473 days) to complete with 51% reads and 49% writes. A total of 12507.7GB of data was written to the device, which increased the media wear in the drive by 2.72949%. At this point in time, this workload is causing a wear rate of 2.72949% for every 244041 minutes, or 0.000671074%/hour"
    Ответ написан
    Комментировать
  • Как правильно разметить Centos 7 Server для виртуальных машин и контейнеров?

    @younghacker
    Правильно/неправильно это относительная оценка.

    Я делаю так.
    до 500 мег под /boot
    далее создаю LVM на котором ставлю
    /
    /home
    /log
    swap

    Но важным является то, что я не выделяю всё свободное место, а только необходимое плюс небольшой запас. С таким подходом пока имеется свободное место на LVM имеется возможность сделать lvresize и resize2fs прямо на ходу не перегружая систему.
    Диски для виртуалон же выделяю прямо в LVM.

    Для виртуализации использую KVM.
    Ответ написан
    Комментировать
  • Centos 7, почему не запускается openvpn клиент?

    @younghacker
    Всё необходимое было сказано выше я лишь добавлю немного практики.
    В сессии рута:
    отключить SELinux
    setenforce 0
    проверить что отключился
    getenforce

    Настройте логи /etc/openvpn/ваш-vpn.conf
    log-append  /var/log/openvpn.log
    verb 5


    затем запустить openvpn и посмотреть что получилось в логе

    cat /var/log/openvpn.log

    также ошибки указывающие на проблему могут быть и в /var/log/messages

    Если проблема в SELinux то разрешите открывать порты (для конфига который породит сервер), читать конфиги и писать лог и status файлы.

    Показать права SELinux для файлов:
    semanage fcontext -l | grep openvpn
    и для портов (требуется для сервера)
    semanage port -l | grep openvpn_port_t

    Добавление исключений для файлов:
    semanage fcontext -t openvpn_etc_t -a '/etc/openvpn(/.*)?'
    semanage fcontext -t openvpn_etc_rw_t -a '/etc/openvpn/ipp.txt'
    semanage fcontext -t openvpn_var_log_t -a '/var/log/openvpn.*'
    restorecon -v /etc/openvpn/
    restorecon -v /var/log/


    Добавление исключений для портов:
    semanage port -a -t openvpn_port_t -p tcp ПОРТ
    semanage port -a -t openvpn_port_t -p udp ПОРТ


    semanage находится в пакете libsemanage-python
    Ответ написан
    Комментировать
  • Почему не работает форвардинг на Centos?

    @younghacker
    Вы не показали таблицы маршрутизации центрального сервера. Как можно понять из приведённой информации на нём на VPN интерфейсе есть сеть 192.168.250.0/24, а значит на нём должна быть маршрутизация через vpn в ваши сети которые вы хотите сделать доступными:
    192.168.248.0/24
    192.168.243.0/24
    192.168.251.0/24


    В одной консоли запустите
    ping -I eth1 192.168.250.102
    Во второй
    tcpdump -i tun0 host 192.168.250.102
    На центральном сервере на tun интерфейсе также запустите
    tcpdump -i tun0 host 192.168.250.102
    Смотрите что пакеты проходят как в одну так и во вторую сторону.
    Ищите где затык.

    Мне также жутко не нравится Ваш iptables. В частности цепочки FORWARD
    -A FORWARD -d 192.168.250.0/24 -i eth1 -o tun0 -j ACCEPT
    -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i eth1 -o eth0 -j ACCEPT
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -i tun0 -j ACCEPT
    -A FORWARD -o tun0 -j ACCEPT

    Запустите пинги из одной консоли и позапускайте посмотрите какие счётчики растут.
    # iptables -nvL
    Вы цепочкой
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited

    режете трафик который идёт из tun0.

    У вас все адреса локальные поэтому можете попробовать разрешить всё:
    -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A FORWARD -i eth0 -j ACCEPT
    -A FORWARD -o eth0 -j ACCEPT
    -A FORWARD -i eth1 -j ACCEPT
    -A FORWARD -o eth1 -j ACCEPT
    -A FORWARD -i tun0 -j ACCEPT
    -A FORWARD -o tun0 -j ACCEPT
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited


    Пробуйте.
    Ответ написан
    1 комментарий