Size: a a a

DevOps — русскоговорящее сообщество

2021 January 24

DS

Denis Seleznev in DevOps — русскоговорящее сообщество
Denis Seleznev
ах, там убунта, простите, не увидел
а что у нас в /etc/apparmor.d/*.mysqld ?
источник

V

Vasily in DevOps — русскоговорящее сообщество
Qwerty
ладно, буду в директорию бинарников срать )
источник

K

Konstantinx in DevOps — русскоговорящее сообщество
Привет всем. Такой вопрос. Есть приложение, которое работает и выполняет работу. Это не api и не работает с потоком http запросов. Я хочу запустить это приложение на нескольких серверах. Но при этом только одно будет выполнять работу, остальные будут запущены, но в состоянии ожидания. Если отвалится приложение или сервер с активным инстансом - нужно, что бы приложение на другой машине просыпалось и начинало работу. Как это сделать? Первое что приходит в голову, это сообщить каждому инстансу ip каждой машины и инстансы будут сами проверять и решать кому работать. Или может реализовать health api и использовать стороннее приложение, которое будет опрашивать все инстансы и слать сигнал, что бы активировать моё приложение. nginx вроде умеет делать health check, но ведь это не накладывается на моё приложение.
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
ну а какая разница, он и там Permission denied даст, куда я скажу писать в переменных...
источник

V

Vasily in DevOps — русскоговорящее сообщество
Qwerty
ну а какая разница, он и там Permission denied даст, куда я скажу писать в переменных...
покажи show variables like "secure_file_priv";
источник

C

Crysalis in DevOps — русскоговорящее сообщество
Konstantinx
Привет всем. Такой вопрос. Есть приложение, которое работает и выполняет работу. Это не api и не работает с потоком http запросов. Я хочу запустить это приложение на нескольких серверах. Но при этом только одно будет выполнять работу, остальные будут запущены, но в состоянии ожидания. Если отвалится приложение или сервер с активным инстансом - нужно, что бы приложение на другой машине просыпалось и начинало работу. Как это сделать? Первое что приходит в голову, это сообщить каждому инстансу ip каждой машины и инстансы будут сами проверять и решать кому работать. Или может реализовать health api и использовать стороннее приложение, которое будет опрашивать все инстансы и слать сигнал, что бы активировать моё приложение. nginx вроде умеет делать health check, но ведь это не накладывается на моё приложение.
А ты погромист или девупс?)
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
Vasily
покажи show variables like "secure_file_priv";
там ""
источник

K

Konstantinx in DevOps — русскоговорящее сообщество
Crysalis
А ты погромист или девупс?)
Программист. Но приходится сейчас всё решать. Да даже интересно как такое проворачивается.
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
Denis Seleznev
а что у нас в /etc/apparmor.d/*.mysqld ?
/usr/sbin/mysqld {
 #include <abstractions/base>
 #include <abstractions/nameservice>
 #include <abstractions/user-tmp>
 #include <abstractions/mysql>
 #include <abstractions/winbind>

# Allow system resource access
 /proc/*/status r,
 /sys/devices/system/cpu/ r,
 /sys/devices/system/node/ r,
 /sys/devices/system/node/ r,
 capability sys_resource,
 capability dac_override,
 capability dac_read_search,
 capability setuid,
 capability setgid,

# Allow network access
 network tcp,

 /etc/hosts.allow r,
 /etc/hosts.deny r,

# Allow config access
 /etc/mysql/
r,

# Allow pid, socket, socket lock file access
 /var/run/mysqld/mysqld.pid rw,
 /var/run/mysqld/mysqld.sock rw,
 /var/run/mysqld/mysqld.sock.lock rw,
 /run/mysqld/mysqld.pid rw,
 /run/mysqld/mysqld.sock rw,
 /run/mysqld/mysqld.sock.lock rw,

# Allow systemd notify messages
 /{,var/}run/systemd/notify w,

# Allow execution of server binary
 /usr/sbin/mysqld mr,
 /usr/sbin/mysqld-debug mr,

# Allow plugin access
 /usr/lib/mysql/plugin/ r,
 /usr/lib/mysql/plugin/*.so* mr,


# Allow error msg and charset access
 /usr/share/mysql/ r,
 /usr/share/mysql/ r,

# Allow data dir access
 /var/lib/mysql/ r,
 /var/lib/mysql/
rwk,

# Allow data files dir access
 /var/lib/mysql-files/ r,
 /var/lib/mysql-files/ rwk,

# Allow keyring dir access
 /var/lib/mysql-keyring/ r,
 /var/lib/mysql-keyring/
rwk,

# Allow log file access
 /var/log/mysql.err rw,
 /var/log/mysql.log rw,
 /var/log/mysql/ r,
 /var/log/mysql/** rw,

# Allow read access to OpenSSL config
 /etc/ssl/openssl.cnf r,
 # Site-specific additions and overrides. See local/README for details.
 #include <local/usr.sbin.mysqld>
}
источник

V

Vasily in DevOps — русскоговорящее сообщество
Qwerty
там ""
а уверен? в конфиг запихай попробуй. дока утверждает, что /var/lib/mysql-files это default value
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
Vasily
а уверен? в конфиг запихай попробуй. дока утверждает, что /var/lib/mysql-files это default value
это я установил ""
источник

C

Crysalis in DevOps — русскоговорящее сообщество
Konstantinx
Программист. Но приходится сейчас всё решать. Да даже интересно как такое проворачивается.
Вообще, твоя мысль верна) можно проверять «кластер» на наличие определённых ответов и открывать ноду, если нет отчета нужного
источник

DS

Denis Seleznev in DevOps — русскоговорящее сообщество
Qwerty
/usr/sbin/mysqld {
 #include <abstractions/base>
 #include <abstractions/nameservice>
 #include <abstractions/user-tmp>
 #include <abstractions/mysql>
 #include <abstractions/winbind>

# Allow system resource access
 /proc/*/status r,
 /sys/devices/system/cpu/ r,
 /sys/devices/system/node/ r,
 /sys/devices/system/node/ r,
 capability sys_resource,
 capability dac_override,
 capability dac_read_search,
 capability setuid,
 capability setgid,

# Allow network access
 network tcp,

 /etc/hosts.allow r,
 /etc/hosts.deny r,

# Allow config access
 /etc/mysql/
r,

# Allow pid, socket, socket lock file access
 /var/run/mysqld/mysqld.pid rw,
 /var/run/mysqld/mysqld.sock rw,
 /var/run/mysqld/mysqld.sock.lock rw,
 /run/mysqld/mysqld.pid rw,
 /run/mysqld/mysqld.sock rw,
 /run/mysqld/mysqld.sock.lock rw,

# Allow systemd notify messages
 /{,var/}run/systemd/notify w,

# Allow execution of server binary
 /usr/sbin/mysqld mr,
 /usr/sbin/mysqld-debug mr,

# Allow plugin access
 /usr/lib/mysql/plugin/ r,
 /usr/lib/mysql/plugin/*.so* mr,


# Allow error msg and charset access
 /usr/share/mysql/ r,
 /usr/share/mysql/ r,

# Allow data dir access
 /var/lib/mysql/ r,
 /var/lib/mysql/
rwk,

# Allow data files dir access
 /var/lib/mysql-files/ r,
 /var/lib/mysql-files/ rwk,

# Allow keyring dir access
 /var/lib/mysql-keyring/ r,
 /var/lib/mysql-keyring/
rwk,

# Allow log file access
 /var/log/mysql.err rw,
 /var/log/mysql.log rw,
 /var/log/mysql/ r,
 /var/log/mysql/** rw,

# Allow read access to OpenSSL config
 /etc/ssl/openssl.cnf r,
 # Site-specific additions and overrides. See local/README for details.
 #include <local/usr.sbin.mysqld>
}
/var/lib/mysql-files/ rwk,
вот сюда и пиши, либо добавляй свое, как добавлять правильно - в доку убунты сам :D
источник

V

Vasily in DevOps — русскоговорящее сообщество
а проще грохнуть профиль из аппармора и посмотреть что будет
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
Vasily
а проще грохнуть профиль из аппармора и посмотреть что будет
))
источник

DS

Denis Seleznev in DevOps — русскоговорящее сообщество
Vasily
а проще грохнуть профиль из аппармора и посмотреть что будет
ага, если в мануале вначале написано выключите selinux - обычно можно сразу закрывать
источник

V

Vasily in DevOps — русскоговорящее сообщество
Denis Seleznev
ага, если в мануале вначале написано выключите selinux - обычно можно сразу закрывать
а если это оф мануал к софтине, то садишься и плачешь, да
источник

DS

Denis Seleznev in DevOps — русскоговорящее сообщество
то садишься и переписываешь куски внутри компании сам
источник

DS

Denis Seleznev in DevOps — русскоговорящее сообщество
тебе потом mysql через дырявый пхп напишет в /etc/shadow и в /etc/ssh/sshd_config чего надо
источник

Q

Qwerty in DevOps — русскоговорящее сообщество
Denis Seleznev
/var/lib/mysql-files/ rwk,
вот сюда и пиши, либо добавляй свое, как добавлять правильно - в доку убунты сам :D
блин, проще уже насрать в системную директорию mysql ))
источник