我想检查普通用户是否拥有超级用户权限(意味着根权限)。我的操作系统是RHEL 6,我检查了/etc/passwd配置文件,但是没有用。请告诉我有什么方法可以在Linux机器中找到当前用户的特权。
发布于 2011-08-11 12:03:23
在过去,Unix世界中的根模型是容易的。uid 0,你是根,你对一切都有充分的能力。不过,情况发生了一些变化。
可以使用suid位授予文件,以便即使是普通用户也可以作为root用户运行它们。好的,这可能是在原来的Unix中。:-)
如果用户属于组0,他可能没有完全的根权限,但仍然可能会看到许多不想看到的内容。另外,在某些发行版中,wheel组是用来监视的--如果用户知道根密码,属于该组的用户可以su自己的根目录。
除了传统的su之外,sudo命令还允许限制某些用户/组只作为根用户执行某些命令。请用visudo检查一下。
使用ssh,可以生成一个ssh键,您可以用它作为root连接,但只能使用命令x、y和z。这通常用于备份等任务,在备份过程中,备份进程必须能够访问系统中的每个文件。
Linux内核获得了一些功能,可以授予对某些子系统(如网络接口或块设备)的访问权限。见这份清单。
如果您的系统中启用了安全框架SELinux,那么SELinux也具有基于角色的访问权限.见SELinux简介。
发布于 2011-08-11 11:51:50
超级用户特权是通过UID (userid) 0来授予的。从/etc/password文件中为用户提供grep。用户后面的第一个数字字段是UID,第二个是GID (GID)。如果用户不是UID 0,则他们没有根权限。这并不包括他们在一个适当的组(轮盘、无人等)中可能拥有的额外权限,但他们并不是超级用户。如果您仍然不确定这个用户能做什么和不能做什么,那么只需对该用户(su - username)进行su -username,然后看看您能做什么。你能触摸一个你不拥有的目录中的文件吗?否则,您就不是超级用户。希望这能帮上忙。
例:没有人:X:99:45:没人:/:/sbin/nologin
没有人是用户名,99是uid,45是gid。
发布于 2011-08-11 11:57:04
用户可以通过一个名为sudo的程序来获得间接的“超级用户”权限。
使用sudo,您可以指定哪个用户或哪个组可以使用超级用户权限执行某些程序。
https://serverfault.com/questions/300051
复制相似问题