FreeNAS: Problemas de permissão ao preencher conjuntos de dados como root (cli)

FreeNAS: Problemas de permissão ao preencher conjuntos de dados como root (cli)

Estou configurando um NAS doméstico, aproveitando a oportunidade para me familiarizar com o FreeNAS

Minhas especificações:
CPU FreeNAS-11.3-U2
Intel(R) Core(TM) i5-4690 @ 3,50GHz.
16 GB de RAM DDR3.
SO: roda em um SSD ADATA SP600 250GB.

Minhas piscinas:

  1. NAS01. /mnt/NAS012x espelho de 2 TBcom 1 sobressalente (o espaço real de backup/NAS). Os 2 desenvolvedores do espelho são WDC WD2003FZEX; o sobressalente é um ST2000DL003
  2. S500. /mnt/S5001 x 500 GB(espaço de risco). O disco é um ST3500320AS. Há também um 6º disco 1TDB aguardando para ser usado...

Originalmente, fiz backup de cerca de 80 GB de dados de outro computador em um conjunto de dados zfs em um HD externo. Só depois disso aprendi que esse disco não pode ser importado. Este conjunto de dados teve um instantâneo criado naquele computador original.

Consegui então transferir o conjunto de dados para pool2 como S500/pre2012 montado em /mnt/pre2012 (honestamente, não consigo me lembrar exatamente agora como fiz isso, mas devo ter passado por cli via zpool e ifs).

Em algum momento eu usei um zfs send | recvpara transferir (posso dizer copiar?) S500/pre2012@snp1 para pool1 em NAS01/pre2012 - que inesperadamente para mim foi montado em /mn/mnt/pre2012.

Depois de testar e me familiarizar um pouco com os compartilhamentos SMB e verificar se poderia fazê-lo funcionar com todas as minhas caixas MACs e Linux, decidi que era hora de organizar o pool 1 (NAS01) em diferentes conjuntos de dados de acordo com o que estou planejando armazenar e como fazer isso. use-o. Criei esses conjuntos de dados usando a GUI.

O resultado é a seguinte estrutura de conjuntos de dados raiz (conforme zfs list):

NAS01/PRIVATE 55.0G 1.62T 20.5G /mnt/NAS01/PRIVATE
NAS01/PRIVATE/Documents 573M 1.62T 573M /mnt/NAS01/PRIVATE/Documents
NAS01/PRIVATE/Fotos 33.9G 1.62T 33.9G /mnt/NAS01/PRIVATE/Fotos
NAS01/PUBLIC 16.9G 1.62T 96K /mnt/NAS01/PUBLIC
NAS01/PUBLIC/Library 57.6M 1.62T 57.6M /mnt/NAS01/PUBLIC/Library
NAS01/PUBLIC/Movies 15.5G 1.62T 15.5G /mnt/NAS01/PUBLIC/Movies
NAS01/PUBLIC/Music 1.05G 1.62T 1.05G /mnt/NAS01/PUBLIC/Music
NAS01/PUBLIC/Software 299M 1.62T 299M /mnt/NAS01/PUBLIC/Software
NAS01/pre2012 71.3G 1.62T 71.3G /mnt/mnt/pre2012
S500 268G 178G 136K /mnt/S500
S500/SharedScratch 196G 178G 196G /mnt/S500/SharedScratch
S500/pre2012 71.4G 178G 71.3G /mnt/pre2012

SharedScratch tem funcionado bem em SMB em minha rede - enquanto eu usei apenas acesso à conta de convidado e ninguém: ninguém possui propriedade. Mas isso é outra história.

Atualmente, oestrutura do S500/pré2012(ou melhor, de seu ponto de montagem) é:

/mnt//pre2012/120/30/home/
/mnt//pre2012/120/30/MatLab6.5/
/mnt//pre2012/120/80/home/
/mnt//pre2012/120/80/O/
/mnt//pre2012/120/80/usr/
/mnt//pre2012/250/48/home/
/mnt//pre2012/250/80win/

Ele também tinha outras pastas como Música que eu consegui mv(sem muita dor) para NAS01/PUBLIC/Music, digamos.

Todas essas pastas em S500/pre2012 pertencem ao usuário admin. É o único usuário adicional que criei.

Meu problema parece estar relacionado a questões de privilégios, embora eu tenha feito sudo no root ao emitir comandos como o seguinte:

root@freenas[/mnt/S500/pre2012]#mv 120 /mnt/NAS01/PRIVATE/Documents
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/Apoptosis: Operation not permitted
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/.Designability.March.2005.tex.swp: Operation not permitted
mv: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/NMR: File exists
mv: /bin/cp 120 /mnt/NAS01/PRIVATE/Documents/120: terminated with 1 (non-zero) status

Opermissões de pastassão:

root@freenas[/mnt/S500/pre2012/120]# ll ; ll /mnt/NAS01/PRIVATE/Documents/120
total 26
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ./
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ../
drwxr-x---+ 3 admin admin uarch 3 Sep 22 21:14 30/
drwxr-x---+ 5 admin admin uarch 5 Sep 14 15:56 80/
total 2
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 ./
drwxrwx---+ 3 admin admin uarch 4 Sep 22 21:57 ../
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 30/

Como você pode ver, o movimento não conseguiu copiar tudo, embora tenha copiado alguma coisa! Isso é ainda mais preocupante porque é uma mudança!

Aqui algunspermissões de pastas de destino:

root@freenas[~]# ls -lF /mnt/NAS01
total 9
drwxr-xr-x+ 5 admin admin 6 Sep 22 19:16 PRIVATE/
drwxrwx---+ 6 root wheel 6 Sep 22 15:30 PUBLIC/

root@freenas[~]# ls -lFd /mnt/NAS01/*/*
drwxrwx---+ 3 admin admin 4 Sep 22 21:57 /mnt/NAS01/PRIVATE/Documents/
drwxrwx---+ 15 admin admin 19 Sep 22 20:37 /mnt/NAS01/PRIVATE/Fotos/
drwxrwx---+ 2 nobody admin 4 Sep 22 21:03 /mnt/NAS01/PUBLIC/Library/
drwxrwx---+ 5 nobody admin 38 Sep 22 20:13 /mnt/NAS01/PUBLIC/Movies/
drwxrwx---+ 17 nobody admin 36 Sep 22 20:41 /mnt/NAS01/PUBLIC/Music/
drwxrwx---+ 9 nobody admin 9 Sep 22 21:09 /mnt/NAS01/PUBLIC/Software/

Todos os conjuntos de dados filhos de PRIVATE e PUBLIC estão sendo compartilhados via SMB. O primeiro deve estar acessível apenas ao usuário administrador. Daí essas permissões/propriedades.

Minhas perguntas: como posso usar mvaqui de forma confiável para preencher esses conjuntos de dados?Não entendo como usar zfs send/ recv para copiar dados em um conjunto de dados/pasta específico. É por isso que inicialmente, quando tentei, acabei com uma cópia do pré-2012 em /mnt/mnt/ que a GUI não me permite usar como compartilhamento. Daí meu uso mv.

Além disso, como estou tentando classificar diferentes pastas do conjunto de dados original em diferentes conjuntos de dados dst, não consigo ver como o zfs send/recv pode fazer isso. Isso é possível?

Estou um pouco frustrado neste momento. Ou fiz coisas totalmente erradas ou estou perdendo uma ideia fundamental de como o FreeNAS deve ser usado... ou ambos :-/ Em qualquer caso, não esperava que preencher o servidor com dados fosse tão complicado.

Novamente, isso foi logo após minhas primeiras 1,5 semanas brincando com o FreeNAS. Desculpe pela postagem longa.

Estou preso agora. Qualquer dica será apreciada.

Desde já, obrigado.

Responder1

Resolvido... tipo de.

Pelo que aprendi em tópicos comoesse,esseeessepoderia ter sido uma combinação de problemas:

  1. Ao criar o conjunto de dados, selecionei como tipo SMBem vez deGeneric. Tudo bem para um compartilhamento de samba, mas tem um preço: o FreeNAS imediatamente atribui um case sensitivemodo a ele e não é possível alterá-lo.
  2. chmod vs smb acl: as coisas feitas no nível CLI (chmod) não são iguais/totalmente compatíveis com o que a GUI faz.
  3. Se estiver usando, rsyncvocê pode querer usá-lo comorsync -A --no-perms .... Esta não é uma opção que eu conhecia (não disponível no OSX, por exemplo). O que -Afunciona é funcionar bem com as entradas da ACL.
  4. Certifique-se de fazer o sudo para fazer root comosudo su -l

Minha solução final foi refazer algumas das pastas onde desejo diferenciar maiúsculas de minúsculas, por exemplo,PRIVATE/Documents e compartilhe-o como um compartilhamento NFSversão 4 e forçar todos os usuários a montá-lo como (o nome de usuário que você atribuiu a este compartilhamento -admin no meu caso); o mesmo para o grupo.

Isso permite atribuir o tipo de conjunto de dados como generice então case sensitive. Também parece mais rápido que um compartilhamento SMB.

Pode não ser o ideal. Mas como o uso principalmente com Mac e Linux (raramente Windows), isso parece bom.

Montei o compartilhamento através do cli no meu Mac: mount -t nfs nas:/mnt/NAS01/PRIVATE/Documents ~/Desktop/NFS. Não tentei usar Finder( Go to Server...) na primeira vez (veja PS não abaixo).

O Findertraduz essa pasta da área de trabalho NFS -> Documents. No entanto, no cli, você ainda o vê como NFS.

PS: Esta foi minha segunda tentativa de configurar um compartilhamento NFS e usar um cliente Mac, tudo parece ok até agora. Não vi o problema estranho da primeira vez, onde o localizador entra em loop infinito ao copiar um arquivo para o compartilhamento e começa a criar cópias infinitas dele

insira a descrição da imagem aqui

informação relacionada