linux中su命令及sudo命令详解,普通用户特殊权限赋予。

SU命令与sudo服务

Linux系统为了安全性考虑,使得许多系统命令和服务只能被root管理员来使用,但是这也让普通用户受到了更多的权限束缚,从而导致无法顺利完成特定的工作任务。



su命令

su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户。
在这里插入图片描述

一 ,su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)

二 ,su命令切换用户时带上(-)默认切换到root目录便捷操作!


一、sudo命令

sudo命令把特定命令的执行权限赋予给指定用户,这样既可保证普通用户能够完成特定的工作,也可以避免泄露root管理员密码。我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。sudo服务的配置原则也很简单—在保证普通用户完成相应工作的前提下,尽可能少地赋予额外的权限。

sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

sudo服务中的可用参数以及作用

参数 作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或uid值 以指定用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次验证密码
-b 在后台执行的命令
-p 更改询问密码的提示器

visudo命令

用于配置用户权限。使用该命令配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错。只有root管理员才能用visudo命令。
編輯普通用戶的使用權限 在第99行
先用whereis  查看命令 再在普通用户查看命令位置 
在使用visudo 99列赋予文件权限 在切换普通用户 sudo +命令+文件位置 就可以使用 

二、sudo 的具体功能及演示

1.使用whereis命令

代码如下(示例):

[root@zhuxing Desktop]# whereis cat
cat: /usr/bin/cat /usr/share/man/man1/cat.1.gz /usr/share/man/man1p/cat.1p.gz
复制文件根目录 : /usr/bin/cat 

2.使用visudo命令

代码如下(示例):

使用visudo命令修改普通用户zhuxing 的权限使他赋予cat命令的权限
編輯普通用戶的使用權限 在第99行zhuxing ALL=(ALL)       /usr/bin/cat
具体命令如下
[root@zhuxing Desktop]# visudo
[root@zhuxing Desktop]# su - zhuxing
Last login: Tue Oct 13 07:43:40 EDT 2020 on pts/0
[zhuxing@zhuxing ~]$ sudo cat /etc/shadow

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for zhuxing: 需要输入密码

在这里插入图片描述

处理结果如图所示:普通用户已经赋予cat权限但需要输入密码


赋予无密码使用sudo命令

root    ALL=(ALL)       ALL
zhuxing ALL=NOPASSWD:   /usr/bin/cat
修改普通用户访问sudo需要密码的问题
[root@zhuxing Desktop]# visudo
[root@zhuxing Desktop]# su - zhuxing
Last login: Tue Oct 13 08:17:08 EDT 2020 on pts/0
[zhuxing@zhuxing ~]$ sudo cat /etc/shadow
root:$6$1aEIprXG7Adk55tv$v376la3uqUPhgF.M0m/8D0swVKWZndKNHGqg07tOwxfZYL41RjWviPElX33X1YcEXL0Iv0wH/Itqz28vBXrAU0:18519:0:99999:7:::
bin:*:16141:0:99999:7:::
daemon:*:16141:0:99999:7:::

总结

visudo 編輯普通用戶的使用權限 在第99行 先用whereis 查看命令 再在普通用户查看命令位置 在使用visudo 99列赋予文件权限 在切换普通用户 sudo +命令+文件位置 就可以使用

猜你喜欢

转载自blog.csdn.net/SYH885/article/details/109058877