众所周知,Linux是一个分时多用户操作系统,每个用户都有独立权限且相互隔离。其中root用户的权限是最大的,其能够操作所有的文件以及执行所有的命令。当然,正因为如此,使得其风险很大,若操作不当,就会产生严重的问题,更严重者可以导致系统崩溃。
因而在大多数的时候,我们并不会直接使用root用户登录系统,而是使用一些有着特定权限的普通用户。因此在做某些操作的时候,就会遇到权限不足的情况,比如修改其他普通用户的密码(当然这种操作有些不合理,只是为了举例)。
假定我们的系统中有有两个普通用户:user1和user2,当前登录系统的用户为user1,此时需要修改user2的命令,如果直接执行如下命令,就会报权限不足的提示:
Linux中如何做超出自己权限的事
此时有两种方式可以解决,分别是:切换其他用户执行和以其他用户的权限执行。
切换其他用户执行
对于切换用户而言,我们最先想到的就是,先退出当前的登录用户,然后选择目标用户进行重新登录。但是这种方式操作起来有些麻烦,因而我们可以使用更简洁的方式,也就是su命令来实现直接切换用户。
以上面的例子来说,先使用su切换到root用户,接着再次执行之前的操作,结果如所示:
Linux中如何做超出自己权限的事
如果我们想回退到之前的用户,只需要执行exit命令,执行结果如下所示:
Linux中如何做超出自己权限的事
对于su来说,默认情况下是切换为root用户,如果需要切换为指定的用户,则可以在su后面指定用户名。比如user1切换为user2,使用到的命令如下所示:
下面来分别演示一下这两种情况:
带“-”参数
使用user1用户进行登录,执行“su -”命令切换后,使用pwd命令来查看当前所属的目录:
Linux中如何做超出自己权限的事
不带“-”参数
使用user1用户进行登录,执行“su ”命令切换后,使用pwd命令来查看当前所属的目录:
Linux中如何做超出自己权限的事
以其他用户的权限执行操作
大多数时候,我们只是需要以某个用户的权限来执行对应的命令即可,而不是非要切换成对应的用户。
执行命令的页面
Linux中如何做超出自己权限的事
接着在该配置文件中新增一条配置信息:
user1 ALL=(ALL) ALL ## 复制上一行的内容
Linux中如何做超出自己权限的事
接着保存并退出。此时再次执行上面修改user2用户的密码的命令,结果如下所示:
Linux中如何做超出自己权限的事
也就是说,此时通过使用sudo命令,就可以使得普通用户user1能够以root用户的权限来完成修改其他普通用户user2的密码的操作。
通过观察发现,每次执行sudo命令时都需要输入当前登录用户的密码,这似乎让人有点恼火,那么是否有办法避免这个事呢?解决方法就是使用root用户来对刚才的配置进行修改,在user1的记录的最后一个ALL前面增加一个参数:NOPASSWD,修改后的记录为:
复制
user1 ALL=(ALL) NOPASSWD:ALL
1.
Linux中如何做超出自己权限的事
保存退出后,再次重复之前的操作,发现这次无需再次输入密码:
Linux中如何做超出自己权限的事
到此,如何做自己权限之外的操作的方法已经介绍完毕,希望可以对大家有所帮助。
大型站长资讯类网站! https://www.nzzz.com.cn