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

18

Eu sei que existem perguntas semelhantes, mas eu tenho alguns problemas específicos que não posso superar.

Eu tenho:

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

Eu quero:

Por fim, preciso de um perma-mount /dev/sdb2 para /home/storage com direito de acesso (rw) para o usuário media .

Problemas que estou enfrentando:

1) Usando a montagem manual a partir da linha de comando.

Se eu apenas usar

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

É montada, mas o /home/storage recebe raiz como proprietário e grupo e não permite que o usuário media escreva lá.

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

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

2) Remontando na reinicialização - usando fstab

Então eu pensei que ficaria bem se eu usar fstab para montar esta partição ( /dev/sdb2 ) toda vez que eu reiniciar. A linha fstab que adicionei:

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

recebeu o uuid com blkid . O tipo fs auto i mudou algumas vezes ... tentei vfat também, mas sempre na reboot o ubuntu para quando processa fstab (como eu acho) com a mensagem (retirada 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 -a nunca faz nada de verdade.

O que estou fazendo de errado? Eu suspeito que estraguei alguma coisa:)

ATUALIZAÇÃO:

Como parece - o fstab deve conter apenas montagens para drives estáticos, não qualquer tipo de material usb. Estou intrigado como isso funciona com todas as pessoas postando na rede 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 fstab - que como?:)

    
por GeekSince1982 04.02.2013 / 14:26

3 respostas

19

Seu problema parece ser sobre as permissões que você definiu. Unidades formatadas em FAT / FAT32 não suportam permissões de arquivos. As permissões para tudo são determinadas pela maneira como a unidade é montada. Quando você definir a permissão aberta, funcionou quando você

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

Quanto a isso, não monta automaticamente na reinicialização

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

O "noauto" faz isto NÃO montar 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 depois de montado com chmod ou especificá-las em / etc / fstab.

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

veja link para alguns exemplos de permissões de arquivo propício

Em uma nota lateral, bodhi.zazen fez um bom ponto Existe alguma razão pela qual você precisa usar o FAT? Se não, eu faria backup dos dados e usaria um sistema de arquivos nativo do Linux. Você pode definir a propriedade e as permissões.

    
por CacheXT 11.12.2013 / 13:39
4

A menos que seja substituído pelas opções de montagem, GID = ou UID = o proprietário e as permissões de o ponto de montagem na montagem se torna o da árvore do sistema de arquivos montado.

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

Começando, temos uma pasta vazia 'backup' para servir como ponto de montagem, e é de propriedade de 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ê tem uma unidade vazia e deseja montá-la para 'usuário' como extensão do espaço em disco do usuário, montar a unidade como root, chown a raiz do a montagem para 'usuário' e desmontar.

Na próxima vez que o sistema de arquivos for montado (por root ou qualquer um como fstab), o o proprietário da montagem será 'usuário'.

    
por user555425 10.06.2016 / 06:37
2

Você também pode executar

sudo chmod 0777 /home/storage

Como as unidades FAT não possuem permissões, o Linux aplica a permissão do ponto de montagem a toda a unidade.

    
por Zane Hooper 25.03.2015 / 13:15