su 和 sudo 命令的区别

su 命令

  • su 命令能将非 root 用户提权到 root 权限(实际是让非 root 用户成为 root 用户).
  • 唯一的要求是用户知道 root 密码,因为用户已经以 root 权限登录,所以之后的操作就没有限制了.
  • su 命令所提供的提权没有时间限制.用户可以作为 root 执行命令,不需要进行重新验证是否有 root 权限.完成任务后,用户可以执行退出命令 exit,从 root 用户恢复到自己原来的非 root 帐户.
  • 举例如下:在非 root 用户中键入 su root 回车之后输入 root 密码,即提权到 root 用户
zhyx@Ubuntu:/ su root
[root password]
root@Ubuntu:/ 

sudo 命令

  • sudo 命令初衷是让非 root 用户暂时地获得更高权限,执行一两个特权命令.
  • sudo 命令不会将用户帐户切换为 root 用户,因为非 root 用户不应该拥有完全的 root 访问权限.
  • sudo 命令会有一个短暂的提权时间,用户可以执行任何需要提权的管理命令,5分钟后提权就会过期.继续提权可以运行 sudo -v 命令来重新验证 root 访问权限,并将提权时间再延长 5 分钟.
  • sudo 命令会生成非 root 用户使用命令的日志.这些日志便于日后排查错误,并作为后续的操作培训所用.(你以为我会说:便于以后“问责”用户吗?)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容