对于一台新服务器权限的配置

做为一个程序员,在网站没有运维的状况下,也要有可以搭建应用的能力,因为不是专业的运维因此考虑的问题可能不够全面,只顾着把应用搭起来,权限管理很是地松,认为只要登录 root 能够运行命令就好了,这样的话会有不少后患的,有的时候只是未爆发出来,当爆发出来就已经晚了。程序员

如下是我对一台新服务器的权限的实例,欢迎你们拍砖。vim

1、技术人员经过本身的普通用户权限进入系统,而后若是要运行须要 root 执行的就用 sudo 去执行就好,若是有多人要登陆,则每人配一个账号。安全

2、服务器上应该禁止密码登陆,由于密码登陆有必定的漏洞,有的技术人员设的密码跟没搞过计算机同样来个 123456,这个密码就至关因而个后门了。服务器

3、因为每一个人都有了账号,那么更理所固然的要把 root 用户禁止登陆,经过经验得知,若是不由止,有的人还要登 root,缘由可能有如下三点app

  1. 不明白为何要有普通账号
  2. 对安全看的过轻,认为每次都要 sudo 去运行一个 root 权限才执行的命令很麻烦
    用户管理
  3. 可能不懂权限,或许据说过,但绝对没用过

4、修改默认 ssh 端口运维

添加账号

$ useradd bob
$ mkdir -p /home/bob
$ chown -R bob.bob /home/bob

$ gpasswd -a bob sudo // 给用户有 sudo 的权限
$ passwd bob  设置一个密码,这个是做为当用户想要 sudo 去执行 root 执行的时候使用的

本地配置免密码登陆

本地 ssh-keygen 生成一串密钥ssh

本地 $ ssh-keygen
  /Users/bob/.ssh/some-app-server_id_rsa
  本地 $ ssh-copy-id -i .ssh/some-app-server_rsa bob@remote-server-address

配置ssh 客户端,方便之后链接服务器。网站

本地 $ vim ~/.ssh/config
  Host some-app-server
    Hostname remote-server-address
    User bob
    Port 19422
    IdentityFile ~/.ssh/some-app-server_id_rsa

之后链接服务器就能够直接 $ ssh some-app-server 就能够用你的权限登陆进去了。命令行

配置 ssh 服务端

$ vi /etc/ssh/sshd_config
PasswordAuthentication no //禁止使用基于口令认证的方式登录
PubkeyAuthentication yes //容许使用基于密钥认证的方式登录
Port 19422 // 把 ssh 端口改为 19422 这个别固定,你能够随便用,本地要链接服务器,本地的端口得保持一致。
PermitRootLogin no // 不容许 root 远程登陆

重户服务器 $ reboot 使配置生效

本人再推荐一个 zshoh-my-zsh 有了这个,命令行就智能了好多,操做起来很是地方便,有兴趣的本身去找找文档。code

会同样东西不是本事,从不会到会的,才是真本事

相关文章
相关标签/搜索