Mount cifs Network Drive: permissões de gravação e chown

74

Eu tenho acesso a uma unidade de rede cifs. Quando eu o monto sob minha máquina OSX, posso ler e escrever de e para ele.

Quando montei a unidade no Ubuntu, usando:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

Não consigo escrever na unidade de rede, mas posso ler a partir dela. Verifiquei as permissões e o proprietário da pasta de montagem, elas 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 entro mais fundo na unidade de rede e altero a propriedade para lá, 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?

    
por Vincent 15.03.2013 / 16:37

2 respostas

101

Você está montando o compartilhamento CIFS como root (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 sob uma pasta que o usuário possui), você terá as credenciais adequadas para gravar arquivo (por exemplo, montar a pasta compartilhada em algum lugar diretório inicial, como por exemplo $HOME/netshare/ . Obviamente, você precisaria criar a pasta antes de montá-la).

Uma alternativa é especificar o ID do usuário e do grupo que o compartilhamento de rede montado deve usar, isso permitiria que determinado usuário e potencialmente grupo gravassem no compartilhamento. Adicione as seguintes opções à sua montagem : uid=<user>,gid=<group> e substitua <user> e <group> respectivamente pelo seu próprio usuário e grupo padrão, que você pode encontrar automaticamente com o comando id .

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

Se o servidor estiver enviando informações de propriedade, talvez seja necessário adicionar as opções forceuid e forcegid .

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu
    
por 15.03.2013 / 16:55
16

Eu testei o seguinte comando com sucesso:

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win
    
por 01.08.2013 / 16:05