AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 453541
Accepted
localhost
localhost
Asked: 2018-07-05 22:51:54 +0800 CST2018-07-05 22:51:54 +0800 CST 2018-07-05 22:51:54 +0800 CST

Crie compartilhamento de samba apenas com permissão de gravação e sem permissão de leitura

  • 772

Caso de uso

Eu sou o único usuário. Eu tenho um NAS Ubuntu com criptografia de disco completo e estou tentando fazer backup de minhas próprias máquinas Windows para isso. Eu quero ter um pendrive que eu possa inicializar para clonar as unidades do Windows para o NAS, mas não quero que todo o compartilhamento de backup seja legível por qualquer pessoa que possa encontrar esse pendrive com as credenciais de compartilhamento nele. Você consegue pensar em uma solução melhor?

O que eu estava pensando poderia funcionar

Estive procurando, mas não consegui encontrar o que preciso, tudo o que encontrei é simplesmente habilitar o acesso de gravação a um compartilhamento, que não é o que quero fazer.

Eu gostaria de criar um compartilhamento de samba na minha máquina ubuntu onde os usuários tenham apenas permissões de gravação. Eu gostaria que eles pudessem criar arquivos, mas não pudessem lê-los, nem listar pastas dentro do compartilhamento.

Isso é para fins de backup. Eu quero ter uma unidade usb inicializável que eu possa inicializar que pegue imagens de disco das unidades nessa máquina e salve no compartilhamento do samba, mas não quero que esse usb tenha acesso a todas as imagens.

Fico feliz se ele simplesmente falhar se um arquivo já existir, garantirei que os nomes dos arquivos não entrem em conflito usando UUIDs/hora da unidade.

backup samba
  • 2 2 respostas
  • 1623 Views

2 respostas

  • Voted
  1. ctrl-alt-delor
    2018-07-06T03:06:20+08:002018-07-06T03:06:20+08:00

    Os pontos de montagem suportam apenas a desativação da gravação (somente leitura), mas não a desativação da leitura. No entanto, você pode fazer a maior parte com permissões de arquivo. Não será possível impedir um usuário de ler seus próprios arquivos, mas você pode impedi-lo de ler os arquivos de outras pessoas.

    Você vai precisar de:

    • Bit pegajoso, para impedir que os usuários removam os arquivos uns dos outros.
    • Desligue os bits de leitura do diretório para impedir que outros leiam
    • Defina uma permissão padrão para desativar os bits de leitura dos arquivos e impedir que outras pessoas os leiam.

    Como

      chmod +t "«the directory»"
      setfacl -m "u::wx,g::wx,o:-" "«the directory»"
      setfacl -m "d:u::-,d:g::-,d:o:-" "«the directory»"
    

    Avisos

    Isso não será facilmente usado pelos usuários, considere conceder algumas permissões extras. Ou um diretório por usuário.

    Eu também não acho que esta é a maneira de fazer backups. Configure um cron job para fazer backups todos os dias. Você pode estar usando backups para controle de revisão, considere usar um sistema de controle de revisão. A sub-versão (svn) é boa para usuários obrigatórios e para a maioria dos tipos de arquivo. O Mercurial também é bom para programadores e pode ser usado para outros tipos de arquivo, mas eu não o recomendaria para nenhum arquivo não mesclável (como o MS-Office).

    • 1
  2. Best Answer
    yahol
    2019-03-12T03:25:44+08:002019-03-12T03:25:44+08:00

    Eu fiz algo semelhante, a única diferença foi que um usuário poderia escrever somente sem ler (ou mesmo listar diretório), outro usuário só poderia ler.

    /etc/samba/smb.conf

    [write-only]
      comment = Write-only access without read
      path = /smbshare
      hosts allow = 172.17.10.10
      hosts deny = 0.0.0.0/0
      read only = no
      write list = smbwrite
      force user = smbwrite
      force group = smbread
      create mask = 0350
      directory mask = 0350
      force create mode = 0350
      force directory mode = 0350
    

    Direitos de acesso inicial no lado do servidor:

    chmod -R 350 /smbshare
    chown -R smbwrite:smbread /smbshare
    

    A única desvantagem é que, se você souber o nome exato do arquivo, poderá listá-lo.

    A parte a seguir é para referência:

    [read-only]
      comment = Read-only access
      path = /smbshare
      read only = yes
      hosts allow = 172.17.10.20
      hosts deny = 0.0.0.0/0
      read list = @smbread
    

    /etc/fstabentradas em ambos os clientes:

    smbwrite (172.17.10.10), usuário local "foo":

    //172.17.10.1/write-only      /mnt/write      cifs    user=smbwrite,pass=s3kr1t,uid=foo,vers=3.0 0 0
    

    smread (172.17.10.20), usuário local "bar":

    //172.17.10.1/read-only /mnt/read cifs user=smbread,pass=s3kr1t,uid=bar,vers=3.0 0 0
    
    • 1

relate perguntas

  • Como exportar uma lista completa de usuários no Samba Active Directory?

  • Erro ao montar o compartilhamento do samba: CIFS VFS: nenhum nome de usuário especificado

  • Como organizar seu sistema para vários projetos? [fechado]

  • Posso salvar o instantâneo do timeshift na caixa de depósito?

  • Regras do Iptables para permitir que o appVM passe pelo proxyVM configurado para passar apenas por uma VPN no QubesOS

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve