
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 que faz o trabalho de um NAS.
A nova usuária tem 9 anos e gostaria de ter permissão de leitura para algumas pastas de vídeos infantis, seus próprios arquivos, etc. Eu poderia simplesmente fazer para ela uma cópia local deles, mas seria melhor encontrar alguma 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 do samba, mas aparentemente limitando-o de alguma outra forma na interface do usuário
Existe um gerenciador de arquivos intencionalmente prejudicado/somente leitura que eu possa instalar e que não tenha capacidade de excluir ou alterar arquivos? Ou que pode usar listas internas permitidas ou não permitidas de locais de pastas, 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 ela não está nos menus), mas ainda existe a capacidade de navegar no servidor de arquivos. Neste caso, o diretório "pai" é literalmente o diretório 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 a 1. isso é apenas para reproduzir mídia, existe algum aplicativo "Video Jukebox" somente cliente que não pode mover/renomear/excluir?
Também como uma alternativa a 1. Eu poderia potencialmente 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 o Puppy Linux
===
As pessoas costumam dizer "as crianças encontram maneiras de contornar essas coisas", mas isso envolve um monte de suposições sobre os níveis de habilidade - lembre-se que minha solução alternativa é fazer uma cópia local
obrigado xx Catty
Responder1
Encontrei uma solução usando permissões do Samba, mas ainda gostaria de saber se existe alguma abordagem do lado do cliente. (Nunca ouvi falar de nenhum, mas quem sabe).
Na minha situação, onde existe um servidor de arquivos semelhante ao NAS em funcionamento, 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")...
A caixa NAS do Samba precisa da capacidade de adicionar o nome de usuário Ubuntu da criança como usuário. Por exemplo, através de 'adduser childname'
o nome de usuário da criança é adicionado ao servidor, mas não pode (facilmente) ser usado para definir quaisquer permissões 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 foram 'smbpasswd -a childname' e depois 'smbpasswd -e childname'.
contanto que funcionassem bem antes de adicionar o usuário filho (há muitos guias), a linha /etc/fstab que o servidor usa para montar seu HDD 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 tipo de arquivo, mas o cliente deve usar cifs se quiser montar automaticamente
no disco rígido 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 essas coisas facilmente)
o tipo simples de permissões necessárias para adicionar um usuário filho sem acesso de gravação e acesso de leitura limitado pode ser gerenciado dentro do Samba editando smb.conf
em smb.conf as configurações globais necessárias para adicionar esta linha: -
navegável = não
no smb.conf, a entrada para o compartilhamento do usuário adulto precisava ter estas linhas adicionadas: -
lista de leitura = root nome adulto nomefilho
lista de escrita = root nome adulto
acima, embora seja contra-intuitivo, o nome de usuário da criança deve estar na lista de leitura do compartilhamento de samba do adulto, já que sua pasta está dentro dela e as permissões não simplesmente "atravessam" para deixá-los ler seu compartilhamento sem também poder para ler a pasta acima
configurar navegável = não não é seguro como remover as permissões de arquivo acl/POSIX desse usuário para esses arquivos, mas neste caso é bom o suficiente
no smb.conf, a entrada para o compartilhamento do usuário filho precisava ter estas linhas adicionadas: -
lista de leitura = root nome adulto nomefilho
lista de escrita = root nome adulto
no meu caso, as alterações acima não afetaram os PCs locais com Windows que acessam os compartilhamentos
Outras abordagens poderiam ter sido fazer cópias locais de todos os arquivos para o usuário filho ou reformatar o disco rígido compartilhado como ext4 e organizar o layout da pasta de maneira diferente - mas achei preferível esse método, ele faz o que eu queria e está usando o Samba controle de acesso sem acl
Se cometi algum erro, ficaria grato em saber. Se houver uma maneira mais simples de limitar um usuário na interface do Ubuntu, isso também seria útil (já que não custa nada adicionar essas coisas no topo, se elas estiverem lá).