Copyright© 1998 Hugo Cisneiros, [email protected]
Versão 3.4

Logo to the Linux Manual



Para saber se um programa é executavel ou não, execute um 'ls -l' e veja
no lado esquerdo se o arquivo tem X nos seus argumentos, como
no exemplo abaixo:

drwxr-xr-x   2 root     root         1024 Dec 23 15:22 bin
drwxr-xr-x   2 root     root         1024 Dec 31 05:48 boot
drwxr-xr-x   2 root     root         1024 Dec  6 15:51 cdrom
drwxr-xr-x   3 root     root         8192 Mar 11 10:17 dev
drwxrwxr-x   2 root     root         1024 Feb 27 13:52 dosa
dr-xr-xr-x  11 root     root         2048 Mar 11 10:19 etc
drwxr-xr-x  11 root     root         2048 Feb 23 19:08 home
drwxr-xr-x   3 root     root         1024 Feb 23 19:13 lib
drwxr-xr-x   2 root     root        12288 Nov  2 11:25 lost+found
-rwxr--r--   1 root     root           57 Mar 10 03:44 make-backup
-rw-rw-r--   1 killer   users        2342 Mar 10 03:12 teste.txt
-rw-rw-rw-   1 fernando visits      23412 Mar 09 22:22 teste2.doc

        No exemplo acima todos os arquivos tem como dono root e como 
grupo também root, com exceção do 'teste.txt' que o dono é 'killer' e o 
grupo é 'users', e também 'teste2.doc', no qual 'fernando' é o dono e o 
grupo 'visits' também é dono.
        Como você pode ver do lado esquerdo de cada arquivo/diretório 
existe um série de letras r, w, x ou d! Vamos ver o que representa cada 
uma delas:

drwxrwxrwx
0111222333

        No caso acima, a primeira coluna significa (numero 0) se o nome 
listado eh um diretório ou não, caso não seja um diretório ele será 
exibido da seguinte maneira:

-rwxr--r--   1 root     root           57 Mar 10 03:44 make-backup
|
\-----------> Não contém a letra 'd', não é diretorio, e sim arquivo!!!

        O exemplo abaixo mostra o que seria um diretório:

drwxr--r--   1 root     root            1 Mar 10 01:12 bin
|
\-----------> Contém a letra 'd' na primeira coluna, é um diretório!!!

        Continuando, na segunda coluna (numeros 1 de acordo com o exemplo mais 
acima) temos as definições para o dono do arquivo, como mostra o exemplo:

-rwxr--r--   1 killer   users        1231 Mar 09 12:12 teste.txt
 |||
 ||\--------> O dono do arquivo (killer) pode executar o arquivo, x=executable!
 |\---------> O dono do arquivo (killer) pode gravar no arquivo, w=writable!
 \----------> O dono do arquivo (killer) pode ler o arquivo, r=readable!

        Seguindo, na terceira coluna (numeros 2 de acordo com o exemplo 
lááááááááá em cima, hehe) temos as definições para o grupo que é dono do 
arquivo, como mostra o exemplo:

-r--rwxr--   1 fernando visits        212 Mar 01 12:42 exemplo.doc
    |||
    ||\-----> O grupo dono do arquivo (visits) pode executar o arquivo!
    |\------> O grupo dono do arquivo (visits) pode gravar no arquivo!
    \-------> O grupo dono do arquivo (visits) pode ler o arquivo!

        Finalmente, temos a quarta coluna (composto pelos numeros 3), 
essa coluna se refere as permissões para todos os outros usuarios do 
sistema, sem ser os donos e grupos-donos dos mesmos, exemplo:

-r--r--rwx   1 fernando visits       1231 Mar 03 12:42 exemplo2.doc
       |||
       ||\--> Todos os usuários (exceto fernando e usuarios do grupo visits)
       ||                        tem permissão para acessar o arquivo!
       |\---> Todos os usuários (exceto fernando e usuarios do grupo visits)
       |                         tem permissão para gravar no arquivo!
       \----> Todos os usuários (exceto fernando e usuarios do grupo visits)
                                 tem permissão para ler o arquivo!

        Quando nos referimos a diretório invés de arquivos, o FLAG x 
(executável) diz se o diretório é ou não acessível, já que não podemos 
"EXECUTAR" diretórios... Exemplo:

drwxr--r-- 1 root       root         2134 Mar 01 12:54 exemplo3
|||||  |
|||||  \----> Todos os usuários podem ler o interior do diretório, mas não
|||||         podem usar o comando 'cd' para entrar nele, pois não existe
|||||         o FLAG 'x' para a quarta coluna!
||||\-------> Usuarios do grupo 'root' podem ler o interior do diretório,
||||          mas também não podem usar 'cd' para entrar no diretório!
|||\--------> O usuário 'root' pode usar 'cd' para entrar no diretório!
||\---------> O usuário 'root' pode gravar arquivos nesse diretório!
|\----------> O usuário 'root' pode ler o interior desse diretório!
\-----------> Indica que o nome listado é um diretório!

        O comando chmod pode ser usado para mudar os FLAGS 'rwx' dos 
arquivos e/ou diretórios, a sintaxe básica é:

chmod [ugoa]{-+}[rwx] nome_do_arquivo_ou_diretório

        Exemplo:

chmod u+rw arquivo1.txt

        No exemplo você mudará a permissão para o dono do arquivo (u = 
user) pode ler e gravar (rw) no 'arquivo1.txt'...
        Caso você queira desfazer o comando, você faria:

chmod u-rw arquivo1.txt

        Como se ve, o + ou - define se os FLAGS serao ativados ou desativados!
        Outros exemplos:

chmod a+r arquivo2.txt (Todos usuários (a=all) podem ler o 'arquivo2.txt')
chmod o+w arquivo3.txt (Outros usuários (o=others) sem ser o dono e o grupo
                        dono do arquivo, podem gravar o 'arquivo3.txt')
chmod g+x netscape     (O grupo-dono do arquivo (g=group) pode executar o
                        arquivo 'netscape')

        O comando chmod pode também ser usado com números, em vez dos flags, 
como mostra o exemplo:

chmod 664 arquivo.txt

        O que quer dizer cada um desses números? Veja abaixo:

0 = nenhuma permissão
1 = permissão para executar
2 = permissão para gravar
3 = permissão para gravar e executar
4 = permissão para ler
5 = permissão para ler e executar
6 = permissão para ler e gravar
7 = permissão para ler, gravar e executar

        No exemplo o comando informou que o 'arquivo.txt' pode ser lido e 
gravado pelo seu dono (numero 6 na primeira coluna), informou que pode 
também ser lido e gravado pelos usuários que compõem o grupo-dono (numero 6 
na segunda coluna), e informou que pode ser lido por todos os outros 
usuários do sistema (numero 4 na ultima coluna).
        O comando chown é simples e pode ser usado da seguinte maneira:

chown usuário.grupo nome_do_arquivo_ou_diretório

        Como exemplo, vamos definir que um arquivo 'teste4.txt' terá
como dono 'killer' e como grupo 'users':

chown killer.users teste4.txt

        Outros exemplos:

chown mrdvs.visits teste5.txt
chown jackie.jackie teste6.txt





Índice anterior |  Página Principal