Estou experimentando opções de montagem para um programa que estou escrevendo. Estou executando o Linux Mageia 2.
Eu adicionei a seguinte linha a /etc/fstab
/dev/sr0 /mem auto user,noauto, 0 0
e removi todas as outras entradas referentes a /dev/sr0
, que é o dispositivo da minha unidade de DVD.
Então, agindo como usuário normal, posso com sucesso
$ mount /dev/sr0
mas eu recebo uma mensagem de erro ("Somente root pode ...") para
$ umount /dev/sr0
É claro que o dispositivo não está ocupado: não faço nada entre montar e desmontar.
Adicionado após a resolução : Se você estiver interessado apenas em resolver esse problema, pode pular o restante da pergunta e ir diretamente para a resposta aceita.
O resto da questão é sobre o meu trabalho para encontrar uma solução ou documentar melhor o problema. No entanto, há uma seção post-mortem no final da pergunta que complementa a resposta com minhas próprias observações.
Propriedade dos arquivos:
$ ls -ld /mem /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 mai 14 01:01 /dev/sr0
drwxr-xr-x 12 root root 4096 janv. 21 22:34 /mem/
E eu sou um membro do grupo "cdrom"
Eu tenho o mesmo problema ao montar uma imagem do sistema de arquivos com um dispositivo de loop.
No entanto, tudo funciona bem quando eu substituo "user" pela opção "users", o que parece indicar que o sistema está confuso ao lembrar quem montou o sistema de arquivos.
A primeira resposta de Rahul Patil não traz mais discernimento, uma vez que é essencialmente equivalente ao que usei, se meu entendimento do procedimento de desmontagem estiver correto. No entanto, levo-me a pensar mais sobre este processo (por conseguinte, um upvote) e para obter mais detalhes. Isso foi ainda mais apoiado pelo comentário de Hauke Laging. Pelo que entendi, sumariamente, o comando umount leva seu argumento (um dispositivo ou um ponto de montagem) e tenta identificar entradas aplicáveis em /etc/mtab
e, em seguida, verifica com /etc/fstab
se ele pode executar a solicitação.
De acordo com a página man do mount (8) , o nome do usuário de montagem [deve ser] escrito para o mtab para que ele possa desmontar o sistema de arquivos novamente.
Quando eu verifico /etc/mtab
após a montagem, não há tal informação escrita que eu possa encontrar. Eu não sei como é suposto ser armazenado e como deve ser.
Por isso, o problema é realmente com mount
em vez de com umount
.
Para ter certeza absoluta de que o problema não é que outra /etc/fstab
entry seja usada para montagem (o que explicaria a ignorância da opção "user"),
Excluí todas as outras entradas em /etc/fstab
, mantendo apenas a linha única no início da minha pergunta. Então eu repeti a sequência do mount-humount, infelizmente com o mesmo resultado.
$ grep sr0 /etc/mtab
/dev/sr0 /mem udf ro,nosuid,nodev,noexec,relatime,utf8 0 0
$ mount | grep sr0
/dev/sr0 on /mem type udf (ro,nosuid,nodev,noexec,relatime,utf8)
O Hauke Laging pediu ls -l /etc/mtab
, o que eu acho que foi um erro e que ele estava realmente pedindo por cat /etc/mtab
. Mas eu fiz mesmo assim ...
$ ls -l /etc/mtab
lrwxrwxrwx 1 root root 12 juin 25 2012 /etc/mtab -> /proc/mounts
$ ls -l /proc/mounts
lrwxrwxrwx 1 root root 11 mai 19 13:21 /proc/mounts -> self/mounts
$ ls -l /proc/self/mounts
-r--r--r-- 1 myself mygroup 0 mai 19 13:22 /proc/self/mounts
Esta última informação me surpreendeu. Embora eu seja essencialmente o único usuário nesse computador, não vejo razão para que esse arquivo pertença a mim ou a qualquer outro usuário que não seja o próprio root. Muito obrigado Hauke, mas por que você fez essa pergunta?
Na verdade, o arquivo não pertence a mim. Eu acho que deve ser um arquivo virtual. Repeti o pedido como utilizador "amigo" e depois como "raiz":
$ ls -l /proc/self/mounts
-r--r--r-- 1 friend users 0 mai 19 14:10 /proc/self/mounts
# ls -l /proc/self/mounts
-r--r--r-- 1 root root 0 mai 19 14:10 /proc/self/mounts
Eu gostaria de receber qualquer sugestão sobre qual poderia ser o problema ou para experimentos.
Obrigado
Post-mortem : aqui estão algumas observações finais depois que o problema foi resolvido pela Hauke Laging.
Eu segui na web a liderança da explicação de Hauke.
Aparentemente, este é um problema antigo. Isso é explicado em um documento antigo de outubro de 2000 , mencionando alguns problemas com outras opções, mas não user
.
Espero que alguns dos problemas de confiabilidade do kernel estejam corrigidos agora.
O problema é mencionado brevemente na seção de bugs da mount
man page
mas não com detalhes suficientes, especialmente em relação a configurações alternativas e efeitos nas opções.
No entanto, a perda na página do manual é a seguinte:
When the proc filesystem is mounted (say at /proc), the files
/etc/mtab and /proc/mounts have very similar contents. **The
former has somewhat more information, such as the mount options
used**, but is not necessarily up-to-date (cf. the -n option
below). It is possible to replace /etc/mtab by a symbolic link to
/proc/mounts, and especially when you have very large numbers of
mounts things will be much faster with that symlink, but **some
information is lost that way, and in particular using the "user"
option will fail**.
Certamente teria sido útil ter uma sugestão sobre isso, onde a opção user
é descrita, que é o primeiro lugar que eu procurei.