Como posso definir automaticamente as permissões de gravação na montagem de uma unidade usb no linux?

17

Quando montei uma unidade usb externa no linux (CentOs4), as permissões são, por padrão, definidas como somente leitura. Como há vários usuários no computador que precisam usar a unidade externa, desejo que todos tenham rw de permissão para toda a unidade. Eu também quero que eles sejam capazes de montar a unidade se o computador foi acidentalmente desligado. Eles podem usar sudo mount para montar a unidade, mas isso só lhes dará permissão de leitura, e eu obviamente não quero permitir sudo chmod .

Existe uma configuração padrão que eu possa alterar para que todos os novos discos usb externos recebam automaticamente rw de permissões?

    
por Jonas 15.08.2010 / 04:35

3 respostas

17

Para permitir que todos acessem rw, a chave é umask = 0 opção para montar o comando.

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0 é suficiente, uid e gid apenas para maior clareza, para que você não veja mais donos de 'root' do que necessariamente.

@ A resposta de Tom (escrevendo / etc / fstab) permitirá que você pule sudo e se você escrever umask = 0 como opção adicional, você terá o melhor dos dois mundos:

Tendo isso em / etc / fstab:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

permite que você apenas execute

mount /dev/something

e todos têm acesso a todos os arquivos.

Aqui está a nota técnica, se você deseja saber mais detalhes:

Como man mount diz, 'umask = 0' garantirá que nenhuma regra adicional se aplique ao modo de acesso a arquivos. Para sistemas de arquivos FAT (que são mais usados em discos USB), não há modo de acesso armazenado. Mas o seu processo atual tem algum valor de umask definido, você pode vê-lo se você executar apenas umask no terminal. mount usa isso como padrão e remove o modo de acesso do seu valor umask de todos os arquivos no disco montado. Os valores de umask mais usados são (octal) 022 - nenhum grupo e outro tipo de gravação, e 027 - nenhum grupo escreve, nenhum outro acesso.

    
por 15.08.2010 / 13:26
2

Adicione uma entrada ao / etc / fstab. Aqui está uma entrada que adicionei há apenas algumas horas para a minha unidade USB da Seagate:

UUID = 4ACC734ECC733375 / media / Linux ext3 erros = remount-ro, padrões, usuários, noatime, nodiratime 0 0

A chave aqui é a entrada "usuários" que permite aos usuários montar e desmontar a unidade.

Editar: isso funciona para unidades específicas - não sei se pode ser ativado para unidades all com uma entrada.

    
por 15.08.2010 / 04:47
1

Digite mount . Isso dará o lugar atual em que está. Aqui está minha saída.

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

O último é o meu drive usb automouunted pelo Linux Mint.

Agora digite

sudo umount /dev/sdf1

isso desmontará a unidade

agora remonte corretamente.

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
    
por 26.05.2014 / 19:05