sudo(Superuser Do)
- 功能: sudo 允许用户以另一个用户(通常是超级用户 root)的权限来执行单个命令。sudo 是一个临时授权工具,它不需要用户知道 root 的密码,而是使用当前用户的密码来进行身份验证。
- 用途: sudo 主要用于执行需要管理员权限的单个命令。例如,系统管理员可以为特定用户授予使用 sudo 的权限,使他们能够在不直接访问 root 账户的情况下执行特定的管理任务。
优点:
- 通过 sudo,系统管理员可以更细粒度地控制哪些用户可以执行哪些命令。
- 提升权限仅限于当前执行的命令,减少了系统安全风险。
su(Substitute User or Switch User)
-
功能: su 命令允许你切换到另一个用户的身份。通常不带参数的 su 命令会切换到 root 用户身份,要求你输入 root 用户的密码。
-
用途: su 主要用于切换用户身份后,以该用户的权限执行命令或打开一个新的 shell 会话。与 sudo 不同的是,su 切换的是整个用户身份,而不仅仅是执行单个命令。
-
su - 的作用: 使用 su - 选项时,会加载目标用户的环境变量,使得你完全切换到该用户的环境。
-
优点:
- su 允许你完全切换到另一个用户的身份,并且可以在新身份下连续执行多个命令。
- 对于需要长时间以管理员身份工作的情况,su 可能更方便。
主要区别
- sudo: 用于临时提升权限,执行单个需要高权限的命令,使用当前用户的密码进行身份验证。常用于执行一次性或短期的管理任务。
- su: 用于切换到另一个用户身份(通常是 root),并打开一个新的 shell 会话,要求输入目标用户的密码。适合需要长时间以另一个用户身份工作的情况。
Reference
FEATURED TAGS
algorithm
algorithmproblem
architecturalpattern
architecture
aws
c#
cachesystem
codis
compile
concurrentcontrol
database
dataformat
datastructure
debug
design
designpattern
distributedsystem
django
docker
domain
engineering
freebsd
git
golang
grafana
hackintosh
hadoop
hardware
hexo
http
hugo
ios
iot
java
javaee
javascript
kafka
kubernetes
linux
linuxcommand
linuxio
lock
macos
markdown
microservices
mysql
nas
network
networkprogramming
nginx
node.js
npm
oop
openwrt
operatingsystem
padavan
performance
programming
prometheus
protobuf
python
redis
router
security
shell
software testing
spring
sql
systemdesign
truenas
ubuntu
vmware
vpn
windows
wmware
wordpress
xml
zookeeper