su、sudo、限制root远程登录
1.su命令
su用来切换用户。
su - 用户 是完全切换,就是变成另一个用户。
su 用户 是不完全切换,变量还是上一个用户。
其实,完全切换,就是在切换时加载用户的环境变量.bash_history,.bash_logout,.bash_profile。
一个没有家目录的用户,如何给这个没有家目录的用户配置变量。
root用户操作的以下步骤
- 1.useradd -M can1 创建一个没家目录的用户。
- 2.mkdir /home/can1 创建家目录
- 3.cp -r /etc/skel/* /home/can1 给用户家目录里复制进一个模版的家用户变量(/etc/skel)
- 4.chown can1:can1 /home/can1 更改用户家目录的属主属组为改用户
2.sudo
sudo命令的作用是让指定的用户能用别的身份(一般是root)来运行一些指定的命令。
配置sudo,使用visudo这个命令。
可用的别名
1.主机别名
Host_Alias ZHUJI=can,can1 ##这里用变量来指定多个主机
Host_Alias ZHUJI1=196.128.1.24 /255.255.255.0 ##定义ip的用法第一种
Host_Alias ZHUJI2=196.128.1.24 ##定义ip的用法第二种
Host_Alias ZHUJI3=196.128.1.24 /24 ##定义ip的用法第三种
2.用户别名
User_Alias YONGHU=can,can1 ##指定用户
3.命令别名
Cmmd_alias CMMD=/usr/bin/usermod,
/usr//sbin/userdel
实际操作的应用
其中用户是YONGHU别名里的所有人,来源是别名ZHUJI1的所有主机,用谁的身份则是root,NOPASSWD是不用输入密码,后面是命令的别名。
修改 sudoers 文件注意事项
1、操作时最好用 echo >>追加,不过 cat sed 同样也可以实现(不常用)
2、修改完成后一定记得检查语法 visudo -c
3、确保/etc/sudoers 默认的权限是 440(防止权限误用)
4、及时验证修改的配置是否正确
5、确保知道 root 密码,以便普通用户可以通过 sudo su -命令切换
6、修改授权某用户权限成功后,切换到用户下面,用 sudo -l 来查看自己拥有哪些权限
授权规则
1.授权规则就是执行的规则,授权中的所有 ALL 必须大写
2. !表示禁止执行这个命令
3.限制root远程登录
关闭ssh配置的root登录:
修改/etc/ssh/sshd_config:
#LoginGraceTime 2m PermitRootLogin no
修改了要先配置sudo的文件让普通用户可以切进root用户内
systemctl restart sshd.service 重启服务即可