Alterando permissões para arquivos no linux

2

Eu comecei a usar o Linux recentemente para o desenvolvimento de um projeto e atualmente enfrentei alguns problemas com permissões de arquivos nos diretórios.

Eu tenho algumas bibliotecas .so arquivos que preciso acessar da pasta /usr/local/lib . Quando eu verifico os arquivos manualmente na pasta, os arquivos mostram que não sou o proprietário e root é o proprietário.

No entanto, em um diretório diferente, onde tentei instalar as mesmas bibliotecas em /home/jade/cb/lib/ , se eu verificar as bibliotecas, tenho permissão.

Meu programa C ++ está emperrado, pois não pode acessar as bibliotecas a partir deles. Eu tentei alterar as permissões usando sudo chmod 777 -R *.* enquanto dentro de usr/local/lib , mas as permissões ou qualquer coisa não mudam. Como me livrar desse problema? (Distro: Ubuntu 12.10)

    
por Cipher 25.12.2012 / 17:00

2 respostas

2

A maior parte da fonte que requer que você a construa usa um script de configuração. Esse script de configuração usa um switch chamado --prefix , que aceita um argumento no qual você pode substituir a localização de onde o software será instalado. Normalmente, você substitui o local padrão (geralmente /usr/local ) por um diretório no qual você tem acesso de gravação.

Aqui está um exemplo do aplicativo de software node.js . O software node.js quando baixado e descompactado / descompactado se parece com isto:

[saml@grinchy node-v0.8.12]$ ls
AUTHORS    BSDmakefile  common.gypi  config.mk  deps  lib      Makefile  node.gyp  README.md  test   vcbuild.bat
benchmark  ChangeLog    config.gypi  configure  doc   LICENSE  node      out       src        tools

A execução do script de configuração incluído é assim:

[saml@grinchy node-v0.8.12]$ ./configure --help
Usage: configure [options]

Options:
  -h, --help            show this help message and exit
  --debug               Also build debug build
  --prefix=PREFIX       Select the install prefix (defaults to /usr/local)
  --without-npm         Don't install the bundled npm package manager
  --without-waf         Don't install node-waf
  --without-ssl         Build without SSL
  --without-snapshot    Build without snapshotting V8 libraries. You might
                        want to set this for cross-compiling. [Default: False]
...
...

Se eu quiser alterar o local padrão, posso chamar configure assim:

[saml@grinchy node-v0.8.12]$ ./configure --prefix=/home/saml/my_node.js

O Makefile resultante gerado pelo get agora será direcionado ao meu diretório em vez do padrão, /usr/local .

    
por 25.12.2012 / 17:31
2

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.
However, for each symbolic link listed on the command line, chmod changes the permissions of the
pointed-to file. In contrast, chmod ignores symbolic links encountered during recursive directory traversals.

    
por 25.12.2012 / 17:05