Você está na página 1de 25

Guia de Referências do Linux

A
• adduser - cria um novo usuário.
• alias - permite nomear um conjunto de comandos, a ser executado pelo
sistema, por um único nome.
• apropos - informa quais os comandos do Linux possuem, em sua
definição, uma determinada expressão.
• ar - inclui/atualiza/extrai/deleta arquivos de/em um repositório de
arquivos.
• at - agenda tarefas a serem executadas pelo sistema.
• atq - lista as tarefas agendadas com o comando at.
• atrm - remove tarefas agendadas.
• awk - linguagem de processamento e procura de padrões.

B
• bg - faz um programa, que está executando em primeiro plano, passar a
executar em segundo plano.

C
• cal - exibe um calendário simplificado.
• cat - concatena e/ou exibe um ou mais arquivos.
• cd - altera o diretório atual de trabalho do usuário.
• chfn - altera as informações apresentadas pelo utilitário finger.
• chgrp - altera o grupo de arquivos/diretórios.
• chmod - altera as permissões de acesso de arquivos/diretórios.
• chown - altera o dono e o grupo de arquivos/diretórios.
• chsh - altera o shell padrão do usuário.
• clear - limpa a tela do terminal.
• comandos do linux - explica o formato dos comandos do Linux.
• compress - compacta/descompacta arquivos.
• consoles virtuais - interface do Linux com os usuários.
• cotas de disco - define a quantidade de espaço em disco que cada
usuário pode usar.
• cp - copia arquivos e diretórios.
• crontab - agenda tarefas para serem executadas periodicamente.
• curingas - *, ? e [ ]
• cut - seleciona colunas de um arquivo txt ou da entrada padrão.
• cvs - aplicativo para gerenciamento de código-fonte.

D
• date - exibe ou modifica a data e a hora do sistema.
• dd - converte e copia um arquivo.
• depmod - produz arquivo contendo as dependências de módulo.
• df - mostra o espaço livre das partições.
• diff - compara dois arquivos, em formato texto, linha a linha.
• DISPLAY - variável de ambiente que define onde a saída de uma
aplicação gráfica deve aparecer.
• dmesg - mostra as mensagens da última inicialização do sistema.
• du - informações sobre o uso do disco.
• dvips - converte arquivo .dvi em .ps (PostScript).

E
• echo - mostra o conteúdo dos diretórios.
• edquota - editor do sistema de cotas.
• emacs - editor de textos distribuído pela Free Software Foundation.
• env - executa um programa/comando em um ambiente modificado.
• exit - encerra execução do shell atualmente em uso pelo usuário.
• export - comando do shell que permite configurar e compartilhar
variáveis de ambiente entre diversos programas e bibliotecas acessados
a partir do mesmo terminal.

F
• fdformat - formatação de baixo nível em disquete.
• fdisk - aplicativo utilizado para particionar discos.
• fg - faz um programa, que está sendo executado em segundo plano
(background), passar a ser executado em primeiro plano.
• file - determina o tipo do arquivo.
• find - pesquisa arquivos em uma hierarquia de diretórios.
• finger - exibe informações sobre um usuário.
• fortune - aplicativo que exibe uma citação aleatória.
• free - exibe a quantidade de memória livre/usada no sistema.
• fsck - verifica e repara um sistema de arquivos.
• fuser - identifica os processos que estão usando um determinado
arquivo e/ou diretório.

G
• gcc - compilador de C para Linux.
• gdb - aplicativo para depuração de programas C, C++ e Modula-2.
• getty - configura o modo de funcionamento, velocidade e
comportamento da linha.
• ghostview - aplicativo para visualização de arquivos .ps (PostScript) e
PDF.
• GID - número de identificação de grupo para o kernel do Linux.
• grep - procura padrões em um arquivo.
• groupadd - cria um novo grupo.
• groupdel - deleta um grupo.
• groupmod - modifica um grupo.
• groups - lista os grupos aos quais um usuário pertence.
• grpconv - usa o sistema gshadow para proteger as senhas dos
grupos.
• grpunconv - elimina o uso do sistema gshadow de proteção de
senhas.
• gunzip - descompacta arquivos.
• gv - mesmo que ghostview.
• gzip - compacta/descompacta arquivos.

H
• head - exibe o início de um arquivo texto.
• help - exibe informações sobre um comando.
• hostname - mostra ou muda o nome do computador na rede.
• hwclock - exibe ou modifica a data e a hora do relógio da máquina.

I
• id - identifica os UIDs e GIDs efetivos e reais.
• ifconfig - configura uma interface de rede.
• init - processo de controle da inicialização do sistema.
• inode - identificador de diretório/arquivo em um sistema de arquivos.
• insmod - carrega módulos do kernel na memória do sistema.
• ipcrm - remove recurso ipc (inter-process communication).
• ipcs - fornece informações sobre recursos ipc (inter-process
communication).
• ispell - ferramenta para correção ortográfica.

J
• jobs - mostra os processos executando em segundo plano
(background).

K
• kernel - núcleo do Linux.
• kill - envia um determinado sinal a um processo em execução no
sistema.
• killall - envia um determinado sinal a um conjunto de processos que
usam o mesmo nome.
• kudzu - ferramenta que detecta e configura dispositivos de hardware.

L
• last - exibe todas as informações referentes a entrada (login) e saída
(logout) de usuários do sistema.
• lastlog - exibe informações referentes ao último login de cada usuário.
• latex - gera arquivo .dvi a partir da definição de macros TEX.
• ldconfig - atualiza os links para as bibliotecas compartilhadas.
• less - permite fazer a paginação de arquivos ou da entrada padrão.
• lesskey - personaliza as teclas usadas no paginador less.
• lilo - carregador de inicialização do Linux.
• linux_logo - aplicativo que exibe os logotipos do Linux.
• linuxconf - ferramenta de administração do Linux.
• ln - cria ligações entre arquivos.
• locate - lista os arquivos cujos nomes coincidem com o padrão
informado.
• login - processo responsável por permitir ou não o acesso de usuários
ao sistema.
• lpc - aplicativo para controle de impressão de arquivos.
• lpq - examina o conteúdo da fila de impressão.
• lpr - imprime arquivos.
• lprm - remove arquivos da fila de impressão.
• ls - lista o conteúdo de um diretório.
• lsmod - lista os módulos do kernel que estão carregados na memória.

M
• make - utilitário para verificação e compilação de grupo de arquivos.
• MAKEDEV - script usado para criar/alterar/deletar dispositos em /dev.
• makewhatis - cria a base de dados makewhatis.
• man - formata e apresenta páginas do manual on-line.
• mc - aplicativo para manipulação de arquivos e diretórios.
• mesg - habilita/desabilita o recebimento de mensagens de outros
usuários.
• mingetty - getty mínimo para consoles virtuais.
• mkbootdisk - cria um disco de inicialização (emergência) do sistema.
• mkdir - cria diretórios.
• mke2fs - formata uma partição de disco usando o sistema de arquivos
ext2.
• mkfs - constrói um sistema de arquivos Linux.
• mkswap - configura uma área de troca (swap) do Linux.
• modprobe - carrega módulos e verifica as dependências dos módulos.
• módulos - peças de código de objeto que podem ser carregados em
um kernel em operação.
• more - permite fazer a paginação de arquivos ou da entrada padrão.
• mount - monta sistemas de arquivos.
• mouseconfig - aplicativo para configurar o mouse.
• mpage - permite imprimir várias páginas em uma única folha de papel.
• mt - controla unidades de fita.
• mtools - utilitários para acessar discos DOS no UNIX.
• mv - move (ou altera o nome de) arquivos.

N
• newgrp - muda, temporariamente, o grupo (GID) do usuário.
• nice - configura a prioridade de execução de um comando ou de um
programa.
• nl - exibe o conteúdo de um arquivo enumerando as linhas.
• nohup - executa um comando imune a interrupções de conexão.

O
P
• passwd - altera a senha de um usuário.
• permissão de acesso - autorização para ler/gravar/executar um
arquivo/diretório do sistema.
• pico - editor de texto baseado no sistema de mensagens pine.
• PID - número de identificação (ID) de um processo.
• pr - formata arquivos de texto para impressão.
• printenv - mostra as variáveis de ambiente utilizadas pelo sistema.
• processo - programa em execução.
• ps - exibe informações sobre os processos que estão executando na
máquina.
• pwconv - usa o sistema shadow para proteger as senhas dos
usuários.
• pwd - exibe o nome do diretório atual.
• pwunconv - elimina o uso do sistema shadow de proteção de senhas.

Q
• quota - fornece informações sobre o sistema de cotas.
• quotaoff - desabilita o sistema de cotas.
• quotaon - habilita o sistema de cotas.

R
• RCS - aplicativo para gerenciamento de código-fonte.
• reboot - reinicializa o computador.
• redirecionadores de E/S - >, >>, < e |.
• renice - altera a prioridade de um processo que está executando.
• rev - inverte as linhas de um arquivo.
• rlogin - inicia uma sessão de terminal remoto.
• rm - remove arquivos/diretórios.
• rmdir - remove diretórios vazios.
• rmmod - descarrega módulos do kernel da memória do sistema.
• root - administrador do sistema ou superusuário.
• rpm - gerenciador de pacotes da distribuição Red Hat.

S
• separador de comandos - ; e ;\
• set - exibe a lista das variáveis de ambiente.
• setserial - exibe ou modifica as definições sobre porta serial.
• setterm - configura os atributos do terminal no modo texto.
• shell - interpretador de comandos do Linux.
• shutdown - encerra/reinicializa o sistema.
• sistemas de arquivos - como os arquivos e os diretórios são
organizados no Linux.
• sort - ordena as linhas de arquivos textos.
• source - atualiza arquivos do sistema.
• split - divide um arquivo em arquivos menores.
• strfile - cria um arquivo de acesso aleatório para armazenamento de
strings.
• strings - extrai strings de arquivos binários.
• stty - modifica e/ou mostra as configurações de linhas de terminal.
• su - executa um shell com substituição de usuário e grupo.
• sudo - executa um comando usando os privilégios de um outro usuário.
• swap - partição do disco usada como memória auxiliar (área de troca).
• swapoff - desabilita dispositivos e arquivos para paginação e troca.
• swapon - habilita dispositivos e arquivos para paginação e troca.
• sync - grava os dados da memória nas unidades de disco.

T
• tac- concatena e exibe um ou mais arquivos na ordem inversa.
• tail - exibe as últimas linhas de um arquivo texto.
• talk - permite conversa em tempo real entre dois usuários.
• tar - armazena e extrai arquivos de um arquivo tar.
• teclas especiais - conjunto de teclas com características especiais no
Linux.
• tee - ler da entrada padrão e grava na saída padrão.
• telinit - processo de controle da inicialização do sistema.
• telnet - permite acessar uma máquina remotamente.
• tempo de época - data e hora que o Linux considera como o início
dos tempos.
• tex- sistema de processamento de textos para formatação de
documentos.
• time - mede o tempo necessário para executar um comando/aplicativo.
• top - utilitário que lista, em tempo real, os processos que estão usando
a cpu.
• touch - muda a data e a hora do último acesso/modificação de um
arquivo.
• tr - apaga ou altera caracteres.
• tree - apresenta, em formato de árvore, o conteúdo de um diretório.
• type - exibe o tipo de um arquivo.

U
• UID - número de identificação do usuário para o kernel do Linux.
• umask - define as permissões que não estão disponíveis aos usuários
do sistema.
• umount - desmonta sistemas de arquivos.
• uname - exibe informações sobre o sistema.
• uniq - remove as linhas duplicadas de um arquivo ordenado.
• unset - apaga uma variável de ambiente.
• updatedb - atualiza banco de dados de nome de arquivos.
• uptime - diz há quanto tempo o sistema está funcionando.
• useradd - cria um novo usuário.
• userdel - remove usuário e seus respectivos arquivos do sistema.
• usermod - modifica uma conta de usuário do sistema.
• users - mostra os usuários que estão atualmente conectados ao
sistema.

V
• variáveis de ambiente - conjunto de variáveis usadas para definir o
ambiente de trabalho dos usuários do sistema.
• vigr - edita o arquivo /etc/group.
• vim - editor de textos em formato ASCII.
• vipw - edita o arquivo /etc/passwd.
• visudo - edita o arquivo /etc/sudoers.

W
• w - informa quais os usuários que estão conectados e o que eles estão
executando.
• wc - conta linhas, palavras e caracteres de arquivos.
• whatis - mostra um resumo rápido sobre um ou mais comandos.
• whereis - lista as localizações de programas binários, fontes e
documentações.
• who - informa quais os usuários que estão conectados.
• whoami - fornece a identificação efetiva do usuário.

X
• X ou X Window - é a interface gráfica (GUI) padrão do Linux.
• xhost - define quais máquina podem acessar o servidor X.
• xman - aplicativo gráfico de exibição da documentação do Linux para o
sistema X Window.

Y
Z
• zgrep - procura padrões em um arquivo compactado.
• zip - compacta arquivos.

---------------------------------------------------------------------------------------------------------

COMANDOS
Um comando é uma palavra especial que representa uma ou mais ações.
Ao digitar um comando, ele pode ser seguido ou não por opções/argumentos, que são
caracteres ou strings de texto ou números,
precedidos por 1 ou 2 hífens ( - / - - ).
Os comandos podem ser internos (a um determinado Shell, não ao
S.O.), ou externos (programas utilitários armazenados em disco).

Conhecendo ou não o DOS (objeto de comparação, em relação ao shell do Linux), você


poderá estranhar bastante os comandos do Linux ou simplesmente não ter dificuldade
alguma. Tudo depende de você. Essencialmente, trabalhar com o Linux é uma questão
de prática e logo você ficará bem familiarizado.

Principais versões de Shell


Bourne Shell (sh)
Desenvolvido por Stephen Bourne da Bell Labs (da AT&T onde também foi
desenvolvido o Unix), este foi durante muitos anos o Shell default do sistema
operacional Unix.
É também chamado de Standard Shell por ter sido durante vários anos o único e até hoje
é o mais utilizado até porque ele foi portado para todos os ambientes Unix e distros
Linux.

Korn Shell (ksh)


Desenvolvido por David Korn, também da Bell Labs, é um superset do sh, isto é, possui
todas as facilidades do sh e a elas agregou muitas outras. A compatibilidade total com o
sh vem trazendo muitos usuários e programadores de Shell para este ambiente.

Boune Again Shell (bash)


Este é o Shell mais moderno e cujo número de adeptos mais cresce em todo o mundo,
seja por ser o Shell default do Linux, seu sistema operacional hospedeiro, seja por sua
grande diversidade de comandos, que incorpora inclusive diversos instruções
características do C Shell.

C Shell (csh)
Desenvolvido por Bill Joy da Berkley University é o Shell mais utilizado em ambientes
*BSD e Xenix. A estruturação de seus comandos é bem similar à da linguagem C. Seu
grande pecado foi ignorar a compatibilidade com o sh, partindo por um caminho
próprio.

[root@localhost /root]#
O Linux usa uma estrutura diferente de organização em seu sistema
de arquivos.
Por isso, em vez da sua pasta ser c:\arquivos\pasta\arquivo.txt,
simplesmente no Linux, pode ser /home/pasta/arquivo.txt. Para você
entender melhor, vamos analisar o prompt do Linux:
[root@localhost /root]#
usuário - diretório / local (PC ou rede) - modo usuário

Usuário: No Linux, cada pessoa precisa ter uma conta de usuário. Uma conta de
usuário indica um nome e senha que devem ser utilizados para se conectar no sistema.
Se o nome escolhido por você for, por exemplo, Fulano, em vez de root aparecerá
fulano no lugar.
Usuário "root" (ou super-usuário): é quem tem acesso irrestrito ao sistema. Quando
você se conecta como usuário root, você poderá fazer qualquer operação no Linux,
como alterações de configuração do sistema, apagar ou modificar arquivos importantes,
etc. Por isso, se conectar como root é muito arriscado, já que você pode causar algum
dano sem querer. Tendo isso em mente, nunca se conecte como root a não ser que seja
mesmo necessário. Para usar o Linux no dia-a-dia, conecte-se com uma conta de usuário
comum, assim não haverá risco de danos. Também não se esqueça de guardar muito
bem a senha do root, pois se alguém descobrir, poderá destruir o sistema.
localhost /root : é o local (diretório) onde você está no momento (/root é padrão e
equivale a C:\ no DOS).

Modo usuário: indica quem está usando a máquina, se um usuário comum ou o super-
usuário. Veja:
# - modo super-usuário
$ - modo usuário

ALGUNS COMANDOS BÁSICOS:


Hoje há diversos livros, guias de consulta, impressos ou digitais, com uma quantidade
gigantesca de comandos e referências/atributos. Não se preocupe, NINGUÉM decora
tudo, sempre necessita de uma ajudazinha uma vez ou outra. Claramente, com o passar
do tempo e frequência de uso/estudos, os comandos fluirão naturalmente...

Man, help, info ---- exibe informações sobre comandos,


programas, etc
(qualquer comando) --help ---- mostra o HELP (arquivo de
ajuda) do comando que você digitou;
ls ---- lista os arquivos e diretórios da pasta (DIR no
DOS);
clear ---- limpa a tela (CLS no DOS);
cd /xxx/zzz : entra no diretório zzz dentro do xxx
cd ---- vai direto para o diretório raiz do usuário
conectado;
\ ---- abre uma linha de comando "livre" , onde você pode
digitar um comando extenso (digite q e clique em enter para
sair);
pwd ---- mostra o diretório inteiro que você está;
cat ---- igual ao TYPE no DOS;
df ---- Mostra as partições usadas ou livres do HD;
|more ---- lista o arquivo com pausa de linha em linha
(exemplo: CAT leiame |more)
|lpr ---- imprime o arquivo listado;
free ---- mostra a memória do computador (MEM no DOS);
shutdown ---- desliga o computador:
shutdown -r now ---- reinicia o computador;
shutdown -h now ---- desliga o computador (só desligue
quando aparecer escrito "system halted" ou algo
equivalente);
OBS.: O NOW pode ser mudado. Por exemplo: shutdown -r +10 e
o sistema irá reiniciar daqui a 10 minutos).
Reboot ---- reinicia o sistema instantaneamente (pouco
recomendável, preferível shutdown -r now). Use somente em
emergências;
startx ---- inicia o X-Windows (interface gráfica) do
Linux;
kde ---- Inicia a Interface gráfica K Desktop Enviroment;
mkdir ---- cria um diretório (MD no DOS);
rmdir ---- destrói um diretório VAZIO (RD no DOS);
rm ---- apaga um arquivo (DEL no DOS);
rm –r ---- apaga um diretório;
who ---- mostra quem está usando a máquina;
wc ---- conta a quantidade de:
wc -c arquivo ---- quantidade de bytes
wc -w arquivo ---- quantidade de palavras
wc -l arquivo ---- quantidade de linhas;
date ---- mostra data e hora;
telnet ---- inicia a TELNET;
m ---- abre o MINICOM e permite configurar o modem;
type ---- explica um determinado arquivo do sistema;
file ---- descreve um determinado arquivo;
find / - name xxx ---- procura arquivo "xxx";
useradd nome_do_novo_usuário ---- cria uma nova conta
usuário;
passwd nome_do_usuário ---- cria ou modifica a senha do
usuário;
userdel -r nome_do_usuário ---- apaga um usuário;
su ---- passa para o superusuário (perceba que no prompt
irá mudar o $ pelo #);
sndconfig ---- permite configurar a placa de som;
TAR ---- arquivo para criar Backups:
TAR –c ---- cria
TAR –x ---- restaura
TAR –v ---- lista cada arquivoTAR –t: lista os arquivos de
backups;
write ---- escreve mensagens para outro usuário em rede
linuxconf ---- configuração do Linux;
alias ---- possibilita a criação de comandos simples;
& ---- coloca o comando desejado em background, ou seja,
trabalha enquanto você faz outra coisa no computador;
history ---- mostra os comandos que o usuário já digitou;
lpr ---- imprime um arquivo (exemplo: lpr arquivo);
lpq ---- mostra o status da fila de impressão;
lprm ---- remove trabalhos da fila de impressão;
mtools ---- permite o uso de ferramentas compatíveis com
DOS. Após digitar o comando, você verá que todo comando
do DOS terá um M na frente. Isso é normal.
ls ---- lista arquivos de um diretório (pasta)
rm ---- remove diretórios
cp ---- copia arquivos
mv ---- move arquivos
mv ---- renomeia arquivos
cat, more, tail ---- mostra conteúdo de um arquivo
pwd ---- mostra o diretório corrente
mkdir ---- cria pasta
rmdir ---- apaga pasta
cd ---- navega entre os diretórios
find ---- localiza arquivos
who ---- mostra os usuários conectados e seus respectivos
terminais
whoami ---- exibe usuário atual
adduser ---- adiciona usuário ao sistema
userdel ---- remove usuários do sistema
passwd ---- altera a senha
chmod ---- altera permissões
mount, unmount ---- “habilita” e “fecha” dispositivos
conectados ao computador.
chown ---- altera o proprietário do arquivo
chgrp ---- altera o grupo a qual pertence o arquivo
groupadd ---- cria um novo grupo
usermod ---- altera informações da conta de um usuário
kill ---- finaliza um processo
ps ---- mostra um quadro atual e estático dos processos em
execução
top ---- exibe me tempo real os processos sendo executados
su ---- troca de usuário
sudo --- Permite a um usuário autorizado, executar um
comando como superusuário (root)
lsmod ---- lista os módulos carregados
insmod ---- carrega / instala um módulo
lsdev ---- lista o hardware instalado e informações de cada
dispositivo
lspci ---- exibe informações sobre os barramentos PCI e os
dispositivos conectados a eles
lsusb ---- exibe informações sobre os barramentos USB e os
dispositivos conectados a eles
PERMISSÕES
As permissões são um dos pontos mais importantes e essenciais nas distribuições linux,
desde servidores até desktops domésticos.
Uma permissão aplicada a um documento ou diretório determina o que os usuários do
sistemas podem ou não podem fazer, como por exemplo, a leitura desse arquivo, edição
e execução.

chmod → Altera as permissões do arquivo


chown → Altera o proprietário do arquivo
chgrp → Altera o grupo a qual pertence o arquivo

r - Read - ler → permite ou não a leitura do arquivo ou abertura do diretório


w - Write - escrever → permite ou não a edição/alteração do arquivo ou gravação em
um diretório
x - eXecute - executar → permite ou não a execução de um arquivo
x = 1, w = 2, r = 4
Podemos determinar em um arquivo quais usuários terão acesso a ele e com qual
finalidade, como apenas ler ou gravar.
Cada usuário do sistema possui três conjuntos de permissões para cada arquivo= “r”,
“w” e “x”.

Os grupos são categorias (conjunto) de usuários, e eles possuem um grupo distinto de


permissões para os arquivos.
Um usuário é dono de um arquivo e tem suas permissões, este usuário pode pertencer a
vários grupos, mas estes grupos (outros usuários que também pertencem a este mesmo
grupo) possuem permissões diferentes em relação ao arquivo daquele usuário.
Temos então, a possibilidade e necessidade de atribuir permissões diferentes para o
dono do arquivo (u), para o grupo (g), para outros usuários (o), ou para todos (a).

Cada arquivo tem um UID (User ID), e um GID (Group ID), que mostra quem é o dono
do arquivo, e a qual grupo ele pertence.
Ao definir as permissões, podemos usar letras (rwx), ou usar o formato octal,
que são 8 números (de 0 à 7) que correspondem a permissões especificas cada.
octal letras binário
0 --- 000 → Nenhuma Permissão
1 - -x 001 → executa o arquivo, entra no diretório
2 -w- 010 → apenas grava
3 -wx 011 → grava e executa
4 r- - 100 → apenas lê
5 r- -x 101 → lê e executa o arquivo
6 rw - 110 → lê e grava
7 rwx 111 → permissão total com os arquivos e/ou diretorios

Para alterar as permissões, utilizamos os comandos:

Chown → Altera o proprietário do arquivo


root# chown <nome do novo dono> <nome do arquivo>
chgrp → Altera o grupo a qual pertence o arquivo
root# chgrp <nome do novo grupo> <nome do arquivo>

chmod → Altera as permissões do arquivo


Chmod ugo+rwx <nome do arquivo ou pasta>
Chmod 777 <nome do arquivo ou pasta>

No comando, definimos qual usuário(s) estamos relacionando (através das letras ugoa),
quais as permissões (usando a forma octal ou alfabética) e por fim, qual o arquivo ou
diretório.

Ainda na linha de comando, adicionamos os simbolos “+”, “-” ou “=”.


+ --> adiciona as permissões especificadas no conjunto de permissões já existentes do
arquivo
- --> remove as permissões especificadas do conjunto de permissões pertencentes ao
arquivo
= --> altera as permissões para as novas que estão sendo definidas.

O sistema operacional Unix (e também Linux) difere de outros ambientes de


computação em que não é apenas um sistema multitarefa, mas também é um sistema
multi-usuário também.

O que exatamente significa isso?

Isso significa que mais de um usuário pode estar operando o computador ao mesmo
tempo.

Enquanto o computador terá apenas um teclado e um monitor, ele ainda pode ser usado
por mais de um usuário.
Por exemplo, se o computador estiver conectado a uma rede, ou pela Internet, os
usuários remotos podem login via telnet ou ssh (secure shell) e utilizar o computador.
Na verdade, os usuários remotos podem executar aplicativos X e ter a saída gráfica
exibida em um computador remoto. O sistema X Windows suporta isso.

A capacidade multi-usuário do Unix não é uma "recente" inovação, mas sim um recurso
que está profundamente enraizado na concepção do sistema operacional.
Se você se lembrar o ambiente em que o Unix foi criado, isso faz sentido.
Anos atrás, antes dos computadores eram "pessoais" e eles eram grandes, caros e
centralizados.
Um computador com sistema universitário típico consistia de um grande mainframe
localizado em algum prédio do campus e os terminais foram localizados por todo o
campus, cada um conectado ao computador central de grande porte.
O computador seria suportar muitos usuários ao mesmo tempo.

A fim de tornar esta prática, um método tinha de ser concebido para proteger os
usuários uns dos outros.
Afinal, você não pode permitir que as ações de um usuário para travar o computador,
nem você poderia permitir que um usuário para interferir com os arquivos pertencentes
para outro usuário.

As permissões de arquivo

Linux usa o esquema de permissões mesmo que o Unix.


Cada arquivo e diretório em seu sistema são atribuídos direitos de acesso para o dono do
arquivo, os membros de um grupo de usuários relacionados, e todos os outros (o resto..).
Os direitos podem ser atribuídos para ler um arquivo, para gravar um arquivo, e para
executar um arquivo (ou seja, executar o arquivo como um programa).

Para ver as configurações de permissão para um arquivo, podemos usar o comando ls -l


Podemos determinar uma série de examinar os resultados deste comando:

• O arquivo "teste" é propriedade do usuário "eslih", que pode ler e escrever (ou
seja, é um arquivo simples, se fosse script ou programa, também poderia ser
executado, daí ficaria: rwx)
• O arquivo é propriedade do grupo "eslih" (ao criar um usuário, também é
criado um grupo com o mesmo nome)
• Os membros do grupo "eslih" apenas podem ler este arquivo
• Todo mundo pode ler este arquivo

São 3 conjuntos, cada um possui até 3 letras (rwx) indicando suas permissões.

Vamos tentar um outro exemplo. Vamos olhar para o programa bash, que está
localizado no diretório / bin:

Aqui podemos ver:


• O arquivo "/ bin / bash" pertence ao "usuário" root
• O superusuário tem direito a ler, escrever e executar este ficheiro (rwx)
• O arquivo é propriedade do grupo "root"
• Os membros do grupo "root" também pode ler e executar este ficheiro (r-x)
• Todo mundo pode ler e executar este ficheiro (r-x)

No diagrama abaixo, podemos ver como a primeira parte do anúncio é interpretada.


É constituída por um caractere indicando o tipo de arquivo, seguido por três conjuntos
de três letras/caracteres que transmitem a leitura, escrita e permissão de execução para o
dono, grupo e todos os outros.

chmod
O comando chmod é usado para alterar as permissões de um arquivo ou diretório.
Para usá-lo, você pode especificar as configurações de permissão desejadas e o arquivo
ou arquivos que você deseja modificar.
Há duas maneiras para especificar as permissões.

É fácil pensar nas configurações de permissão como uma série de bits (que é como o
computador pensa sobre eles). Veja como funciona:
rwx rwx rwx = 111 111 111
rw- rw- rw- = 110 110 110
rwx --- --- = 111 000 000

e assim por diante ...

rwx = 111 em binário = 7


rw- = 110 em binário = 6
r-x = 101 em binário = 5
r-- = 100 em binário = 4
Agora, se você representa cada um dos três conjuntos de permissões (proprietário,
grupo e outros) como um único dígito você tem uma maneira muito conveniente de
expressar as permissões possíveis cenários.
Por exemplo, se quiséssemos definir o arquivo “teste” para ter permissão de leitura e
gravação para o proprietário, mas queria manter o arquivo privado dos outros, teríamos:
chmod 600 teste

Aqui está uma tabela de números que abrange todas as configurações comuns. Os que
começam com "7" são usados com programas (uma vez que permitem a execução) e os
restantes são para outros tipos de arquivos.

Valor Significado

(rwxrwxrwx) Não há restrições nas permissões.


777 Qualquer pessoa pode fazer qualquer coisa. Geralmente
não é desejável estabelecer um.

(rwxr-xr-x) O dono do arquivo pode ler, escrever e


executar o arquivo. Todos os outros podem ler e
755
executar o arquivo. Essa configuração é comum para
programas que são utilizados por todos os usuários.

(rwx------) O dono do arquivo pode ler, escrever e


executar o arquivo. Ninguém mais possui qualquer
700 direito. Essa configuração é útil para programas que
somente o proprietário pode usar e deve ser mantida
privada de outras pessoas.

(rw-rw-rw-) Todos os usuários podem ler e gravar o


666
arquivo.

(rw-r--r--) O proprietário pode ler e gravar um


arquivo, enquanto todos os outros só podem ler o
644 arquivo. Um cenário comum para arquivos de dados que
todos podem ler, mas somente o proprietário pode
mudar.

600 (rw-------) O proprietário pode ler e gravar um


arquivo. Todos os outros não têm direitos. Um cenário
comum para arquivos de dados que o proprietário quer
manter privadas.

Lista de permissões
O comando chmod pode também ser usado para controlar as permissões de acesso para
diretórios (no mundo DOS/Win diretório=pasta).
Na maioria das formas, o regime de permissões para diretórios funciona da mesma
forma como acontece com os arquivos.
No entanto, a permissão de execução é utilizada de uma maneira diferente. Ele fornece
controle de acesso ao arquivo de listagem e outras coisas.
Aqui estão algumas configurações úteis para diretórios:

Valor Significado

(rwxrwxrwx) Não há restrições nas permissões.


Qualquer um pode listar os arquivos, criar novos
777
arquivos no diretório e apagar arquivos no
diretório. Em geral não é uma boa configuração.

(rwxr-xr-x) O dono do diretório tem acesso total.


Todos os outros podem listar o diretório, mas não
755 podem criar arquivos ou excluí-los. Essa
configuração é comum para os diretórios que deseja
compartilhar com outros usuários.

(rwx------) O dono do diretório tem acesso total.


Ninguém mais possui qualquer direito. Essa
700 configuração é útil para as pastas que só o
proprietário pode usar e deve ser mantida privada de
outras pessoas.

Tornando-se root por um curto tempo


Muitas vezes,
é útil logar como root para executar tarefas de administração de sistema importantes,
mas como você foi avisado
(e não apenas por mim!),
Você não deve ficar logando-se como superusuario.
Felizmente, existe um programa que pode lhe dar acesso temporário ao root.

Este programa é chamado de su (abreviação de superusuário) e pode ser usado nos


casos em que você precisa ser o root
para realizar um pequeno número de tarefas, algum comando especifico, etc.
Para se tornar o superusuário basta digitar o comando su, e será solicitado a senha do
root:

Pode-se usar apenas o comando “su”

Para logar tanto como root ou outro usuário, pode-se usar o su precedido do nome
(login) do usuário que deseja. Ex.: “su root” ou ”su user”

Após executar o comando su, você tem uma nova sessão de shell, digite exit e para
voltar a sessão anterior.

Alterando a propriedade do arquivo


Você pode alterar o dono de um arquivo usando o comando chown.

Está aqui um exemplo: suponha que eu queria mudar o dono do arquivo teste do "eslih"
para o "root". Eu poderia:

Su
Chown root teste
Ls –l (apenas para conferir....)
exit
Observe que, para alterar o proprietário de um arquivo que você deve ser o root. Para
fazer isso, nosso exemplo, usei o comando su, então chown executado (chown, nome do
novo dono, e nome do arquivo que será alterado) e, finalmente, nós digitamos exit para
voltar à nossa sessão anterior.

chown funciona da mesma maneira em diretórios como o em arquivos.

Perceba que alterou o dono, mas o grupo a qual pertence o arquivo continua o mesmo
anterior.

Alterando o grupo do arquivo/diretório

A propriedade de grupo de um arquivo ou diretório pode ser alterado com chgrp


Este comando é usado da seguinte forma:

Chgrp novo_grupo arquivo

No exemplo acima, nós mudamos a propriedade de grupo do arquivo “teste” de seu


grupo anterior para "root". Você deve ser o dono do arquivo ou do diretório para
executar um chgrp.