su命令,sudo命令,限制root用户的远程登录

su命令

命令:su
命令格式:su [-] username
用来切换用户登录
“-”,切换时,完整切换到用户家目录下
无“-”,还在切换时候的目录

[root@shuai-01 ~]# su shuai
[shuai@shuai-01 root]$ pwd
/root

有“-”,切换到用户的家目录

[root@shuai-01 ~]# su - shuai
上一次登录:二 10月 31 21:29:58 CST 2017pts/0 上
[shuai@shuai-01 ~]$ pwd
/home/shuai

在当前用户下,想要用其他用户名创建一个文件

[root@shuai-01 ~]# su - -c "touch /tmp/shuai.111" shuai
[root@shuai-01 ~]# ls -lt /tmp/ |head
总用量 0
-rw-rw-r--. 1 shuai shuai  0 10月 31 20:47 shuai.111

sudo

生产环境中,我们不直接取使用root账户来操作,但是有些操作又一定用到root权限执行一些命令,
这时,sudo可以使普通用户临时拥有其他用户(可以使root用户)的某些(也可以是所有)命令的权限,就显得很重要了。

  • 配置文件
    一想到设置,就应该了解配置文件,sudo命令的配置文件/etc/sudoers.tmp 。不过通常情况下,都不直接用vi /etc/sudoers.tmp 打开,用这个命令打开更好visudo,这个命令,如果改配置文件出错,保存退出时会有提示。

    [root@shuai-01 ~]# visudo
    
  • 为普通用户添加几个能带root权限使用的命令
    用visudo打开配置文件

     [root@shuai-01 ~]# visudo
    

    找到这一行

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    

    这里写图片描述
    在下面添加

    shuai   ALL=(root)      /usr/bin/ls,/usr/bin/cat
    

    使shuai用户,在ls ,cat 两条命令上有root的身份,添加哪些命令时要用到命令的绝对路径
    这个时候在在shuai用户在使用ls 命令,只是第一次使用时要输入shuai用户密码。

    [shuai@shuai-01 ~]$ sudo ls /root/
    [sudo] password for shuai: 
    1.txt  1.txt.bak  2.txt.bak  anaconda-ks.cfg  deng  shuai
    

    当然,也可以指定不输入密码

    user2   ALL=(ALL)       NOPASSWD: /usr/bin/ls
    

同样的方式给user2用户在配置文件中加这一条,那么,使用就可以不输入密码了

    [user2@shuai-01 ~]$ sudo ls /root/
    1.txt  1.txt.bak  2.txt.bak  anaconda-ks.cfg  deng  shuai

当然,配置文件中还有很多。
如:两个普通用户,要使用相同的带有root权限的命令,可以将这两个用户设置一个别名。

# User_Alias ADMINS = jsmith, mikem
User_Alias AD = shuai,user2
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
AD   ALL=(ALL)  /usr/bin/ls,/usr/bin/mv

而且还可以给命令设置一个别名。Cmnd_Alias
还可以直接添加一个用户组(自己在linux上设置的,有gid的哪种)这里wheel就是组名。

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

禁止root的远程登录

生产环境中,我们为了安全起见,是应该禁止root用户远程登录的。要想使用root用户的一些权限,可以用sudo设置。

  • 先配置sudo的配置文件
    让shuai用户拥有能以root身份使用su命令的权限

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    AD   ALL=(ALL)  /usr/bin/ls,/usr/bin/mv
    shuai   ALL=(ALL)  NOPASSWD: /usr/bin/su
    
  • 更改sshd配置文件(/etc/ssh/sshd_config)

     [root@shuai-01 ~]# vi /etc/ssh/sshd_config 
    
  • 找到这一行(#PermitRootLogin yes)将其改为

     PermitRootLogin no
    
  • 保存退出后重启sshd服务

    [root@shuai-01 ~]# systemctl restart sshd.service
    

    这时,就不能用root远程登录了,要想使用root,必须在shuai用户下,sudo

    [shuai@shuai-01 ~]$ sudo su -
    上一次登录:三 11月  1 21:45:05 CST 2017pts/1 上
    [root@shuai-01 ~]# 登出
    [shuai@shuai-01 ~]$
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值