云服务器初始化操作

拿到新云服务器之后每次配置环境都要花大量时间,重复操作的次数多了之后就觉得太没意义了,正好有时间将这些信息归纳出来,利己利人。

  1. 新增用户

    1
    2
    useradd www
    passwd www

    密码为16位,数字+字符+字母小写+字母大写,建议使用 密码生成器

  2. 设置sudo命令权限

    1
    2
    3
    4
    5
    vi /etc/sudoers
    #查找到 root ALL=(ALL) ALL 在之后加上如下一行配置
    www ALL=(ALL) ALL
    #查找到 %wheel ALL=(ALL) NOPASSWD: ALL 在之后加上如下一行配置
    www ALL=(ALL) NOPASSWD: ALL

    www ALL=(ALL) ALL 表示为admin用户添加sudo使用权限,www ALL=(ALL) NOPASSWD: ALL 表示admin用户在调用sudo命令时不再需要输入密码(不是很安全的,但是方便使用),不加的话每5分钟需要执行一次密码输入。

  1. 禁用root帐号远程登录

    1
    2
    3
    4
    5
    vi /etc/ssh/sshd_config
    #PermitRootLogin yes 改为 PermitRootLogin no
    PermitRootLogin no
    # 重启sshd服务
    service sshd restart
禁用Root帐号远程登录,能有效的防止服务器登录密码被暴力破解。
  1. 修改默认ssh远程登录的端口号

    1
    2
    3
    4
    5
    6
    7
    8
    9
    vi /etc/ssh/sshd_config
    #Port 22 改为如下配置
    Port 22
    Port 27632
    # 重启sshd服务
    service sshd restart
    # 测试命令如下 需要先退出服务器
    exit
    ssh admin@44.44.44.44 -p 27632

    这样我们能同时使用22与27632端口访问服务器。因为很多云主机厂商对端口做了管理,所以不要直接把22端口注释掉,否则会导致无法登录服务器。当确定 27632 端口能登录之后,再注释 Port 22

    1
    2
    3
    4
    5
    6
    7
    8
    vi /etc/ssh/sshd_config
    #将 Port 22 注释
    #Port 22
    # 重启sshd服务
    service sshd restart
    # 测试命令如下 需要先退出服务器
    exit
    ssh admin@44.44.44.44 -p 22

    提示拒绝服务或者访问超时就表示设置成功。connect to host 44.44.44.44 port 22: Operation timed out
    基本上所有的云服务器厂商都提供了 『安全组』功能,不需要我们再单独配置 iptables,操作便捷。

  2. 第三方应用的安装规范

    拥有了www帐号之后所有的服务都应该安装在 /home/www 目录下,比如nginx,php,mysql等等,方便维护和管理。