第三章 初始化系统环境

该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/book/minicentos-handbook/03.initial-system/

CentOS 是一个多用户系统,支持多用户同时使用。而且一般我们会给不同的程序 配以不同的用户及对应权限,以限制其访问额外资源。

本章节我们先初始化一些基本用户。

0. 创建工作目录和用户组

添加自动初始化环境变量,保存,重新登录。

 1echo "export MCOS_ROOT=/www" >> /etc/profile
 2echo "export MCOS_DB=\$MCOS_ROOT/database" >> /etc/profile
 3echo "export MCOS_TEMP=\$MCOS_ROOT/tmp" >> /etc/profile
 4echo "export MCOS_LOG=\$MCOS_ROOT/logs" >> /etc/profile
 5echo "export MCOS_CONFIG=\$MCOS_ROOT/config" >> /etc/profile
 6echo "export MCOS_PIDS=\$MCOS_ROOT/pids" >> /etc/profile
 7echo "export MCOS_SOCKS=\$MCOS_ROOT/socks" >> /etc/profile
 8echo "export MCOS_LOCKS=\$MCOS_ROOT/locks" >> /etc/profile
 9echo "export PHP_ROOT=/usr/local/php" >> /etc/profile
10echo "export PHP_TEMP=\$MCOS_TEMP/php" >> /etc/profile
11echo "export PHP_CONFIG=\$MCOS_CONFIG/php" >> /etc/profile
12echo "export NGINX_ROOT=/usr/local/nginx" >> /etc/profile
13echo "export NGINX_TEMP=\$MCOS_TEMP/nginx" >> /etc/profile
14echo "export NGINX_CONFIG=\$MCOS_CONFIG/nginx" >> /etc/profile
15echo "export MYSQL_ROOT=/usr/local/mysql" >> /etc/profile
16echo "export MYSQL_CONFIG=\$MCOS_CONFIG" >> /etc/profile
17echo "export MYSQL_DATA=\$MCOS_DB/mysql" >> /etc/profile
18echo "export PATH=\$PHP_ROOT/bin:\$MYSQL_ROOT/bin:\$PATH" >> /etc/profile
19
20
21echo "/usr/local/lib" >> /etc/ld.so.conf.d/default.conf
22echo "/usr/local/lib64" >> /etc/ld.so.conf.d/default.conf
23/sbin/ldconfig

通常工作不会用到 root 用户,我们用一个 admin 用户作为超级管理员。

 1mkdir $MCOS_ROOT
 2groupadd staff
 3useradd -nM -d $MCOS_ROOT -g staff admin
 4chown admin:staff $MCOS_ROOT
 5chmod 0770 $MCOS_ROOT
 6
 7sudo -u admin mkdir -p $MCOS_LOG
 8sudo -u admin mkdir -p $MCOS_PIDS
 9sudo -u admin mkdir -p $MCOS_SOCKS
10sudo -u admin mkdir -p $MCOS_LOCKS
11sudo -u admin mkdir -p $MCOS_DB
12sudo -u admin mkdir -p $MCOS_TEMP
13sudo -u admin mkdir -p $PHP_CONFIG
14sudo -u admin mkdir -p $NGINX_CONFIG
15
16useradd -nM -d $MCOS_ROOT -g staff -s /sbin/nologon webhost
17useradd -nM -d $MYSQL_DATA -g staff -s /sbin/nologon mysql
18
19chmod 0770 $MCOS_PIDS
20chmod 0770 $MCOS_SOCKS
21chmod 0770 $MCOS_LOCKS
22chmod 0770 $MCOS_DB
23chmod 0770 $MCOS_LOG
24chmod 0770 $MCOS_CONFIG
25chmod 0770 $MCOS_TEMP
26
27sudo -u webhost mkdir -p $PHP_TEMP/upload
28sudo -u webhost mkdir -p $PHP_TEMP/sessions
29
30chmod 0775 -R $MCOS_TEMP
comments powered by Disqus