从拿到一台云服务器开始
环境: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密码
收获的是成长
欢迎转载,并提出指导意见。转载请附上文章出处!!!