linux命令--su/sudo

本文详细介绍了Linux系统中su和sudo命令的功能与用法。su命令用于切换当前用户身份到其他用户身份,需要输入目标用户的密码。sudo命令允许用户以其他身份执行命令,默认为root,用户只需输入自己的密码。文章对比了两者的特点,强调了sudo在系统管理和安全性方面的作用。

su

功能说明

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
su在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,可以在/etc/passwd 中查得到,包括家目录,SHELL定义等;

常用选项

语法
su(选项)(参数)

选项
这里写图片描述
参数
用户:指定要切换身份的目标用户。

使用实例

1.切换当前用户到root用户,并重新读取用户环境相关配置文件。

scarlett@scarlett-X550VXK:/root$ sudo su -l root
root@scarlett-X550VXK:~# pwd
/root

sudo

功能说明

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

常用选项

语法
sudo (选项)(参数)

选项
这里写图片描述

参数
指令:需要运行的指令和对应的参数。

1.配置sudo,使当前用户可以执行root可以执行的所有命令。

配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。

切换用户到root,利用visudo修改sudoers

# /etc/sudoers

# 
# This file MUST be edited with the 'visudo' command as root. 
# 
# See the man page for details on how to write a sudoers file. 
# 

Defaults env_reset 

# Host alias specification 

# User alias specification 

# Cmnd alias specification 

# User privilege specification 
root ALL=(ALL) ALL 
scarlett ALL=(ALL) ALL
# Allow members of group sudo to execute any command after they have 
# provided their password 
# (Note that later entries override this, so you might need to move 
# it further down) 
%sudo ALL=(ALL) ALL 
# 
#includedir /etc/sudoers.d 

# Members of the admin group may gain root privileges 
%admin ALL=(ALL) ALL 

2.允许users用户组中的用户像root用户一样使用shutdown命令

%users  localhost=/sbin/shutdown -h now

su与sudo的区别

su方式切换是需要输入目标用户的密码,而sudo只需要输入自己的密码,所以sudo可以保护目标用户的密码不外流的。当帮root管理系统的时候,su是直接将root所有权利交给用户,而sudo可以更好分工,只要配置好/etc/sudoers,这样sudo可以保护系统更安全,而且分工明确,有条不紊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值