Como colocar um arquivo em uma montagem CIFS?

1

Aqui estão os meus passos:

mkdir /mnt/docs
chown www-data:www-data /mnt/docs
ls -l /mnt

Resultados positivos:

drwxr-xr-x 2 www-data www-data 4096 Jan  6 01:14 docs
drwxr-xr-x 2 root     root     4096 Dec  8 21:46 cdrom

Agora eu montei o compartilhamento remoto com sucesso (eu posso touch arquivos para ele como root) assim

mount -t cifs //192.168.1.10/Public/Documents/Docs -o username=****,password="****" /mnt/docs
ls -l /mnt

Resultados negativos (o proprietário está de volta à raiz):

drwxr-xr-x 2 root root    0 Jan 12 02:51 docs
drwxr-xr-x 2 root root 4096 Dec  8 21:46 cdrom

Eu então tentei chown o symlink assim (com -h)

chown -h www-data:www-data /mnt/docs
ls -l /mnt

Mas os resultados ainda são

drwxr-xr-x 2 root root    0 Jan 12 02:51 docs
drwxr-xr-x 2 root root 4096 Dec  8 21:46 cdrom

Como posso montar o compartilhamento em um ponto de montagem local como um usuário não raiz? O objetivo é permitir que o Apache possa gravar no compartilhamento remoto. Soluções para sistemas Debian ou CentOS são apreciadas. Além disso, chmod como nenhum efeito.

Relacionados: Falha na criação de link simbólico: alteração do problema de propriedade

    
por Drakes 13.01.2017 / 03:09

1 resposta

5

Não sei ao certo qual link simbólico você está se referindo. O que você não consegue alterar é o proprietário de /mnt/docs , o ponto de montagem do seu compartilhamento CIFS. O proprietário do ponto de montagem foi alterado para o usuário que montou algo nele ( root ).

Como somente root é capaz de montar, como você pode alterar o proprietário do ponto de montagem (e seu conteúdo subjacente)? Com as opções uid e gid (e também, se necessário, as opções forceuid e forcegid ).

Veja a página de manual de mount.cifs :

uid=arg

sets the uid that will own all files or directories on the mounted filesystem when the server does not provide ownership information. It may be specified as either a username or a numeric uid. When not specified, the default is uid 0.

Portanto, seu comando mount deve ser:

mount -t cifs \
      -o username=****,password="****",uid=www-data \
      //192.168.1.10/Public/Documents/Docs \
      /mnt/docs
    
por 13.01.2017 / 04:06

Tags