Loading

从拿到一台云服务器开始

环境:centos7

一  最小化安装

  服务器以最小化安装,之后需要什么功能就安装什么软件来支持相应的服务.

二  指定特定用户可以使用su切换root

  设置管理员组,在管理员组的用户可以su到root身份.不在管理员组的用户不可以切换到root用户.

  在Linux中,默认的管理员组为wheel组.

  通常在LUNIX下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别--就像警察下班后,没有带枪、穿这便衣和普通人(用户)一样,虽然他的的确确是警察。
  根据应用的实例不同应用wheel组的方法也不同。这里对于服务器来说,我们希望的是剥夺被加入到wheel组用户以外的普通用户通过su命令来登录为root的机会(只有属于wheel组的用户才可以用su登录为root)。这样就进一步增强了系统的安全性。

  1.修改/etc/pam.d/su配置文件

$ vim /etc/pam.d/su 

# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.   #下面一行的注释意味着需要添加用户到wheel组中
auth            required        pam_wheel.so use_uid     #去掉注释

  2.修改/etc/login.defs 文件 ,添加以下语句

$ vim /etc/login.defs 

#USer in wheel can su root 
SU_WHEEL_ONLY yes     #在/etc/login.defs文件最后添加这一句

  3.将用户添加到wheel组中

$ usermod -G wheel <用户名>

  4.之后在创建的普通用户就不可以使用su来切换到root身份来登录,只有添加在wheel组中的用户才可以su到root  

三  使用密钥远程登录

  1.使用远程登录时,尽量不使用root用户来远程登录,使用特定的管理用户登录,需要使用使用到root权限时在提权使用.

  2.使用密钥登录服务器(私钥要进行安全的保存),尽量避免使用密码登录(密码更容易泄露).

   客户机端:

    1.生成密钥(公钥 私钥)

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/qi/.ssh/id_rsa):      #键入密钥保存的位置,默认路径/home/qi/.ssh/id_rsa
Enter passphrase (empty for no passphrase):  #输入对密钥的加密密码,这里不使用加密可直接连接服务器,(在需要使机器自动完成远程时,,不要设置此密钥加密密码)
Enter same passphrase again: 
Your identification has been saved in key_rsa.
Your public key has been saved in key_rsa.pub.
The key fingerprint is:
SHA256:QsMA8J8bgJhnNI9fe8jKSZEpbRp/lD4XLqD5D3sCSgU qi@zhuandshao
The key's randomart image is:
+---[RSA 2048]----+
|..+..            |
|.E = = .         |
|+ X O B .        |
| o & X = .       |
| ..+ * *         |
|.. .B            |
|.   .+.          |
|    .o.          |
+----[SHA256]-----+

#我们可以在(/home/qi/.ssh/)路径下看到生成了一下文件:
$ tree ~/.ssh/
/home/qi/.ssh/
├── id_rsa #私钥 需要保存好
└── id_rsa.pub #公钥 需要上传到服务器

  服务器端:

    1.上传公钥:

$ scp /home/qi/.ssh/id_rsa.pub qi@jjafj.cn:/home/qi/clientpubkey
qi@jjafj.cn's password: 
id_rsa.pub                               100%  395     6.6KB/s   00:00                              

    2.配置ssh

      a.哪个用户使用密钥登录就在哪个用户的目录下建立以下文件:      

# pwd
/home/qi
# mkdir .ssh
# cd .ssh/
# touch authorized_keys
# chmod 600 authorized_keys    #为了保证安全性,公钥存储文件只有该用户有读写权限
# chown qi:qi authorized_keys

      b.复制客户端公钥到 authorized_keys 文件中
  

# cat ../clientpubkey >authorized_keys 
# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXmT4Xwjsx7rZfruxCVmlPv6FyAKP+IKUqliZbAFmuEr5813sVyf8BrtWvaUnewmj+I+iljOhPvorysgt6cXuNTb0pNiscWM9vK35H9DpU3EpEsis92FqncYHiSZ+QVh5nMz7yHDgb9eVkUj/KHoA80vPxuyBrLbO4tzxAZwkQ+TRa2HJEzJFUYc2CU5NXsDVq+P3dg9VFFmdJq6o7TTrzZBA7Z/5gXSjku24NZ6mD0eePETIoAglpj5Cj qi@z

      c.修改ssh配置文件

# vim /etc/ssh/ssh_config 

PubkeyAuthentication yes    #使用公钥认证
PasswordAuthentication no   #禁用密码登录
ChallengeResponseAuthentication no   #禁用挑战应答

      d.重启ssh服务

# systemctl restart sshd

      之后,服务器可使用密钥,免密码登录,保证一定的安全性.

 

四  sudo权限(对于普通用户,不包括管理员用户[加入到wheel的用户])

  sudo命令可以将root可执行的命令赋予给普通用户.

  配置文件为:/etc/sudoers

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
#用户名  被管理的主机=(可以使用的身份)    可以执行的命令
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
#用户组名  被管理的主机=(可以使用的组身份)    可以执行的命令

  1.授权普通用户执行重启

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
#用户名  被管理的主机=(可以使用的身份)    可以执行的命令
huiqi     ALL=(ALL)       /usr/sbin/shutdown -r now

  2.授权普通用户添加用户  

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
#用户名  被管理的主机=(可以使用的身份)    可以执行的命令
huiqi     ALL=/usr/sbin/useradd
huiqi     ALL=/usr/sbin/passwd [A-Za-z]* ,!/usr/sbin/passwd "" , !/usr/sbin/passwd root #禁止修改root密码

 

posted @ 2017-08-26 16:05  Q1mt  阅读(432)  评论(0编辑  收藏  举报