forked from littlebizzy/slickstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ss-perms-mysql-config.txt
106 lines (80 loc) · 5.01 KB
/
ss-perms-mysql-config.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash
####################################################################################################
#### author: SlickStack ############################################################################
#### link: https://slickstack.io ###################################################################
#### mirror: https://mirrors.slickstack.io/bash/ss-perms-mysql-config.txt ##########################
#### path: /var/www/ss-perms-mysql-config ##########################################################
#### destination: n/a (not a boilerplate) ##########################################################
#### purpose: Resets file and user permissions for MySQL module configuration files ################
#### module version: MySQL 8.0.x ###################################################################
#### sourced by: ss-perms, ss-install-mysql ########################################################
####################################################################################################
## source ss-config ##
source /var/www/ss-config
## source ss-functions ##
source /var/www/ss-functions
## BELOW THIS RELIES ON SS-CONFIG AND SS-FUNCTIONS
####################################################################################################
#### SS-Perms-MySQL: Message (Begin Script) ########################################################
####################################################################################################
## this is a simple message that announces to the shell the purpose of this bash script ##
## it will only be noticed by sudo users who manually call ss core bash scripts ##
## echo message ##
echo -e "${PURPLE}Running ss-perms-mysql-config: Resets file and user permissions for PHP-FPM module configuration files... ${NOCOLOR}"
sleep "$SLEEP_MESSAGE_BEGIN"
####################################################################################################
#### SS-Perms-MySQL: Reset Permissions (MySQL) #####################################################
####################################################################################################
## reset permissions ##
# chown root:root /etc/mysql/my.cnf
# chmod 0777 /etc/mysql/my.cnf ## symlink to /etc/alternatives/my.cnf
## reset permissions ##
# mkdir /var/run/mysqld
# chown mysql:mysql /var/run/mysqld
# chmod -R 0775 /var/run/mysqld
# chown mysql:mysql /var/www/logs/mysql*.log
# chown mysql:mysql /var/lib/mysql ## drwx------
# chown mysql:mysql /var/lib/mysql-files ## drwx------
# chown mysql:mysql /var/lib/mysql-keyring ## drwx------
# chown root:root /var/lib/mysql-upgrade ## must be root:root ## drwxr-xr-x
## create MySQL log files if they do not exist ##
if [ ! -f "/var/www/logs/mysql-gen.log" ]; then touch "/var/www/logs/mysql-gen.log"; fi
if [ ! -f "/var/www/logs/mysql-error.log" ]; then touch "/var/www/logs/mysql-error.log"; fi
if [ ! -f "/var/www/logs/mysql-slow.log" ]; then touch "/var/www/logs/mysql-slow.log"; fi
mkdir /var/run/mysqld
## reset MySQL permissions ##
chown mysql:mysql /var/run/mysqld
chown root:root /etc/mysql/my.cnf
chown root:root /etc/mysql/mysql.cnf
chown root:root /etc/mysql/mysql.conf.d/mysqld.cnf
chmod 0755 /etc/mysql/my.cnf
if [ ! -f "/var/www/logs/mysql-gen.log" ]; then touch "/var/www/logs/mysql-gen.log"; fi
if [ ! -f "/var/www/logs/mysql-error.log" ]; then touch "/var/www/logs/mysql-error.log"; fi
if [ ! -f "/var/www/logs/mysql-slow.log" ]; then touch "/var/www/logs/mysql-slow.log"; fi
chown mysql:mysql /var/www/logs/mysql*.log*
chmod 0644 /var/www/logs/*.log ## 6755 should also work
## not really mysql module related but not sure what script to keep this in ##
## ensure misc files exist (makes things look pretty and suppresses error messages) ##
if [[ ! -f "/var/www/meta/wp.sql" ]]; then
touch "/var/www/meta/wp.sql";
fi
## SQL dump file (we want SFTP users to be able to access) ##
chown -R $SFTP_USER:www-data /var/www/meta/wp.sql ## $SFTP_USER:www-data to better support SFTP access
chmod 0640 /var/www/meta/wp.sql ## 0640 should be enough (or 644)
## SAFE MODE reset permissions ##
# mkdir /var/run/mysqld
# chown mysql:mysql /var/run/mysqld
# chmod -R 775 /var/run/mysqld
# chown mysql:mysql /var/www/logs/mysql*.log
####################################################################################################
#### SS-Perms-MySQL-Config: Touch Timestamp File (End Script) ######################################
####################################################################################################
## this is a dummy timestamp file that will remember the last time this script was run ##
## it can be useful for developer reference and is sometimes used by SlickStack ##
## script timestamp ##
touch "$TIMESTAMP_SS_PERMS_MYSQL_CONFIG"
####################################################################################################
#### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ###############
####################################################################################################
## Ref:
## SS_EOF