Eu tenho acesso a uma unidade de rede CIFS. Quando o montei na minha máquina OSX, posso ler e escrever de e para ele.
Quando monto a unidade no ubuntu, usando:
sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu
Não consigo gravar na unidade de rede, mas posso ler a partir dela. Eu verifiquei as permissões e o proprietário da pasta mount, eles se parecem com:
4.0K drwxr-xr-x 4 root root 0 Nov 12 2010 Mounted_folder
Não consigo alterar o proprietário, porque recebo o erro:
chown: changing ownership of `/Volumes/Mounted_folder': Not a directory
Quando desço mais fundo na unidade de rede e altero a propriedade, recebo o erro de não ter permissão para alterar o proprietário da pasta.
O que devo fazer para ativar minha permissão de gravação?
noperm
opção de montagem descrita de maneira semelhante na minha resposta a esta pergunta: unix.stackexchange.com/a/375523/16287 . Isso dará a todos os usuários acesso de leitura e gravação à montagem CIFS.Respostas:
Você está montando o compartilhamento CIFS como raiz (porque usou
sudo
), portanto não pode escrever como usuário normal. Se sua distribuição Linux e seu kernel forem recentes o suficiente para que você possa montar o compartilhamento de rede como um usuário normal (mas em uma pasta que o usuário possui), você terá as credenciais adequadas para gravar o arquivo (por exemplo, monte a pasta compartilhada em algum lugar na sua diretório inicial, como por exemplo$HOME/netshare/
. Obviamente, você precisaria criar a pasta antes de montá-la).Uma alternativa é especificar o usuário e o ID do grupo que o compartilhamento de rede montado deve usar, isso permitiria que esse usuário em particular e o grupo potencial gravassem no compartilhamento. Inclua as seguintes opções em sua montagem :
uid=<user>,gid=<group>
e substitua<user>
e<group>
respectivamente por seu próprio usuário e grupo padrão, que você pode encontrar automaticamente com oid
comandoSe o servidor estiver enviando informações de propriedade, pode ser necessário adicionar as opções
forceuid
eforcegid
.fonte
domain
. Algo assim:sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu
Na verdade, o domínio pode ir na opção "nome de usuário", mas lembre-se de que você deve usar em/
vez de`, like
nome de usuário = DOMAIN / user.name`.//192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
username
é o login remoto para autenticação. Ouid
é o ID do usuário local em que você deseja tirar uma soneca de todos os arquivos / pastas. Portanto, o nome de usuário é dissociado do uid, o nome de usuário é o login do usuário remoto enquanto o uid é seu ID de usuário local. Observe que pode ser a mesma coisa se seu servidor for Samba e você usar um LDAP ou outra conta centralizada no cliente e no servidor :-).Testei o seguinte comando com sucesso:
fonte
man mount.cifs