Eu não sei por que você precisaria de um grupo "não confiável" se você tivesse apenas um "convidado" (e você deveria ter apenas um convidado, geralmente). O grupo "guest" pode ser usado como "não confiável". De qualquer forma, vou tentar ser breve com uma explicação para apontar na direção certa:
??? (did I do the above so far correctly???) --I still want other super users to be able to see guest's files.
Qualquer pessoa que tenha efetuado login na conta "root" pode fazer isso. Use su -c "do something"
ou sudo do something
. Para fazer login como root, use su root
(ou apenas su
, como padrão, com root sem args) ou sudo -i
(mas saiba que o login como root é desencorajado para usuários novatos).
What's the point of making the "untrusted" group anyway? I don't see how it changes anything.
Precisamente. No entanto, digamos, em um servidor de arquivos, pode ser muito útil ter grupos específicos para propósitos de acesso específicos. Os ambientes de desenvolvimento e teste podem se beneficiar da execução de processos com menos privilégios, testando binários não confiáveis (embora as cadeias sejam melhores para isso). Geralmente, ter um usuário não confiável pode ser útil na empresa, mas não em uma área de trabalho ou estação de trabalho. Pode haver muito mais casos de uso, por isso, antes dessas divagações, vou parar com isso e deixar o resto para a sua leitura.
Revoke the read, write, and execute (rwx) Group and Other rights on all other home directories: ??? If I do chmod go-rwx /home/*/, then other sudoers can't even read guest's directories--that's not what I want!--I just want guest to not be able to read others' directories
Não, claro que não. Revogar o acesso g (grupo) vai atrapalhar as coisas nesta instância e não atingir seus objetivos (para evitar que os hóspedes mexam na casa de outros usuários). Leia esta breve explicação:
A natureza padrão de adicionar um novo usuário via adduser é:
- Novo usuário criado com o ID do grupo principal correspondente.
- O novo usuário recebe uma pasta pessoal, geralmente / home / USERNAME / para a qual esse usuário tem privilégios de rwx.
- Por padrão, nenhum outro privilégio é concedido e nenhum grupo suplementar é atribuído ao usuário (ouço algumas configurações, mas não é um comportamento "baunilhado").
-
Portanto, basta criar o usuário para obter tudo o que você declarou que deseja alcançar . Em outras palavras, comece de novo excluindo o usuário e o diretório pessoal do usuário e não altere nada até saber o que, se necessário, precisa ser alterado. Você pode ver os grupos da conta depois de criá-lo com
id USER
. Assim, você pode remover todos os grupos em que o convidado não deveria estar se o seu sistema tiver um comportamento padrão estranho.
I just want guest to not be able to read others' directories
Por padrão, o convidado pode ler somente outros arquivos. Se você deseja tornar os arquivos privados (visíveis somente para o proprietário, grupo e root), chmod -R o-rwx
do diretório. O 'o' significa "outro" ou "mundo". Este sinalizador se refere a qualquer um que não seja o proprietário do arquivo ou um membro do grupo que possui o arquivo (com a exclusão do root, que é basicamente seu Usuário Todo-Poderoso). 'o-x' é necessário para garantir que as listagens de diretório não possam ser feitas, pois os diretórios são executáveis (fora do escopo)
Take ownership of any directories you want "guest" to have access to. Note that since we used adduser above, guest already has access to his "/home/guest" home folder. However, giving user "guest" of other directories can be done as follows: sudo chown -hR guest /any/directory/you/want/guest/to/own
Não. Se você quiser compartilhar pastas, crie um novo grupo chamado "shareful" (isso é uma piada porque você deve ser "cuidadoso") e adicione todos os usuários que compartilharão o diretório com esse grupo ( usermod -aG shareful myuser
). Em seguida, coloque a propriedade do grupo da referida pasta para o grupo de compartilhamento ( chown -R :shareful /this/path/
) e chmod as permissões para que o grupo tenha rwx ( chmod -R g+rwx /this/path
). Neste ponto, você começará a querer investigar umask, mas isso está fora do escopo deste post.
Abaixo está um link para as informações do umask, mas primeiro, eu acho que você precisa reler as permissões básicas do arquivo * NIX (os dois primeiros links).
Permissões de arquivo: (Wikipedia) link (UNIX.com) link
Linux e umask: (Fonte desconhecida) link
Espero que isso esclareça as coisas pelo menos o suficiente para alcançar o que você quer.