Como criar uma partição ext4 para todos os usuários?

4

Eu sei que isso soa como uma pergunta do público, mas eu tentei o seguinte e não ajudou:

Minha unidade está montada em

/media/data

então eu entrei

sudo chown -R :users /media/data

No entanto, ainda não consigo escrever nessa partição como usuário. Eu também tentei fazer uma entrada no / etc / fstab

UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0

mas depois disso, meu computador não pôde inicializar mais porque não encontrou o disco.

Eu tenho o Ubuntu 14.04 Server instalado. A partição está listada em /dev/nvmeOn1p1 e não aparece no /etc/fstab (veja fotos abaixo).

(o dispositivo é um SSD de 800GB "Intel DC P3700")

observação adicional: Como a partição está vazia, eu também poderia formatá-la e recriá-la usando o gparted, por exemplo. Existe uma maneira no gparted ou outros programas gui para especificar que a partição deve ser utilizável por todos os usuários?

    
por mcExchange 19.02.2015 / 09:45

3 respostas

1

Eu finalmente resolvi o problema. Eu descobri que eu tinha um erro de digitação no meu UUID. Então, minha entrada final em fstab foi:

UUID=... /media/data ext4 defaults 0 0

ou melhor:

/dev/sdb1 /media/data ext4 defaults 0 0

Eu verifiquei antes de reiniciar, simplesmente ligando:

sudo umount /media/data
sudo mount -a

Se a entrada do fstab estiver correta, tudo será montado corretamente e todos os usuários do computador terão acesso à partição (pelo menos para as pastas que ele criou, que é o comportamento correto).

Um gato faz

sudo chown -R UserNameOfSudo:users /media/data 
sudo chmod -R g+rw /media/data 

enquanto a partição ainda está montada para garantir que todos possam acessar a partição.

Se você fizer o ´chown´, certifique-se de que o usuário específico faça parte do grupo "users" digitando:

sudo adduser yourSpecificUsername users

e faça logout e faça o login novamente!

Editar
A partição após a montagem por padrão é de propriedade do root. Isso parece impedir que alguém grave na partição. Alterar o proprietário para "UserNameOfSudo" após a montagem como mostrado acima produz o comportamento desejado.

Edit2
No caso de compartilhar o computador entre usuários locais e usuários LDAP, uma solução é dar todos os direitos a todos:

sudo chmod 777 /media/data

e, em seguida, para definir um 'sticky bit', o que significa que apenas o usuário que criou uma pasta / arquivo pode excluí-lo. Que adiciona alguma segurança sensata:

sudo chmod o+t /media/data/
    
por mcExchange 11.03.2015 / 20:14
6

Talvez você esteja fazendo as coisas na ordem errada. Quando você cria um sistema de arquivos com mkfs.ext4 , tudo dentro dele pertence ao usuário root e root do grupo com o conjunto de permissões padrão do sistema.

Quando você monta esse sistema de arquivos em um diretório, vê as permissões e o proprietário do sistema de arquivos, independentemente do proprietário original e das permissões nesse diretório.

Então, fazer algo assim não funciona:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
sudo mount /dev/some/data /media/data

A coisa certa a fazer é criar o sistema de arquivos, montá-lo e então alterar as permissões e a propriedade nele. Não importa o que você faça em / etc / fstab.

O jeito certo de fazer isso é:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo mount /dev/some/data /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data

Isso deve responder sua pergunta. Se você precisar de mais detalhes, continue lendo.

Para entender melhor o que acontece, vamos experimentar um pouco com um arquivo de imagem

Crie um arquivo vazio para formatar e montar usando fallocate -l 100MB /tmp/filesystem.img . Em seguida, formate-o como um sistema de arquivos ext4 com sudo mkfs.ext4 /tmp/filesystem.img (não é um dispositivo de bloco, mas se você responder sim, pode colocar um sistema de arquivos ext4 funcionando de qualquer maneira) e crie um diretório para usar como ponto de montagem mkdir /tmp/experiment .

Agora, tente alterar o proprietário e as permissões nessa direção com sudo chown -R :users /tmp/experiment e sudo chmod -R g+rw /tmp/experiment e verifique as permissões com ls -la /tmp/experiment . Você terá algo assim:

 ls -la /tmp/experiment/
 total 0
 drwxrwx--x 2 gerlos users  40 feb 19 10:37 .
 drwxrwxrwt 8 root   root  180 feb 19 10:38 ..

Isso lhe diz que / tmp / experiment é de propriedade do usuário gerlos e usuários do grupo, e os membros do grupo podem ler, escrever e executar nele. Você pode colocar arquivos nele, por exemplo, com touch /tmp/experiment/somefile .

Agora monte o sistema de arquivos nesse diretório com sudo mount /mnt/filesystem.img /tmp/experiment e veja novamente ls output:

$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root  1024 feb 19 10:41 .
drwxrwxrwt 8 root root   180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found

Como você pode ver, agora / tmp / experiment parece ser de propriedade do root, com permissões diferentes! Por quê? Porque não estamos olhando para o / tmp / experiment em si, mas no diretório raiz do sistema de arquivos contido em /mnt/filesystem.img, montado em / mnt / experiment.

Além disso, seu usuário normal não poderá colocar arquivos com touch /tmp/experiment/anotherfile .

Se você tentar executar novamente chown e chmod acima, você alterará o proprietário e as permissões não no ponto de montagem, mas no sistema de arquivos montado , e seus usuários ser capaz de usar o sistema de arquivos. Para confirmar essa olhada na saída ls uma última vez:

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users  1024 feb 19 10:41 .
drwxrwxrwt 8 root root    180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found

Como você pode ver, agora os membros do grupo de usuários podem colocar arquivos no sistema de arquivos! Na verdade, nada impede que seu usuário normal crie um novo arquivo com touch /tmp/experiment/myfile :

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root   users   1024 feb 19 11:05 .
drwxrwxrwt 8 root   root     180 feb 19 11:02 ..
drwxrw---- 2 root   users  12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos     0 feb 19 11:02 myfile

Missão cumprida! : -)

    
por gerlos 19.02.2015 / 11:07
-1

É manual - "Como criar partição EXT4" link

Depois, você pode adicioná-lo no FSTAB. Adicione o próximo texto no final do arquivo / etc / fstab:

/dev/nvme0n1p1    /media/data    ext4    defaults    0    2

Onde /dev/nvme0n1p1 - seu dispositivo físico, /media/data - seu ponto de montagem.

Após usar o comando mount -a para montar toda a partição no FSTAB.

    
por Petro Pikh 19.02.2015 / 09:58