Permissões As permissões dos
arquivos são definidas através dos comandos chmod, chown e
chgrp.
Estrutura do comando:
chmod
Ao listar as informações de um arquivo ou diretório, o formato é o
seguinte: drwxrwxrwx.
Respectivamente: diretório (d), permissão do dono (read/write/execute), do
grupo (read/write/execute) e de outros (read/write/execute).
Por exemplo, para transformar um arquivo em executável:
- chmod +x nome_do_arquivo (executável para todos)
- chmod g+x nome_do_arquivo (executável para o grupo)
Para alterar o usuário e o grupo de um arquivo ou diretório:
- chown root.root /sbin/firewall.sh (-R:
recursivamente)
Outros exemplos:
- chmod 755 (executável): -rwxr-xr-x
- chmod 4700 (suid) set user id para programas que precisam rodar com
permissão de root: -rws------
Para calcular o valor numérico das permissões, basta considerar o valor
do executavel como 1, de escrita como 2 e de leitura como 4, que seria o
equivalente decimal aos bits:
rwx = 111 (todos bits ligados) = 2**2 + 2**1 + 2**0 = 7
Dessa forma, uma permissao de leitura e escrita (4+2) para o owner ,
e de leitura apenas para os outros teria o valor 644. Para calcular a
umask, que seria a máscara de permissão aplicada na criação de um novo
arquivo, basta então subtrair 666 (ou 777 para diretórios) resultando em
umask 022.
Como se encontrar no sistema
- Localizar arquivo por nome:
- find [path...] -name [nome_do_arquivo]
- find . -name slackware.png
- find / -name "*.png" -print (arquivos png do dir. atual)
- find /home -size +5000k -print (arquivos com mais de 5Mb)
Local de um binário:
- whereis (ou which) [nome_do_arquivo]
- which gcc
- gcc: /usr/bin/gcc
Criar um banco de dados com o local dos arquivos (para busca imediata)
- updatedb
- Para pesquisar: (s)locate [nome_do_arquivo]
Localizar texto em arquivo:
- grep [param] [texto] [arquivo]
- grep -ni man /var/log/packages/grep.tgz (-i : case
insensitive, -n : número da linha)
- (use ' '(aspas simples) no [texto] para procurar palavra exata.)
ls -l | grep '^-..x' (lista executáveis)
ls -l | grep '^d' (lista diretórios - '^' indica a primeira letra da
linha)
Outros:
- cd - : alternar entre
diretórios
- pwd: listar caminho atual
- Verificando integridade de um arquivo:
- sum: retorna checksum (16-bit) e número
de blocos de cada arquivo.
- $ sum arquivo.tar.gz
cksum: retorna CRC checksum e bytes de cada
arquivo.
- $ cksum *.tar.gz > cksums
md5sum: retorna o MD5 checksum (128-bit) do
arquivo, e verifica a consistência.
- $ md5sum --check MD5SUMS
Operações com texto:
comm/diff: compara dois arquivos.
ispell: verficador ortográfico (-d
br: dicionário em
português).
sort: ordena em ordem crescente,
alfabética, etc.
uniq: remove linhas duplicadas.
cut: retorna area delimitada (-c5:
quinto caracter).
wc: conta linhas, palavras e bytes.
fold: ajusta o texto para a largura
especificada.
nl: numera as linhas de um arquivo.
fmt: reformata as linhas de um
arquivo.
expand/unexpand: converte tabs em
espaços e vice-versa.
tr: remove e substitui caracteres
(-d a-d para remover as letras entre a-d, tr a-d A-D para torná-las
maiúsculas).
- Alterar data do sistema:
- $ date 0109143001 (09/01/2001 14:30)
- $ date -s "mm/dd/aaaa hh:mm:ss"
Criando aliases
Adicionar arquivo de alias (ex: aliases.sh) em /etc/profile.d/
chmod 755 aliases.sh
# exemplo de script alias.sh
# System wide functions and aliases
alias cdrom.on="mount /dev/hdd /mnt/cdrom"
alias cdrom.off="umount /dev/hdd"
alias zipdisk="mount -t vfat /dev/hdb4 /mnt/zip"
alias rm="rm -i"
alias x="startx -- -nolisten tcp"
- Criando arquivos compactados
- tar.gz
- É possível criar tarfile (tarball) da seguinte forma:
- tar -c file1 file2 > foo.tar
- Para 'zipar' o tar a mesma coisa:
- gzip -c file1 file2 > foo.tar.gz
- Ou então:
- tar -cvzf diretorio.tar.gz diretorio/
- tar.bz2
- Troque o 'z' pelo 'j' para criar arquivos bzip2.
tar -jxvf arquivo.tar.bz2 (descompactanto bz2)
- zip
- zip -r filename.zip files
-
- Screenshots
- import -w root tela.jpg
- xwd > tela.xwd
-
- O editor vi(m)
- a / i: adiciona texto (append/insert).
- y / p: copiar e colar (copy/paste).
- x: deletar letra.
- /: buscar palavra (n: next N:
prev).
- u: desfazer (undo).
- v: selecionar texto (visual).
- :edit file: cria novo buffer.
- :ls: lista buffers.
- :buffer N: edita buffer N.
- :bdelete: deleta buffer.
- :so \$VIMRUNTIME/syntax/2html.vim:
converte source em html.
- :ab SW slackware: cria
abreviação (abclear: remove abs.)
- map :qa! : mapeia
tecla (adicione em .vimrc)
- Para gravar digite ESC seguido por :wq (write and quit), :q! (sair sem
gravar) ou :qa! (fechar todos).
-
- Outros utilitários no console
- whatis/apropos: descrição do
programa.
- bc: calculadora (ex: echo "scale=2;1/10"|bc
//scale são as casas decimais).
- nano: editor de texto simples (nano-editor.org).
- jed: editor de texto para
programadores.
- mc: o midnight commander.
-
- Magic SysRq!
Para situações onde não temos acesso ao sistema via ssh/telnet, a
combinação ALT + SysRq/PrintScrn + X pode ser muito útil.
Ex: ALT + SysRq + ... k: mata o VC atual; e:
sigterm (exceto ao init); i: sigkill (exceto ao init)
Para reiniciar o sistema de forma segura, digite na sequência:
Alt+SysRq S (sync), Alt+SysRq U
(unmount), Alt+SysRq B (reboot)
No terminal, os processos serão descritos, portanto apenas siga para o
próximo passo após o término do primeiro.
|