****** Permissoes ******

Para saber se um programa eh executavel ou nao, 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 tb root, com excecao do 'teste.txt' que o dono eh 'killer' e o

grupo eh 'users', e tb 'teste2.doc', no qual 'fernando' eh o dono e o

grupo 'visits' tb eh dono.

Como vc pode ver do lado esquerdo de cada arquivo/diretorio

existe um serie 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 diretorio ou nao, caso nao seja um diretorio ele serah

exibido da seguinte maneira:

 

-rwxr--r-- 1 root root 57 Mar 10 03:44 make-backup

|

\-----------> Nao contem a letra 'd', nao eh diretorio, e sim arquivo!!!

 

O exemplo abaixo mostra o que seria um diretorio:

 

drwxr--r-- 1 root root 1 Mar 10 01:12 bin

|

\-----------> Contem a letra 'd' na primeira coluna, eh um diretorio!!!

 

Continuando, na segunda coluna (numeros 1 de acordo com o exemplo mais

acima) temos as definicoes 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

laaaaaahhh em cima, eheh) temos as definicoes para o grupo que eh 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 permicoes 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 usuarios (exceto fernando e usuarios do grupo visits)

|| tem permissao para acessar o arquivo!

|\---> Todos os usuarios (exceto fernando e usuarios do grupo visits)

| tem permissao para gravar no arquivo!

\----> Todos os usuarios (exceto fernando e usuarios do grupo visits)

tem permissao para ler o arquivo!

 

Quando nos referimos a diretorio inves de arquivos, o FLAG x

(executavel) diz se o diretorio eh ou nao acessivel, jah que nao podemos

"EXECUTAR" diretorios... Exemplo:

 

drwxr--r-- 1 root root 2134 Mar 01 12:54 exemplo3

||||| |

||||| \----> Todos os usuarios podem ler o interior do diretorio, mas nao

||||| podem usar o comando 'cd' para entrar nele, pois nao existe

||||| o FLAG 'x' para a quarta coluna!

||||\-------> Usuarios do grupo 'root' podem ler o interior do diretorio,

|||| mas tb nao podem usar 'cd' para entrar no diretorio!

|||\--------> O usuario 'root' pode usar 'cd' para entrar no diretorio!

||\---------> O usuario 'root' pode gravar arquivos nesse diretorio!

|\----------> O usuario 'root' pode ler o interior desse diretorio!

\-----------> Indica que o nome listado e' um diretorio!

 

O comando chmod pode ser usado para mudar os FLAGS 'rwx' dos

arquivos e/ou diretorios, a sintaxe basica eh:

 

chmod [ugoa]{-+}[rwx] nome_do_arquivo_ou_diretorio

 

Exemplo:

 

chmod u+rw arquivo1.txt

 

No exemplo vc mudara' a permissao para o dono do arquivo (u =

user) pode ler e gravar (rw) no 'arquivo1.txt'...

Caso vc queira desfazer o comando, vc 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 usuarios (a=all) podem ler o 'arquivo2.txt')

chmod o+w arquivo3.txt (Outros usuarios (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 tb ser usado com numeros, em vez dos flags,

como mostra o exemplo:

 

chmod 664 arquivo.txt

 

O que quer dizer cada um desses numeros? Veja abaixo:

 

0 = nenhuma permissao

1 = permissao para executar

2 = permissao para gravar

3 = permissao para gravar e executar

4 = permissao para ler

5 = permissao para ler e executar

6 = permissao para ler e gravar

7 = permissao 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

tb ser lido e gravado pelos usuarios que compoem o grupo-dono (numero 6

na segunda coluna), e informou que pode ser lido por todos os outros

usuarios do sistema (numero 4 na ultima coluna).

O comando chown e' simples e pode ser usado da seguinte maneira:

 

chown usuario.grupo nome_do_arquivo_ou_diretorio

 

Como exemplo, vamos definir que um arquivo 'teste4.txt' tera'

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