Aqui estão as respostas:
-
roottem sempre acesso completo a arquivos e diretórios. O dono do arquivo normalmente também os possui, mas isso nem sempre é verdade. Por exemplo:-r-xr----- 1 user1 users 199 Oct 14 18:42 otherfile.binuser1é o proprietário ; no entanto, eles só podem ler e executar , masrootainda tem acesso total ( rwx ) ao arquivo. -
RUID é o Real User ID e nunca (quase) muda. Se
user2efetuar login no sistema, o shell será lançado com seu ID real definido comouser2. Todos os processos que eles iniciam no shell herdarão o ID realuser2como sua ID real.EUID é o ID de usuário efetivo , ele altera para processos (não para o usuário) que o usuário executa que definiram o bit setuid .
Se
user2executarfile.bin, o RUID seráuser2e o EUID do processo iniciado seráuser1.
Vamos usar o caso de passwd :
-rwsr-xr-x 1 root root 45396 may 25 2012 /usr/bin/passwd
-
Quando
user2deseja alterar sua senha , eles executam/usr/bin/passwd. -
O RUID será
user2, mas o EUID desse processo serároot. -
user2pode usarpasswdpara alterar somente sua própria senha porque internamentepasswdverifica o RUID e, se não forroot, suas ações serão limitadas para a senha do usuário real. -
É necessário que o EUID se torne
rootno caso depasswd, porque o processo precisa ser gravado em/etc/passwde / ou/etc/shadow.