Windows 2008 R2 с удаленным управлением службами RDP периодически дает сбой с сообщением «Доступ запрещен»

При входе в систему как администратор домена я иногда не могу использовать функцию удаленного управления и получаю сообщение " Отказано в доступе "сообщение об ошибке (или из procmon.exe с помощью sysinternals" Remote Control: null ") ... В Fedora: # su # systemtcl stop mariadb # cp -rp / var / lib / mysql / home # chown mysql.mysql / home / mysql Затем я редактирую файл /etc/my.cnf.d/...

, после установки я пытаюсь переместить расположение базы данных На Fedora:

# su
# systemtcl stop mariadb
# cp -rp /var/lib/mysql /home
# chown mysql.mysql /home/mysql

Затем я редактирую файл /etc/my.cnf.d/mariadb-server.cnf

от

[mysqld]
datadir=/var/lib/mysql/
socket=/var/lib/mysql.sock

до

[mysqld]
datadir=/home/mysql/
socket=/home/mysql.sock

, затем

# systemctl start mariadb
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

Итак

systemctl status mariadb
● mariadb.service - MariaDB 10.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-06-29 17:51:18 CEST; 29s ago
  Process: 6488 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 3103 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 6304 ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 6303 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=1/FAILURE)
  Process: 6259 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
  Process: 6231 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 6303 (code=exited, status=1/FAILURE)

Jun 29 17:51:17 123PUB-PC systemd[1]: Starting MariaDB 10.0 database server...
Jun 29 17:51:17 123PUB-PC mysqld_safe[6303]: 160629 17:51:17 mysqld_safe Logging to '/var/log/maria...g'.
Jun 29 17:51:17 123PUB-PC mysqld_safe[6303]: mkdir: impossible de créer le répertoire « /home/mysql…xiste
Jun 29 17:51:17 123PUB-PC mysqld_safe[6303]: Fatal error Can't create database directory '/home/mys...ck'
Jun 29 17:51:17 123PUB-PC systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Jun 29 17:51:18 123PUB-PC systemd[1]: mariadb.service: Control process exited, code=exited status=1
Jun 29 17:51:18 123PUB-PC systemd[1]: Failed to start MariaDB 10.0 database server.
Jun 29 17:51:18 123PUB-PC systemd[1]: mariadb.service: Unit entered failed state.
Jun 29 17:51:18 123PUB-PC systemd[1]: mariadb.service: Failed with result 'exit-code'.
Hint: Some lines were ellipsized, use -l to show in full.

Кажется, что mysql не имеет разрешения на запись в home / mysql, но:

# ls -la /home/mysql
drwxr-xr-x. 4 mysql mysql     4096 Jun 29 17:38 .
drwxr-xr-x. 5 root  root      4096 Jun 29 17:54 ..
-rw-rw----. 1 mysql mysql    16384 Jun 29 17:38 aria_log.00000001
-rw-rw----. 1 mysql mysql       52 Jun 29 17:38 aria_log_control
-rw-rw----. 1 mysql mysql 12582912 Jun 29 17:38 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Jun 29 17:38 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jun 29 17:05 ib_logfile1
-rw-rw----. 1 mysql mysql        0 Jun 29 17:05 multi-master.info
drwx------. 2 mysql mysql     4096 Jun 29 17:05 mysql
-rw-r--r--. 1 mysql mysql       16 Jun 29 17:05 mysql_upgrade_info
drwx------. 2 mysql mysql     4096 Jun 29 17:05 performance_schema

Я не вижу разницы с основным каталогом.

И что дальше?

0
задан 6 July 2016 в 02:40
1 ответ

Это проблема SELinux. Но чтобы убедиться в этом, отключите принудительное исполнение только для тестирования.

Тестирование

Выполните это на своем сервере (только root), чтобы временно отключить SELinux

# setenforce 0

Теперь вы можете запустить сервер

# systemctl start mariadb

Подключиться с помощью клиента mysql, но сначала измените конфигурацию в файле /etc/my.cnf.d/client.cnf , чтобы использовать новый файл сокета.

#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#


[client]
socket=/home/mysql/mysql.sock

# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]

Если все было в порядке, вы сможете подключиться к вновь обнаруженной базе данных .

Остановить сервер

# systemctl stop mariadb

Постоянное решение с конфигурацией SELinux

SELinux предотвращает работу mysqld (чтение, запись, доступ) в любом каталоге, кроме каталога по умолчанию.
Чтобы преодолеть это, вам нужно изменить это поведение, чтобы SELinux предоставлял разрешения для вашего нового местоположения.

Получите контекст. Список может отличаться, но должен отображать контекст mysqld_db_t .

# ls -lZ /var/lib/mysql
drwx------. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysql

Добавьте полученный контекст ( mysqld_db_t ) в сопоставление для / home / mysql .

# semanage fcontext -a -t mysqld_db_t "/home/mysql(/.*)?"

Применить. контекст

# restorecon -R -v /home/mysql

Убедитесь, что контекст применен.

# grep -i mysql /etc/selinux/targeted/contexts/files/file_contexts.local
/home/mysql(/.*)?    system_u:object_r:mysqld_db_t:s0


# ls -lZ /home/mysql
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql

Теперь все на месте. У вас не должно возникнуть проблем с усилением SELinux и установкой вашего сервера.

# setenforce 1

# systemctl start mariadb
1
ответ дан 4 December 2019 в 16:34

Теги

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