sudo指令
sudo
是在linux中用于以超级用户(root)权限执行命令的命令。它允许普通用户在执行特定命令时提升其权限,以完成需要超级用户权限的任务。sudo
的名称是 "superuser do" 的缩写。
格式
接受权限的用户登陆的主机 =(执行命令的用户) 命令
使用sudo调用授权命令
sudo –u 用户名1 命令
上面指令的意思是以用户名1的身份执行命令,如果不加-u 和指定用户名1那就表示以root身份执行
注意:
这样的语法对于以其他用户的身份执行特定命令很有用,尤其是当某些命令需要在不同用户下运行时。请注意,使用
sudo
权限时需要谨慎,确保只执行受信任的命令,以防止潜在的安全问题。
在前面的博客中我们学习了用户权限的概念,对用户权限还不了解的朋友可以去看一看
linux权限管理以及shell-CSDN博客文章浏览阅读580次,点赞17次,收藏18次。su指令可实现普通用户和root(超级管理员)之间的交换,值得注意的是,su默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以"-"不能省略,不然有些操作无法执行。这也是为什么su root之后所处的当前路径不会更新,而su - root之后所处的当前路径会回到/root下。umask用户文件创建掩码)是一个在Unix和类Unix系统中的概念,用于控制新文件和目录的默认权限。它是一种权限掩码,用来确定在创建新文件或目录时从权限中。https://blog.csdn.net/qq_62987647/article/details/134903213
为什么会有指令提权?
一般来说,身为普通用户是不可以使用超级管理员的权限的,但是考虑到超级管理员只有一个,只要是涉及到高权限的指令就必须要root来运行,这样的话,超级管理员显然太累了。并且,有些时候对于一些特别信任的用户,我们的root也想给予特权,但是又不能直接将管理员的账号告诉这些用户,那怎么样才能让某些普通用户完成一部分特权任务呢?这个时候我们就联想到了白名单。
如何让普通用户可以指令提权?
当普通用户用sudo指令时,我们会发现用不了,并且提示当前用户不在sudoers文件中。
sudoers文件是什么?
其实可以看成时linux系统下的白名单,只有在该白名单中的用户才可以使用提升权限完成某些事件。
那么我们是否可以通过修改sudoers文件中的内容,添加某个普通用户到sudoers文件中呢?
答案是可以的。但是修改sudoers文件是一件非常敏感的事情,需要足够的权限,所以一般只允许root用户修改。
添加用户到sudoers文件中
第一步修改/etc目录下的sudoers文件的权限,让其可以供root读写
第二步 使用sudo visudo指令或者使用vim /etc/sudoers指令直接编译sudoers文件。
# chmod 740 /etc/sudoers
# sudo visudo
成功使用sudo指令