su命令和sudo命令,以及限制root用户登录

一、su命令

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
命令su的格式为:

su [-] username

1、后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。 ‘-‘ 这个字符的作用是,加上后会初始化当前用户的各种环境变量。
下面看下加‘-’和不加‘-’的区别:
su命令和sudo命令,以及限制root用户登录
root用户切换到普通用户无需输入密码,普通用户切换到root用户需要密码。
2、在切换用户的过程可能会遇到这样的情况,提示普通用户家目录不存在:
su命令和sudo命令,以及限制root用户登录
那么如果我们创建这个用户的家目录,并且更改家目录所属用户和所属组呢,看下情况如何:
su命令和sudo命令,以及限制root用户登录
还是不行,这是因为/home/usertest04目录下去缺少配置文件,下图为正常用户家目录和testuser04家目录:
su命令和sudo命令,以及限制root用户登录
那么我们怎么解决这个问题呢,这些配置文件我们能不能复制进testuser04家目录呢?肯定可以的,在/etc/skel下有配置模板,我们这个这个目录下的'.bash'开头的文件复制到testuser04加目录下就可以了,之后级联更改家目录所属用户和所属组,然后在切换用户:
su命令和sudo命令,以及限制root用户登录
3、指定身份为testsu命令和sudo命令,以及限制root用户登录user04用户(不登录该用户)并执行“touch /tmp/1.txt"命令:


二、sudo命令

用su是可以切换用户身份,如果每个普通用户都能切换到root身份,如果某个用户不小心泄漏了root的密码,那岂不是系统非常的不安全?没有错,为了改进这个问题,产生了sudo这个命令。使用sudo执行一个root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,即使用 visudo 命令去编辑相关的配置文件/etc/sudoers. 如果没有visudo这个命令,请使用 yum install -y sudo 安装。
默认root能够sudo是因为这个文件中有一行 “root ALL=(ALL) ALL” 在该行下面加入 “testuser04 ALL=(ALL) ALL” 就可以让testuser04用户拥有了sudo的权利。使用 “visudo” 命令编辑/etc/sudoers配置文件,其实它的操作方法和前面阿铭介绍的 “vi” 命令使用方法是一样的,按 ‘i’ 进入编辑模式,编辑完成后,按 “Esc” ,再输入 ”:wq” 完成保存。
在没有sudo权限之前,普通用户无法用ls命令查看/root/目录:
su命令和sudo命令,以及限制root用户登录
在/etc/sudoers配置文件中赋予testuser04用户sudo权限:

visudo //编辑sudoers配置文件

1、在配置文件中添加一行,可以使用所有命令:
su命令和sudo命令,以及限制root用户登录
然后保存退出,再用testuser04用户查看/root/目录:
su命令和sudo命令,以及限制root用户登录
2、如果不想testuser04用户能使用所有root才能执行的命令,只能执行某个root才能执行的命令,比如ls命令,那么我们就需要:
su命令和sudo命令,以及限制root用户登录

保存退出之后,我们只能使用sudo执行ls命令:
su命令和sudo命令,以及限制root用户登录
su命令和sudo命令,以及限制root用户登录
3、在使用过程用过程中,比如:如果很多普通用户只能有ls和cat权限,但是每次输入这么多路径麻烦,可以为命令设置一个组:
su命令和sudo命令,以及限制root用户登录
然后修改:
su命令和sudo命令,以及限制root用户登录
4、如果不需要执行sudo时输入密码:
su命令和sudo命令,以及限制root用户登录


三、不允许root远程登录linux

如果没使用密钥登录服务器,使用密码登录,为了加强安全,禁止root用户远程登陆服务器,只允许普通用户登录。
禁止root远程登陆

vi /etc/ssh/sshd_config

将其中的PermitRootLogin改成no:
su命令和sudo命令,以及限制root用户登录
然后重新启动ssh服务就 可以了

systemctl restart sshd.service

但是无法远程登录root用户,如果我们需要使用root权限的话,怎么办呢?把su命令放置sudo配置文件里,授权普通用户使用su命令,普通用户再切换至root(无需root密码),即root用户 su 到root用户,所以无需密码。比如testuser02用户无需密码即可切换至root用户:
su命令和sudo命令,以及限制root用户登录
切换root,无需密码(这个权限有点大,一般不用):
su命令和sudo命令,以及限制root用户登录

转载于:https://blog.51cto.com/3069201/2055158

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值