su和sudo命令的用法

为了安全起见,尽量不要用root用户去做所有事情,因为一旦执行了错误的命令,可能会直接导致系统崩溃。

一、su命令

su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,切换到其他用户,比如从 root 管理员切换至普通用户。
需要注意的是,su 命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息,建议在切换用户身份时添加这个减号(-)。下图是su命令的例子:

二、sudo命令

使用 su 命令,普通用户可以完全切换到 root 管理员身份来完成相应工作,但这将暴露 root 管理员的密码,从而增大了系统密码被黑客获取的几率,这并不是最安全的方案。
sudo 命令把特定命令的执行权限赋予给指定用户,这样既可保证普通用户能够完成特定的工作,也可以避免泄露 root 管理员密码。
sudo 命令用于给普通用户提供额外的权限来完成原本 root 管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

sudo 命令具有如下功能:
1、限制用户执行指定的命令:
2、记录用户执行的每一条命令;
3、配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
4、验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码。

三、sudo配置文件

可以使用 sudo 命令提供的 visudo 命令来配置用户权限,只有 root 管理员才可以使用 visudo 命令编辑sudo的配置文件(/etc/sudoers),其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。
# visudo

进入编辑状态后,按照下面的格式填写指定的信息:
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
需要注意的是,可执行命令列表中一定要给出命令的绝对路径,否则系统会识别不出来。例如:
root ALL=(ALL) ALL
cb ALL=(ALL) /usr/bin/cat,/usr/sbin/poweroff

如果让用户执行sudo命令时不需要密码验证,可以添加NOPASSWD参数。例如:
cb ALL=NOPASSWD:  /usr/bin/cat,/usr/sbin/poweroff

对用户组配置sudo权限,组名前加%,下面的配置允许sudo组中的用户执行任何命令:
%sudo ALL=(ALL:ALL) ALL 

原文地址:https://www.cnblogs.com/pandachen/p/10992284.html

时间: 2024-10-14 05:01:14

su和sudo命令的用法的相关文章

su和sudo命令简介

一.su命令简介及用法 1.su命令简介 su用于用户之间的切换.但是前面的用户依然保持在登录状态.这种切换如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证. 2.常用用法说明 普通用户在使用su命令时不加参数及使用参数-所带来的结果是有区别的: su在不加任何参数,默认为切换到root用户,这里需要输入root用户的密码,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变为root登录环境: su 加参数 -

Linux通过su、sudo命令实现用户切换、提权

概述 大多数Linux服务器并不建议用户直接以root用户进行登录.一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险.鉴于这些原因,需要为普通用户提供一种身份切换或权限或权限提升机制,以便在必要的时候执行管理任务.此时就需要借助Linux为我们提供的su.sudo两种命令来提升执行权限. 提权配置的三种方式 1.针对用户 2.针对组 3.针对用户.组.命令的别名 实验目标 1.熟悉su.sudo的用法,熟练使用sudoers相关的配置 2.体验用户切换

Linux su和sudo命令的区别,并获得root权限

su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量. su root(或者其他用户名)表示不切换环境变量到当前用户下. sudo 表示获取临时的root权限命令,如: sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件,因为/etc/shadow密码文件需要使用roo

sudo命令的用法

因为root的权限太大,所以一般不能以管理员直接登录,或su - root去操作,这时我们就需要用到sudo这个命令去帮助我们执行一些普通用户没有权限的管理命令. sudo命令的特点: 1.授权指定用户在指定主机上运行指定的管理命令: 2.详细记录用户基于sudo执行的命令的相关日志信息: 3."检票系统":时效性认证,用户第一次执行sudo时会要求输入密码来验正用户身份,成功后用户会获得一个有固定存活时长的"令牌":5分钟 如何实现sudo功能? /etc/sud

Linux 中su和sudo命令的几个注意点

1 su与su - 的区别 1.1命令说明 su对应是是no-login shell的方式进行账号登陆,命令行的变量配置还是切换账号前的变量. su-对应的是login shell的方式进行账号登陆,这时候相当于完全登陆新的账号获取新的账号的变量信息 因此在写脚本的过程中,根据里面变量的配置,要合理选用“su” 或者“su -”.附上鸟哥书中关于no-login shell与login shell的讲解 login shell:取得 bash 时需要完整的登陆流程的,就称为 login shel

linux su和sudo命令的区别

一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有.解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的:二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root.我们可以看到当然通过su 切换是一种比较好的

su和sudo命令的区别

一. 使用 su 命令临时切换用户身份 参考 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有.解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的:二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root.我们可以看到当然通过su 切换是一种比

linux su和sudo命令的区别(转)

一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有.解决办法无法有两个,一是退出beinan用户 一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有

su 和 sudo 命令的区别

摘自:http://www.apelearn.com/bbs/thread-7467-1-1.html 一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥      有.解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的:二是我们没有必要退出beinan用户,可以