Eu tenho um servidor de arquivos de mídia doméstica, ao qual conectei um novo usuário no Ubuntu 20.04 (via Samba). O servidor de arquivos é um micro-PC fazendo o trabalho de um NAS.
O novo usuário tem 9 anos e gostaria de ter permissões de leitura para algumas pastas de vídeos infantis, seus próprios arquivos etc. Eu poderia fazer uma cópia local deles, mas seria melhor encontrar uma maneira de limitar o acesso do lado do convidado em vez do servidor.
Estou interessado em deixar o usuário com permissões de root para o compartilhamento de samba, mas aparentemente limitando-o de outra maneira na interface do usuário
Existe um gerenciador de arquivos intencionalmente bloqueado/somente leitura que eu possa instalar que não tenha a capacidade de excluir ou alterar arquivos? Ou que pode usar uma lista interna de locais de pastas permitidas ou não permitidas, sem referência às permissões do usuário?
É (provavelmente) possível remover os comandos -rm e -mv dos recursos do Thunar? por exemplo, ações personalizadas podem ser usadas para desativar a tecla 'delete' (e não está nos menus), mas ainda há a capacidade de navegar no servidor de arquivos. Neste caso, o diretório "pai" é literalmente o diretório do pai
Existe algum utilitário do tipo controle dos pais que possa restringir os gerenciadores de arquivos, bem como ou em vez do acesso à Internet?
Como alternativa para 1. isso é apenas para reproduzir mídia, então existe algum aplicativo "Video Jukebox" somente para cliente que não pode mover/renomear/excluir?
Também como uma alternativa para 1. Eu poderia configurar um aplicativo de servidor de mídia no servidor de arquivos, ao lado do Samba - mas isso não parece ser simples com os pacotes disponíveis para Puppy Linux
===
As pessoas costumam dizer que "as crianças encontram maneiras de contornar essas coisas", mas isso envolve várias suposições sobre os níveis de habilidade - lembre-se de que minha solução é fazer uma cópia local
obrigado xx gata
Encontrei uma solução usando as permissões do Samba, mas ainda gostaria de saber se existem abordagens do lado do cliente. (nunca ouvi falar de nenhum, mas quem sabe).
Na minha situação, onde há um servidor de arquivos semelhante ao NAS existente + funcionando compartilhando um sistema de arquivos NTFS externo, onde nenhuma permissão de usuário foi definida no Windows, executando um servidor Samba e um PC cliente Ubuntu com um usuário adulto (" adultname") e um usuário filho ("childname")...
O Samba NAS-box precisa da capacidade de adicionar o nome de usuário do Ubuntu da criança como usuário. Por exemplo, via 'adduser childname'
o nome de usuário da criança é adicionado ao servidor, mas não pode (facilmente) ser usado para definir nenhuma permissão de arquivo acl/Linux em um disco NTFS, eu só precisava que ele estivesse lá para o Samba
No servidor, uma vez criado o usuário, ele deve ser adicionado ao Samba e também habilitado no Samba. Os comandos para isso eram 'smbpasswd -a childname' e depois 'smbpasswd -e childname'.
desde que funcionem bem antes de adicionar o usuário filho (há muitos guias), a linha /etc/fstab que o servidor usa para montar seu disco rígido não é tão importante e pode ser deixada igual
a linha /etc/fstab que o cliente usa para montar o compartilhamento Samba também não é tão importante, não há necessidade de adicionar novas configurações para acl, ou fmask= e dmask=, ou file_mode= e folder_mode=, ou para quaisquer credenciais adicionais arquivo a ser criado
não há necessidade de tentar criar um arquivo de mapeamento de usuário para habilitar permissões de arquivo acl/POSIX no disco ntfs (isso pode ser possível como uma abordagem)
em seus respectivos arquivos etc/fstab, o servidor pode usar ntfs como o tipo de arquivo, mas o cliente deve usar cifs se for para montar automaticamente
no HDD compartilhado, é melhor não manter a pasta do usuário infantil dentro da pasta do usuário adulto, ou que a pasta do adulto seja a raiz da unidade (no meu caso, não consegui evitar facilmente essas coisas)
o tipo simples de permissões necessárias para adicionar um usuário filho sem acesso de escrita e acesso de leitura limitado pode ser gerenciado dentro do Samba editando smb.conf
em smb.conf as configurações globais necessárias para ter esta linha adicionada: -
navegável = não
em smb.conf a entrada para o compartilhamento do usuário adulto precisava ter estas linhas adicionadas: -
leia a lista = root nome do adulto nome da criança
lista de escrita = root adultname
no exemplo acima, embora seja contra-intuitivo, o nome de usuário da criança deve estar na lista de leitura do samba do adulto, pois sua pasta está dentro dela e as permissões não simplesmente "percorrem" para deixá-los ler seu compartilhamento sem também poder para ler a pasta acima
configurar browseable = no não é seguro como remover as permissões de arquivo acl/POSIX desse usuário para esses arquivos, mas neste caso é bom o suficiente
em smb.conf, a entrada para o compartilhamento do usuário filho precisava ter estas linhas adicionadas: -
leia a lista = root nome do adulto nome da criança
lista de escrita = root adultname
no meu caso, as alterações acima não afetaram os PCs locais com Windows acessando os compartilhamentos
Outras abordagens podem ter sido fazer cópias locais de todos os arquivos para o usuário filho ou reformatar o hdd compartilhado como ext4 e organizar o layout da pasta de maneira diferente - mas achei essa maneira preferível, faz o que eu queria e está usando o Samba controle de acesso curto de acl
Se eu tiver cometido algum erro, ficarei grato em saber. Se houver uma maneira mais simples de limitar um usuário na interface do usuário do Ubuntu, isso também seria útil (já que não faz mal adicionar essas coisas no topo, se elas estiverem lá).