Permissões de Symlink e pasta

0

Digamos que eu queira criar um symlink para uma pasta /media/drive/here (pertencente a um grupo) a uma pasta /home/pepe/private/here
Todas as pastas intermediárias precisam ter o bit x ativado?

O que o computador faz quando de /media/drive eu executo o cd aqui? Faz internamente apenas cd /home/pepe/private/here ? (Eu tive que definir o bit x nesta situação para cada pasta intermediária, para que outros usuários pudessem acessar apenas minha pasta privada aqui, mas ainda não tenho certeza se isso está correto, pensei que apenas as permissões em /home/pepe/private/here são importantes, não seus pais pastas)

    
por dami 03.01.2017 / 22:02

1 resposta

0

Para complementar o comentário do @ Rabin, você pode confirmar isso por stat 'ing root path:

# stat /
  File: '/'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fe01h/65025d    Inode: 2           Links: 23
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-01-03 11:51:24.202486304 +0000
Modify: 2016-06-20 16:31:24.210935643 +0100
Change: 2016-06-20 16:31:24.210935643 +0100
 Birth: -

Se root não tivesse o+x bit definido, você não conseguiria acessar seu diretório pessoal como usuário comum.

Links simbólicos são usados basicamente para manter as coisas simples. Por exemplo, na maioria dos sistemas /lib e /lib64 apontam para a mesma localização exata, caso contrário, essas seriam cópias do mesmo diretório.

Observe também o trecho de man chmod :

chmod never changes the permissions of symbolic links; the chmod system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used.

Portanto, você não pode alterar os privilégios de symlinks e seu usuário deve ter o privilégio de acessar todos os recursos que symilinks está percorrendo.

    
por 03.01.2017 / 22:31