Montar unidade USB com permissões de gravação para todos ou usuários específicos


25

Sei que existem perguntas semelhantes, mas tenho um problema específico que não consigo superar.

Eu tenho:

  • HDD dividido em duas partições. /dev/sdb1e /dev/sdb2. sdb1é NTFS e eu não preciso disso. Eu preciso do sdb2que é fat32.
  • Ubuntu 12.04.1 LTS (servidor)

Eu quero:

Em última análise, preciso de uma montagem permanente /dev/sdb2para /home/storagecom o direito de acesso (rw) para o usuário media.

Problemas que estou enfrentando:

1) Usando montagem manual na linha de comando.

Se eu apenas usar

server# sudo mount /dev/sdb2 /home/storage

É montado, mas /home/storagerecebe o root como proprietário e grupo e não permite que o mediausuário escreva lá.

Se eu usar o mountcomando sem sudocomo usuário media- não sou permitido. Diz que apenas o root pode usar mount.

Se eu usar mountcom opções: server# sudo mount /dev/sdb2 /home/storage -o umask=000recebo o que preciso. Um pouco exagerado, é claro, já que a pasta de armazenamento se torna gravável para todos. MAS - que é montado manualmente - agora eu preciso remontar a cada reinicialização.

2) Remontando na reinicialização - usando fstab

Então eu pensei que ficaria bem se eu usasse fstabpara montar esta partição ( /dev/sdb2) toda vez que eu reiniciar. A fstablinha que adicionei:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

ficou uuid com blkid. O tipo fs autoeu mudei algumas vezes ... tentei vfattambém, mas sempre na reinicialização o ubuntu pára ao processar o fstab (como eu acho) com a mensagem (tirada do log):

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

E também - sudo mount -anunca realmente faz nada.

O que estou fazendo errado? Eu suspeito que eu errei alguma coisa :)

ATUALIZAR:

Como parece - o fstab deve conter apenas suportes para unidades estáticas, não qualquer tipo de dispositivo USB. Estou intrigado de como isso funciona com todas as pessoas que postam na net suas histórias de sucesso ...

no entanto ... se isso não for possível - eu gostaria de saber como remontar meu usb após cada reinicialização ... se não com o fstab -, então como? :)


Eu acho que você deve postar todo o fstab para revisão, e não apenas uma linha. Quanto ao permissões direita, prazo id mediae uso uid=e gid=e umask=027opções.
Mikewhatever

1
Existe algum motivo para você precisar usar o FAT? Caso contrário, eu faria o backup dos dados e usaria um sistema de arquivos nativo linux. Você pode definir a propriedade e as permissões.
Panther

@mikewhatever obrigado, mas ele está trabalhando estranhamente realmente ... well..not realmente :)
GeekSince1982

@ bodhi.zazen fez mais leituras ... costuras como no ubuntu 12 fstab deveriam ter apenas montagens para drives estáticos. Não qualquer usb ...
GeekSince1982

Respostas:


27

Seu problema parece ser sobre as permissões que você definiu. As unidades formatadas em FAT / FAT32 não suportam permissões de arquivo. As permissões para tudo são determinadas pela forma como a unidade é montada. Quando você define a permissão aberta, ela funciona quando você

server# sudo mount /dev/sdb2 /home/storage -o umask=000

Quanto a isso não montagem automática na reinicialização

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

O "noauto" faz com que este NÃO seja montado automaticamente quando o sistema inicia e analisa o arquivo / etc / fstab. Remova essa opção e ela será montada na inicialização. Você pode definir as permissões no ponto de montagem uma vez montado chmodou especificá-las em / etc / fstab.

Se você precisar que o usuário de mídia acesse, poderá definir as permissões para 764 e adicioná-las ao grupo de segurança. Raiz sempre tem acesso a tudo.

consulte http://www.linux.org/threads/file-permissions-chmod.4094/ para obter alguns exemplos de permissões de arquivo propper

Em uma nota lateral, o bodhi.zazen fez uma boa observação Há alguma razão para você precisar usar o FAT? Caso contrário, eu faria o backup dos dados e usaria um sistema de arquivos nativo linux. Você pode definir a propriedade e as permissões.


1
-o umask=000é isso!! Obrigado!
Antony

4

A menos que substituído pelas opções de montagem GID = ou UID =, o proprietário e as permissões do ponto de montagem na montagem tornam-se os da árvore do sistema de arquivos que está sendo montada.

Portanto, se / dev / sdb1 contiver um sistema de arquivos ext4 (digamos, um backup) de propriedade do usuário, o usuário se tornará o proprietário do ponto de montagem após uma montagem bem-sucedida.

Começando, temos uma pasta vazia 'backup' para servir como ponto de montagem e pertence ao root.

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

agora montamos / dev / sdb1 (somente leitura)

# mount -o ro /dev/sdb1 /mnt/backup

e vamos ver ...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

Agora, se você possui uma unidade vazia e deseja montá-la para 'user' como uma extensão do 'espaço em disco do usuário, monte a unidade como root, mostre a raiz da montagem como' user 'e desmonte.

Na próxima vez que o sistema de arquivos for montado (por raiz ou por qualquer pessoa, conforme o fstab), o proprietário do monte será 'usuário'.


3

Você também pode executar

sudo chmod 0777 /home/storage

Como as unidades FAT não têm permissões, o linux aplica a permissão do ponto de montagem a toda a unidade.


1
Nunca aplique R + W + X permissões para cada usuário .. Isso permitiria que alguém ou alguma coisa para acessar, executar, excluir, modificar armazenamento e seu conteúdo ....
irritado 84

1
Na maioria dos sistemas operacionais, as unidades USB são montadas para que qualquer usuário possa modificar o conteúdo. Se você for um administrador de servidores em uma situação em que isso possa ser um problema, não precisarei dizer o que significa 0777.
Zane Hooper

As unidades nunca são montadas por padrão para permitir todos os usuários. É por isso que eles têm grupos e permissões. De qualquer maneira é sempre mais seguro para mostrar um melhor mod de segurança como as pessoas vão simplesmente copiar e colar sem saber melhor
irritado 84

-1

Se você possui um dispositivo de armazenamento externo conectado à sua caixa Linux com NTFS, verifique se o sistema de arquivos está limpo.

Antes de montar o armazenamento na sua caixa Linux:

  1. Execute o comando abaixo

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Reinicie sua caixa do Linux

  3. Monte o armazenamento externo executando o comando:

    mount -o rw /dev/storagedevice /media/ 
    

    ou

    mount -o rw /dev/storagedevice /mnt/ 
    

    ou monte o dispositivo armazenado via GUI.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.