Como compartilhar uma pasta em uma partição NTFS pela rede?

16

Estou no Ubuntu 11.10 e quero compartilhar uma pasta em uma partição NTFS montada automaticamente ( /dev/sda4) pela rede. O objetivo desta rede é compartilhar arquivos entre computadores, pois contém principalmente computadores com Windows. Eu uso essa /dev/sda4partição no Windows 7 e no Ubuntu. Usando o Nautilus, clique com o botão direito do mouse no diretório, clique em 'Opções de compartilhamento' e marque as três caixas de seleção. Porém, quando tento aplicar as configurações, ele diz 'Não foi possível alterar os direitos da pasta "nome da pasta"'.

Eu coloquei a saída de sudo blkide cat /etc/fstababaixo.

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

Como posso compartilhar esta pasta?

Exeleração-G
fonte
Quando você diz "pela rede", como assim, que tipo de computador estará lá? Janelas? Então você precisa de samba, apenas Linux? O NFS é recomendado ... Dê-nos mais informações.
Bruno Pereira
11
Eu acho que as permissões fstabprecisam ser alteradas. Tente o mesmo procedimento com remove gid(não se esqueça de remontar) e diga-nos se ajudou.
Andrejs Cainikovs
Eu atualizei a pergunta. Remoção gidde /etc/fstabmarcas da última olhada linha como esta: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4não está montado na inicialização, sudo mount /dev/sda4 /media/Datafornece-me a seguinte saída:Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exeleration-G 7/11/11

Respostas:

14

Depois de um pouco de pesquisa, encontrei a solução:

Primeiro, tive que me dar a propriedade /dev/sda4e ter que dar groupe othersler e executar permissão. Fiz isso alterando a entrada da partição /etc/fstab.

Para fazer isso, eu tinha que conhecer meu uide gid. Portanto, a primeira coisa que fiz foi escrever o seguinte comando em um terminal:

id $USER

Isso dará uma saída como esta:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

Então agora eu sabia que tanto o meu uidquanto o meu gideram 1000.

Você já sabe o nome da partição NTFS? Caso contrário, digite este comando em um terminal:

sudo blkid

e anote a partição NTFS em um pedaço de papel.

Agora, para alterar as permissões, editei /etc/fstabcom o nanoeditor de texto. Portanto, o próximo comando que você deve digitar em um terminal é:

sudo nano /etc/fstab

Vá até o fim e digite esta linha:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(Você deve substituir /dev/sda4pela partição NTFS que você anotou anteriormente).

Explicação: umask=0022define as dpermissões de permissão do diretório ( ) drwxr-xr-xpara garantir que o usuário (eu) possa ler, escrever e executar ( rwx) enquanto o groupe otherssó pode ler e executar ( r-x) o diretório, o que eu queria.

Depois disso, eu poderia marcar as três caixas de seleção sem erros, e a pasta seria compartilhada pela rede. Como não tinha certeza se as configurações de compartilhamento seriam mantidas após uma reinicialização, desmarquei as caixas de seleção e adicionei algumas linhas /etc/samba/smb.conf. Eu fiz assim:

Em um terminal, digitei sudo nano /etc/samba/smb.conf

Rolei para baixo até a última linha e colei o seguinte:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

Salvei o arquivo e, em seguida, reiniciei. A pasta estava acessível a partir da rede agora.

Exeleração-G
fonte
11
Brilhante. Como um completo iniciante no Linux / ubuntu, eu bati minha cabeça contra a parede por 2 dias, porque se essa fosse uma máquina Windows, eu a teria feito em 10 minutos.
Patrick
Você pode editar esta resposta com todos os comandos que tinha para escrever, por favor? Não sei se entendi o que você quer dizer com "dar-me propriedade /dev/sda4".
Enrique Moreno Tent
Claro, mas depois, atualize-me se as instruções funcionaram para você. Não estou mais usando uma partição NTFS, portanto não posso verificar sozinho.
Exeleration-G
0

A solução mais simples que posso pensar em nós é usar um link simbólico para a partição NTFS.

Como eu faria isso é:

  • Crie uma pasta na sua partição Ubuntu que você possa compartilhar.
  • Vincule a pasta na partição do Windows a esta pasta:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Defina a pasta pai que você criou para ser compartilhada pela rede, escolhendo as opções extras que desejar (por exemplo, permitindo convidado etc.).
  • Clique em "aplicar permissões a arquivos fechados" na guia de permissões. Nem todas as permissões serão aplicadas, é claro, mas o acesso de leitura deve ser suficiente.

Eu não testei isso sozinho, mas se eu entender o compartilhamento corretamente, ele deverá funcionar.

RolandiXor
fonte
Isso seria ln -s, certo? Experimentando agora.
Exeleration-G
@ Exeleration-G: sim desculpe pelo erro de digitação
RolandiXor
11
Isso não funcionou para mim, obrigado.
Exeleration-G
0

basta montar o ntfs dir como:

-o uid=current_user,gid=current_usergroup

obtenha o usuário atual e o grupo de usuários atual, conforme indicado por Exeleration-G:

id MyUserName
ashishsony
fonte