阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

sudo,代表了Linux的绝对霸权!

65次阅读
没有评论

共计 1142 个字符,预计需要花费 3 分钟才能阅读完成。

导读 随着运维工具的提升,普通开发已经很少有机会接触这种命令了。但万变不离其宗,在开发运维工具的时候,同样会碰到这样的问题。

su 是一个 Linux 命令,浑身充满了 power。可以切换到其他用户或者高权用户去干 sth。

请原谅我这外企员工中英文夹杂式的表达,reason 很简单,就是要你有很深的 impression。

在很久很久之前,公司穷买不起 MacBook,xjjdog 只能使用用 SecureCRT 来远程连接服务器。为了增加安全性,首先需要登陆一台跳板机,然后再在跳板机上使用 ssh 命令连接真正的目标机器。

sudo,代表了 Linux 的绝对霸权!

其中,就有一台服务器对环境要求非常苛刻。当服务启动,总是发现它的环境变量不是自己所想要的那样,即使在 root 用户的​​.bash_profile​​文件里强行设置都没用。

到最后才发现,是 su 命令用错了。

那么,su, su -, sudo -i, sudo -s,到底有什么区别?

sudo

首先,我们来看下 sudo。我们最常用的,就是 sudo - s 了。它的意思是:

    1. 使用当前用户的环境变量

 

    1. 不跳转切换用户后的目录

 

    切换到超级管理员或者目标用户的权限

这通常会带来一些问题,比如 xjjdog 用户下设置了自己的一套环境变量,当使用 su -s 切换到超级管理员权限,依然使用的是 xjjdog 的环境变量。这样,就会发生找不到命令,语言错误,甚至配置错误的结果。相对应的,sudo -i 就干净利索的多。它的意思是:

    1. 使用 root 或者目标用户用户的环境变量

 

    1. 切换到 /root 或者目标用户的 home 目录

 

    切换到超级管理员或者目标用户的权限

大多数情况下,推荐使用 su -i 替代 su -s,这样出问题的几率会小的很。

su

与此对应的,就是 su 命令。

如果只运行 su,它的效果和 sudo - s 是一样的。如果使用了 su –,那么它的效果就是 sudo -i。

如果没有特殊原因,任何使用,都应该使用 sudo - i 或者 su -。

高权账号

随着运维工具的提升,普通开发已经很少有机会接触这种命令了。但万变不离其宗,在开发运维工具的时候,同样会碰到这样的问题。

很多时候,公司设定了严格的权限和分级制度,用来规范开发人员的操作。

但是,高权账号总是必要的。这些账号通常都会分配给 leader 们。比较搞笑的是,公司的开发规范大多数开发是能够遵守的,而带头破坏规范的,一般还是高权账号。

公司的问题和社会的问题都是相似的。“管理者”设计了一套机制,用来避免风险,约束行为。但当绳子套在自己身上的时候,才体验到它的束手束脚。怎么办?su 来帮忙吧。效率也提升了,问题也解决了,留给一脸懵逼的后来人:“规范呢?怎么能带头破坏呢”?

没办法,谁让别人有 sudo 权限呢?

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1142字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中