Trusty Wolf's Little Den.
Trusty Wolf's Blog
CentOS/RHEL 7 初始化设置

V3.0 - 20150214 用Markdown语法重写并转移至Hexo
V2.0 - 20141023 移除多余英文解释,先后顺序调整
V1.0 - 20141020 开始编辑

以下举例的用户名为username,请根据需要自行修改。

测试环境:

DigitalOcean Droplet 512MB Ram 20GB SSD CentOS 7.0 x64

SSH登陆(方法很多,此处略)

更改root密码

$ sudo passwd

切换到root用户

$ su

更新系统并安装nano编辑器

$ yum clean all && yum -y update && yum install nano

添加用户

$ useradd username
$ passwd username

给予新添加的普通用户sudo权限

$ visudo
# 寻找到这一行并在root下添加:
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
username     ALL=(ALL)     ALL

设置username为唯一可以切换到root权限的用户(可选)

$ usermod -G wheel username
$ vi /etc/pam.d/su
# 去除该行的注释
    auth            required        pam_wheel.so use_uid

暂时关闭SELinux

$ vi /etc/selinux/config
# 修改为SELINUX=disabled
$ reboot     #重启

编辑hostname和ip地址

$ nmtui
# 此命令可以直观的修改网络设置和主机名称
# 如果显示乱码或者出现显示差错
# 推荐使用以下命令:
$ hostnamectl status                # 查看当前Hostname状态
$ hostnamectl set-hostname name     # 设置Hostname

区域和语言设置

$ localectl status    # 列出当前区域设置
$ localectl list-locales | grep en_
$ localectl set-locale LANG=en_US.utf8

时区和时间设置

$ timedatectl    # 显示当前时间设置
$ timedatectl list-timezones | grep Asia
$ timedatectl set-timezone Asia/Shanghai
# 或者
$ timedatectl set-timezone Asia/Hong_Kong

OPENSSH设置

$ nano /etc/ssh/sshd_config
# 更改SSH端口:
    # 去除Port前的相关注释并改为:
Port 10837
    # 你可以将10837改为1024–65535之间的任何数字,
    # 若果怕与某些系统服务发生冲突,可以参考以下链接:
    # https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
# 禁止root使用SSH登陆
PermitRootLogin no
# 限定登陆用户
    #添加该行:
AllowUsers username
# 更改Firewalld防火墙SSH端口设定
$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
$ nano /etc/firewalld/services/ssh.xml
<port protocol="tcp" port="10837"/>
$ firewall-cmd --reload
$ systemctl restart firewalld.service
$ systemctl restart sshd.service
$ systemctl enable firewalld.service
# 完成后先不要登出系统,使用另一个窗口尝试登陆,如:
$ ssh -p 10837 name@192.168.1.1 # 确认可以登录后即可

使用CHRONY配置NTP(官方推荐)

chronyd是一个在系统后台运行的守护进程。他根据网络上其他时间服务器时间来测量本机时间的偏移量从而调整系统时钟。对于孤立系统,用户可以手动周期性的输入正确时间(通过chronyc)。在这两种情况下,chronyd决定计算机快慢的比例,并加以纠正。chronyd实现了NTP协议并且可以作为服务器或客户端。

$ yum install chrony -y
$ systemctl start chronyd && systemctl enable chronyd
$ chronyc tracking         #Checking chrony Tracking
# 显示如下:
    Reference ID    : 202.73.36.32 (0x.sg)
    Stratum         : 2 #层数
    Ref time (UTC)  : Fri Oct 10 04:19:07 2014 #UTC时间
    System time     : 0.001262167 seconds slow of NTP time #系统时间
    Last offset     : -0.000007386 seconds
    RMS offset      : 0.000007386 seconds
    Frequency       : 0.000 ppm fast
    Residual freq   : -2.533 ppm
    Skew            : 1000000.000 ppm
    Root delay      : 0.001946 seconds
    Root dispersion : 17.965479 seconds
    Update interval : 1.6 seconds
    Leap status     : Normal
$ chronyc sources     # 查看chrony源
# 修改chronyc配置文件:
$ nano /etc/chrony.conf     # 一般情况下不需要改动

一些Firewalld的用法提示

# 换回iptables
    # 关闭firewalld
$ systemctl disable firewalld
$ systemctl stop firewalld
    # 使用iptables
$ yum install iptables-services -y
$ systemctl start iptables
$ systemctl start ip6tables
$ systemctl enable iptables
$ systemctl enable ip6tables
# Firewalld用法
    # 查看运行状态
$ systemctl status firewalld
    # 或
$ firewall-cmd --state
    # 安装Firewalld (DigitalOcean的CentOS7 VPS中默认已安装但未开启)
$ yum install firewalld
    # 查看当前区域
$ firewall-cmd --get-active-zones
    # 查看当前区域设置
$ firewall-cmd --list-all
    # 查看防火墙支持的所有服务
$ firewall-cmd --get-service # 此举相当于列出/usr/lib/firewalld/services/中所有.xml文件
    # 阻止所有通信
$ firewall-cmd --panic-on
    # 恢复所有通信
$ firewall-cmd --panic-off
    # 查看当前通信状态
$ firewall-cmd --query-panic # no 不阻止 yes 阻止
    # 重新加载
$ firewall-cmd --reload
$ firewall-cmd --complete-reload
    # 设置默认区域为"公共"
$ firewall-cmd --set-default-zone=public # 也可以通过编辑 /etc/firewalld/firewalld.conf 修改
        # 完成后需要重新加载防火墙
    # 列出区域所有开放端口
$ firewall-cmd --zone=public --list-ports
    # 添加端口到区域
$ firewall-cmd --zone=public --add-port=81/tcp
    # 添加一组端口到区域
$ firewall-cmd --zone=public --add-port=53-54/udp
    # 添加服务到区域
$ firewall-cmd --zone=public --add-service=smtp
    # 从区域删除服务
$ firewall-cmd --zone=public --remove-service=smtp
    # 运行模式下对区域进行的修改不是永久有效的,重新加载或者重启后修改将失效。
    # 如果需要永久修改防火墙设置,请在以上命令中第一个添加 --permanent 参数。
    # 格式:
$ firewall-cmd --permanent [--zone=<zone>] --add-service=<service>
$ firewall-cmd --reload
$ systemctl restart firewalld.service

总结:

新一代的CentOS/RHEL 7与前一代区别挺大,可能需要一段时间的适应过程。但是从系统管理的思路上将感觉比前一代要简单很多,很多命令的意图变得更加清晰和明朗,理解记忆起来方便许多! ^_^

Comments have been disabled for this content