1.关于Root账户:
root账户可以做什么?这个问题的答案是anything。平且有一些受限的操作一般只有root账户才可以执行
如:
- 添加删除用户;
- 安装软件;
- 添加删除设备;
- 启动和停止网络服务;
- 某些系统调用
- 关闭系统
假如我不是root,那么要怎么执行这些操作了?
对于绝大部分的linux发行商而言,安装的最后一步会设置两个用户口令:一个是root用;另一个是普通用户,但也有只有一个普通用户的情况,而没有root!这种情况的普通用户在某种程度上代表了root。平时没有特权,但可以用sudo命令来运行相关操作
如果你再建立了一个用户,这个新用户是不能使用sudo命令的,因为sudo通过读取/etc/sudoers来确定用户是否可以执行相关命令,而这个文件只有root权限才能修改。
成为sudoer
在root账户下输入 visudo 命令,然后在底行模式下查找root字段,按n查找下一个自段直到这一行:root ALL=(ALL) ALL
然后复制粘贴它,再把复制的那行中的root改为需要sudoer身份的账户名字就可以了。
使用sudo命令
在命令前sudo即可成功执行,如添加用户
[LGR@localhost] sudo useradd lgr
但是这么做要LGR账户输入自身的密码才能执行。sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。用户可以通过sudo -v来查看自己是否是在sudoers 之中。如果是,它还可以更新你的“入场券”上的时间;如果不是,它会提示你,但不会通知管理员。出入安全可以使用sudo-kKill清除“入场卷”上的时间,下次再使用sudo时要再输入密码。
普通用户使用sudo 来执行只有root才能执行权限的命令,跟用root用户执行是不一样的,因为这时候他用的还是普通用户的环境变量。
用su -成root的用户还是有些环境变量是和root登陆是不一样的。另外,它们的uid也是不一样,只有euid是相同的。