Então aqui está a coisa. Eu corro o debian 10 com o VMbox no win10. Meio que me acostumando com o ambiente UNIX. Eu uso o vsftpd para transferir arquivos entre o Debian virtual e meu WWin10 real. Eu principalmente faço coisas no root, mas tenho o usuário alex para minhas transferências de FTP. O que eu quero fazer: Eu tenho uma pasta /home/alex/STUFFMAGREGA onde armazeno arquivos que quero transferir para o meu Win10, mas o problema é que quando copio alguns logs de /var/log para essa pasta no root, eu não posso acessá-los como alex por FTP porque não tenho as permissões corretas.
Como faço para que, quando qualquer arquivo terminar em /home/alex/STUFFMAGREGA, ele se torne do alex?
Coisas que eu tentei:
Tentei fazer um grupo que inclui root e alex com permissões iguais para o diretório.
sudo mkdir -p /home/alex/STUFFMAGREGA sudo groupadd share sudo usermod -a -G share alex sudo usermod -a -G share root sudo chgrp -R share /home/alex/STUFFMAGREGA sudo chmod -R 2775 /home/alex/STUFFMAGREGA
Não funcionou. Copiei um log de /var/log para /home/alex/STUFFMAGREGA em Root e depois acessei essa pasta ftp como Alex, não consegui abrir o arquivo. Eu só poderia excluí-lo.
chmod g+s alex /home/alex/STUFFMAGREGA
ouchmod g+s /home/alex/STUFFMAGREGA
.Aqui, tentei fazer com que todos os novos arquivos neste diretório herdassem as permissões definidas da pasta.
Não funcionou.
Alguma ideia de como fazê-lo funcionar?
chmod g+s
fará apenas com que novos arquivos herdem a "propriedade do grupo", mas não as permissões do grupo - essas ainda são decididas a partir do umask. Não chega nem perto da herança ACL que o Windows possui.No entanto, o Linux possui uma forma de ACLs que suporta herança, acessível por meio da
setfacl
ferramenta. Uma pasta pode ter dois tipos de entradas ACL, "normal" (afetando o próprio diretório) e "padrão" (a ser herdada por novos arquivos e subpastas).Você pode fazer isso de duas maneiras. Você pode continuar usando g+s para herança de grupo e usar apenas ACLs para forçar os arquivos a herdar permissões de grupo padrão:
Ou você pode descartar g+s e especificar uma entrada ACL que concede acesso diretamente a um grupo específico (tanto como uma entrada 'efetiva' quanto como uma entrada 'herdável'):
Atalho (
g:
para grupo,d:
para padrão/herdável):