11.19.2013

Comando find - exemplos

Encontrar ficheiros com base no nome

Verificar se o ficheiro exemplo.txt existe na directoria /home/mt :

[mt@webcentos ~]$ find /home/mt -name "exemplo.txt"
/home/mt/exemplo.txt

Ignorar maiúsculas e minúsculas:

[mt@webcentos ~]$ find /home/mt -iname "exemplo.txt"
/home/mt/Exemplo.txt
/home/mt/exemplo.txt

Procurar directoria com o nome exemplo:

[mt@webcentos ~]$ find -type d -name "exemplo"
./exemplo

Procurar todos os ficheiros com extensão txt na actual directoria:

[mt@webcentos ~]$ find . -type f -name "*.txt" ./listamp3.txt
./Exemplo.txt
./exemplo.txt
./colmp3.txt
./teste.txt
./temp/listamp3.txt

Encontrar ficheiros com base nas permissões:

Procurar ficheiros com as permissões 644 na directoria /home/mt/exemplo

[mt@webcentos ~]$ find /home/mt/exemplo -type f -perm 644
/home/mt/exemplo/teste01.txt

Encontrar todos os ficheiros com SGID no sistema:

find / -perm +2000
/sbin/netreport
/usr/libexec/utempter/utempter
/usr/lib/vte/gnome-pty-helper
/usr/bin/locate
/usr/bin/ssh-agent
/usr/bin/wall

.......

Encontrar ficheiros (Stticky bit set) com permissão 551

[root@webcentos ~]#find / -perm 1551

Encontrar ficheiros com apenas permissão para leitura no sistema:

[root@webcentos ~]#find / -perm /u=r

Encontrar todos os ficheiros executáveis do sistema:

[root@webcentos ~]# find / -perm /a=x

Encontrar todos os ficheiros do sistema com permissão 777 e modificar a permissão para 644:

[root@webcentos ~]# find / -type f -perm 0777 -print -exec chmod 644 {} \;

Encontrar todos as directorias do sistema com permissão 777 e modificar para 755:

[root@webcentos ~]# find / -type d -perm 777 -print -exec chmod 755 {} \;

Apagar o ficheiro exemplo.txt:

[root@webcentos ~]# find /home/mt -type f -name "exemplo.txt" -exec rm -f {} \;

Apagar todos os ficheiros com extensão txt:

[root@webcentos ~]# find . -type f -name "*.txt" -exec rm -f {} \;

Encontrar todos os ficheiros vazios:

[root@webcentos ~]# find /tmp -type f -empty

Encontrar todas as directorias vazias:

[root@webcentos ~]#find /tmp -type d -empty

Encontrar todos os ficheiros ocultos:

[root@webcentos ~]#find /tmp -type f -name ".*"


Encontrar ficheiros com base nos donos (owner) e nos grupos (groups):


Encontrar ficheiros a pertencentes a root na directoria /home/mt

[root@webcentos ~]# find /home/mt -user root -name "exemplo.txt"
/home/mt/exemplo.txt

Encontrar todos os ficheiros pertencentes ao utilizador mt na directoria /home:

[root@webcentos ~]# find /home -user mt

Encontrar todos os ficheiros pertencentes ao grupo contabilidade na directoria home:

[root@webcentos ~]#find /home -group contabilidade

Encontrar todos os ficheiros com extensão txt ou TXT na directoria home pertencentes ao user mt:

[root@webcentos ~]# find /home -user mt -iname "*.txt"


Encontrar ficheiros com base na data e na hora

Encontrar todos os ficheiros que foram modificados há 10 dias:

[root@webcentos ~]# find / -mtime 10

Encontrar todos os ficheiros que foram acedidos há 10 dias:

[root@webcentos ~]# find / -atime 10

Encontrar ficheiros modificados na última hora:

[root@webcentos ~]#find / -cmin -60

Encontrar ficheiros acedidos na última hora:

[root@webcentos ~]#find / -amin -60

Encontrar ficheiros e directorias com base no tamanho:


Encontrar todos os ficheiros do sistema com 50 M

[root@webcentos ~]# find / -size 50M

Encontrar todos os ficheiros com mais de 50 M e menos de 200 M

[root@webcentos ~]# find / -size +50M -size -200M

Apagar todos os ficheiros com 100 M:

[root@webcentos ~]# find / -size +100M -exec rm -rf {} \;

Apagar todos os ficheiros com extensão avi e mais do que 600 Megas:

[root@webcentos ~]#find / -type f -name *.mp3 -size +10M -exec rm {} \;

Fonte: http://www.tecmint.com/

11.13.2013

Desabilitar IPv6 no CentOS 6.4

Verificar existência de endereço IPv6 na interface

[root@webcentos /]# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:32:69 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.203/24 brd 172.16.1.255 scope global eth0
inet6 fe80::20c:29ff:fe8b:3358/64 scope link
valid_lft forever preferred_lft forever

Criar o ficheiro disable-ipv6.conf:

[root@webcentos ~]# vi /etc/modprobe.d/disable-ipv6.conf
install ipv6 /bin/true

Editar o ficheiro e adicionar linha sobre IPv6:

[root@webcentos ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=webcentos
GATEWAY=172.16.1.254

Adicionar linha com o comando:

[root@webcentos ~]# echo “net.ipv6.conf.all.disable_ipv6 = 1″ >> /etc/sysctl.conf

Terminar serviço ip6tables e impedir que arranque quando o sistema for reeniciado:

[root@webcentos ~]# service ip6tables stop
[root@webcentos ~]#chkconfig ip6tables off

Reiniciar o sistema para que as alterações surtam efeito. Verificar a inexistência do endereço Ipv6 na interface com o comando ip addr

[root@webcentos ~]#init 6

11.12.2013

Instalar repositório EPEL CentOS 6

RHEL/CentOS 6 32-Bit

wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

RHEL/CentOS 6 64-Bit

wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

11.07.2013

Netfilter no CentOS - Conceitos básicos

A firewall tem como objectivo aplicar políticas de segurança num dispositivo, operando geralmente nas camadas 3,4 e 5 do modelo OSI. Para inspecção da camada 7 geralmente usa-se um proxy juntamente com a firewall. Existem appliances de segurança e sistemas open source ou comerciais que podem fornecer um conjunto integrado de serviços sendo estes sistemas geralmente colocados como fronteira entre uma rede privada e "confiável" e a Internet. Como exemplos (Pfsense, Cisco Asa) para além de fornecerem serviços de routing e de firewall podem atuar como proxies, gateways VPN site-to-site ou road warrior...

Muitos administradores optam por aplicar todas as políticas de segurança nestes dispositivos, procurando maximizar a segurança do perímetro e descurando os sistemas internos. É comum que os servidores que prestam apenas serviços à Rede Interna tenham eventuais mecanismos de segurança descurados. Obviamente, qualquer sistema que seja acedido directamente através da Internet deverá ter uma firewall activada e configurada com o máximo cuidado.

O Netfilter é a firewall do kernel do Linux. No CentOs (com GUI) poderá configurar a firewall com uma interface gráfica: Sistema -> Administração -> Firewall ou executando system-config-firewall na consola. Esta ferramenta é ideal para uma primeira configuração. Saliente-se que quando se aplicam as regras configuradas com esta ferramenta perdem-se todas as configurações que tenham sido previamente efectuadas com recurso à linha de comandos.

O system-config-firewall permite não só habilitar e desabilitar portas como configurar serviços avançados e definir regras complexas.No entanto, um conhecimento mais alargado do Netfilter e como definir regras com o iptables é necessário em instalações minimalistas (sem GUI ou ferramentas de gestão Web como o Webmin). A configuração "à unha" das regras permite um controlo mais granular da configuração, existindo no entanto o risco acrescido de criar configurações inseguras caso não se domine os princípios envolvidos. Saliente-se que este artigo é meramente introdutório e são apenas mostradas noções básicas do Netfilter. Trata-se de uma aplicação complexa, existindo livros e imenso material on-line que apenas abordam a sua configuração. Os exemplos apresentados servem para entender como o Netfiler opera servindo de base para configurações mais avançadas.

Para verificar se o Netfilter está activo (nota:existe por vezes alguma confusão entre o Netfilter e o iptables. O Netfilter é um módulo do Kernel que fornece ao Linux as funções de firewall. O iptables é o programa que permite ao utilizador definir as regras do Netfilter).

[root@webcentos ~]# chkconfig | grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Para desactivar a firewall (reiniciando o sistema a firewall ficará novamente activa. Para desabilitar permanentemente o serviço executar chkconfig iptables off:

[root@webcentos ~]# service iptables stop

Para iniciar a firewall

[root@webcentos ~]# service iptables start

O comando [root@webcentos ~]# iptables -L -v permite verificar as regras da firewall.

Caso a firewall esteja activa, terá um output similar ao seguinte:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
186 13669 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
0 0 ACCEPT all -- lo any anywhere anywhere
865 67470 ACCEPT udp -- any any anywhere anywhere state NEW udp dpt:netbios-ns
9 2151 ACCEPT udp -- any any anywhere anywhere state NEW udp dpt:netbios-dgm
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:netbios-ssn
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:microsoft-ds
1 92 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
48 8274 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 255 packets, 21145 bytes)
pkts bytes target prot opt in out source destination

Caso a firewall esteja desactivada (service iptables stop)surgirá um output obviamente diferente:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source

Conforme referido para configurar a firewall usa-se o comando iptables. As tables são componentes do Netfilter para as várias funcionalidades e tipo de tráfego, sendo que as tables para filtagem de tráfego e de NAT são normalmente as mais usadas. Uma table é constituída por chains e cada chain contem regras que são processadas sequencialmente. Cada pacote é alvo de processamento por parte das regras definidas.

Existem as seguintes chains na table filter:

  1. INPUT:Os pacotes de entrada (enviados para o sistema) são processados por esta chain.
  2. OUTPUT:Processa os pacotes de saída (originados no sistema).
  3. FORWARD:Processa pacotes em sistemas configurados para fazer routing.

Podem ser especificados vários elementos para compor as regras a aplicar.

  • Módulos: elemento opcional que oferece funcionalidades acrescidas ao Netfilter através de um módulo adicional acrescentado ao kernel. O mais comum é o módulo stateque verifica o "estado" do pacote.
  • Interface: num sistema com várias interfaces de rede é comum aplicarem-se regras específicas a cada uma dessas interfaces. Num servidor com apenas uma interface este elemento é desnecessário.
  • Endereços IP: Numa regra pode-se permitir ou negar acesso em função dos endereços de rede permitindo controlar o fluxo de tráfego assim como configurar regras de encaminhamento de determinadas portas - port forwarding
  • Protocolos: Muitas regras permitem ou negam o acesso a portas específicas (UDP ou TCP).
  • Targert: componente obrigatório numa regra, específica a acção a tomar sobre um pacote. Os mais utilizados são
    • ACCEPT
    • DROP
    • REJECT
    • LOG

Para além destes elementos é necessário planear antecipadamente o propósito das regras a configurar, existindo genericamente duas opções: pode-se criar uma política ou adicionar uma regra a uma chain. A política define o comportamento por defeito e se um pacote não for alvo da acção de nenhuma regra, essa política será aplicada. A melhor e altamente recomendável prática é criar uma política por defeito que negue todo o acesso. Depois de definida uma política por defeito começam-se a definir as regras nas chains. Conforme mencionado previamente, relembra-se que os pacotes são processados sequencialmente e como tal a ordem em que as mesmas estão definidas é importante. Por exemplo, a opção -Aadiciona uma regra no fim da chain enquanto a opção -I permite indicar o local onde se pretende que a inserção ocorra. A opção -D permite eliminar uma regra. Como sempre, é aconselhável a leitura do man do iptables man iptables para tomar conhecimento das opções disponíveis.

Recorrendo a um exemplo prático, veremos como a teoria se aplica. Pretende-se configurar uma firewall simples que permita o tráfego in-out FTP, SSH, HTTP e HTTPS e que negue o restante. O sistema pode ser um servidor que corra o Apache e um servidor de FTP. O SSH possibilita a gestão remota. Ao planear as regras a implementar deve-se atender ao seguinte:

  • Se todo o tráfego deve ser negado, o tráfego na interface de loopback também o será. Contudo, para que o tráfego IP interno funcione correctamente é necessário permiti-lo.
  • Pretende-se que o tráfego gerado pelos serviços seja permitido para utilizadores externos. O acesso ao exterior a partir do sistema é necessário?
  • Nota: Não se refere o serviço de DNS mas sendo essencial é permitido na maior parte das configurações.

Conforme mencionado, podem ser usadas várias abordagens para configurar a firewall. Relembre-se no entanto que no caso do system-config-firewall todo o tráfego originado pelo sistema é permitido. Tal não é sempre a abordagem mais correta, especialmente em servidores que corram aplicações críticas. Por exemplo, um hacker pode instalar um Cavalo de Troia numa máquina que inicie conexões com o exterior. Como tal, a chain OUTPUT deve merecer o mesmo cuidado que a chain INPUT.

  • Verificar as regras actuais com o comando iptables -L -v.
  • [root@webcentos ~]#iptables -P INPUT ACCEPT
  • [root@webcentos ~]#iptables -P OUTPUT ACCEPT
  • [root@webcentos ~]#iptables -P FORWARD ACCEPT
  • [root@webcentos ~]#iptables -F

Os comandos anteriores criaram as tabelas INPUT, OUTPUT e FORWARD e eliminaram todas as regras eventualmente existentes. Verificamos a actual configuração com o iptables -L -v

[root@webcentos ~]# iptables -L -v

Chain INPUT (policy ACCEPT 147 packets, 14279 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 98 packets, 9829 bytes)
pkts bytes target prot opt in out source destination

Para guardar permanentemente estas alterações (notar que as mesmas são gravadas no ficheiro /etc/sysconfig/iptables. Pode-se editar esse ficheiro, alterar a configuração e reiniciar o serviço de iptables service iptables restart para que as alterações entrem em vigor):

[root@webcentos ~]# service iptables save iptables:
iptables: A gravar regras da firewall em /etc/sysconfig/iptables: [ OK ]

Neste momento o sistema está sem regras configuradas. Noutra máquina podemos verificar os serviços disponibilizados com o comando nmap (nota:neste exemplo utilizam-se máquinas virtuais e endereços privados).
[root@exp01centos ~]# nmap 172.16.1.200

Starting Nmap 5.51 ( http://nmap.org ) at 2013-11-06 15:20 WET
Nmap scan report for 172.16.1.200
Host is up (0.00081s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
MAC Address: 08:00:27:6C:C1:FF (Cadmus Computer Systems)

Nmap done: 1 IP address (1 host up) scanned in 13.21 seconds

Vamos começar por mudar as políticas definidas para as 3 chains com os comandos

  • Verificar as regras atuais com o comando iptables -L -v.
  • [root@webcentos ~]#iptables -P INPUT DROP
  • [root@webcentos ~]#iptables -P OUTPUT DROP
  • [root@webcentos ~]#iptables -P FORWARD DROP

Naturalmente todo o tráfego para as 3 chains é agora descartado. Não podendo ser utilizado numa política, existe outra opção que rejeita o tráfego (REJECT) e que pode ser aplicada na definição das regras. Contudo, o REJECT notifica um eventual emissor que o pacote não pode ser entregue enquanto o DROP actua furtivamente, sendo por isso preferível. Neste momento a configuração existente não permite sequer o comando ping interno à própria máquina (endereço de loopback) . Mudando esse comportamento, adicionamos as primeiras regras:

[root@webcentos ~]#iptables -A INPUT -i lo -j ACCEPT
[root@webcentos ~]#iptables -A OUTPUT -o lo -j ACCEPT

Analisando os comandos, o -A adiciona uma linha às chains INPUT e OUTPUT. O -ié utilizado para especificar a interface incoming na chain INPUT e o -o para especificar a interface outgoing da chain OUTPUT. O -j específica a acção a tomar, neste caso, ACCEPT. Efectuando agora um ping ao localhost podemos aferir que já podemos testar o stack TCP/IP ...

Vejamos agora como permitir o acesso ao serviço SSH. Começa-se por adicionar uma regra que especifica a porta 22 (verificar portas e serviços associados com cat /etc/services:

[root@webcentos ~]#iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Poderia-se pensar que a partir de agora o acesso SSH já é permitido, contudo não é. O sistema permite pedidos destinados à porta 22 mas não está ainda configurado para permitir respostas, ou seja a comunicação é apenas unidireccional. Para permitir que seja bidireccional e que uma sessão SSH possa ser estabelecida é necessário adicionar o comando à chain OUTPUT:

[root@webcentos ~]#iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Saliente-se que para além de permitir de facto a ligação SSH este comando permite que sejam efectuadas todas as sessões TCP que tenham tido permissão para serem inicializadas. Quando a seguir adicionarmos a regra que permite o acesso HTTP e HTTPS não necessitamos de repetir este comando.

Configuramos as regra que permitem as ligações ao porto 80 para o serviço HTTP e 443 para HTTPS:

[root@webcentos ~]#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@webcentos ~]#iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Verificamos as regras configuradas até ao momento:

[root@webcentos ~]# iptables -L -v
Chain INPUT (policy DROP 83 packets, 6810 bytes)
pkts bytes target prot opt in out source destination
4 336 ACCEPT all -- lo any anywhere anywhere
97 7815 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
4 336 ACCEPT all -- any lo anywhere anywhere
82 23113 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED

Analisando o output verificamos que todo o tráfego da interface de loopback é permitido (lo) na chain INPUT e que todo o tráfego com destino SSH ou HTTP é também permitido. Existe um campo onde se pode verificar quantos pacotes foram processados pelas respectivas regras.

Para o FTP necessitamos de relembrar que o protocolo necessita de 2 portos para poder operar. O porto 20 para transferência de dados e o porto 21 para execução dos comandos. Podemos configurar duas regras, uma para cada porto, ou configurar uma regra que permita definir mais do que um porto usando para tal a opção multiport:

[root@webcentos ~]#iptables -A INPUT -m multiport -p tcp --port 21,20 -j ACCEPT

Neste momento a firewall está a gerir o tráfego conforme pedido. Guardamos a configuração definitivamente com o comando:

[root@webcentos ~]service iptables save

Imaginemos agora que se pretende que uma determinado endereço IP ou subnet obtenha acesso a qualquer serviço que esteja disponível. Nesse cenário a ordem das regras é fundamental visto que são processadas sequencialmente e se pretende que a regra criada para esse endereço IP seja cumprida. Para determinar o local preciso onde se pretende colocar a regra usa-se a opção -I seguida do nome da chain e do número onde se pretende a inserção da regra. Para determinar qual o número a usar necessitamos de verificar a ordem das regras. Para tal basta verificar a configuração com a opção --line-numbers:

[root@webcentos ~]iptables -L -v --line-numbers

O comando seguinte permite colocar a regra noutro local que não no fim da chain:

[root@webcentos ~]iptables -I INPUT 2 -s 192.168.100.1/24 -j ACCEPT

Guardar as alterações:

[root@webcentos ~]service iptables save

Relembre-se que a configuração do Netfilter conforme descrita não é a única possível. Dando alguns exemplos, pode-se editar os ficheiros de configuração, criar scripts com várias configurações e executá-los quando se pretende alterar o funcionamento da firewall, instalar uma ferramenta de administração via WEB como o webmin.....

Para IPv6 é necessário que o pacote iptables-ipv6 esteja instalado. O comando homólogo ao iptables para IPv6 é o iptables-ipv6. As regras são guardadas no ficheiro /etc/sysconfig/ip6tables. Futuramente será escrito um texto sobre firewall e IPv6 no CentOS.

10.31.2013

Montar uma pen USB em Linux

Montar um pen USB num sistema Linux sem modo gráfico.
Nos sistemas Linux com GUI é fácil colocar e retirar pens USB e discos externos. Surigirá logo informação sobre os novos dispositivos no ambiente de trabalho na maioria das distribuições. Para evitar a perda de dados, bastará garantir que não existe nenhum ficheiro aberto e com o botão direito do rato "desmontar" clicando na opção umout (umount e não unmount) ou similar. Num sistema onde não exista GUI é necessário efectuar manualmente os procedimentos para poder aceder à informação dos dispositivos externos, ordenando ao Linux que "monte" (comando mount), o dispositivo na estrutura de ficheiros do sistema.

  1. Aceder a um terminal com privilégios de root. Inserir a pen USB.
  2. Executar o comando dmseg para encontrar o nome que o sistema atríbuiu ao dispositivo. Este comando direciona mensagens sobre o hardware do Kernel do Linux para o standard output (por defeito, o monitor) e é muito útil para efeitos de troubleshotting em casos relacionados com a detecção de hardware. Recomenda-se que se obtenha mais informação sobre este comando e formas de o utilizar nas mais variadas situações. Para este caso concreto, o comando devolverá nas última linhas, o nome da pen USB, neste exemplo sdb:
    usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 2-1.2: Product: Flash Disk
    usb 2-1.2: Manufacturer: Usb 2
    usb 2-1.2: SerialNumber: 00005655851111ED
    usb 2-1.2: configuration #1 chosen from 1 choice
    Initializing USB Mass Storage driver...
    scsi6 : SCSI emulation for USB Mass Storage devices
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    usb-storage: device found at 3
    usb-storage: waiting for device to settle before scanning
    usb-storage: device scan complete
    scsi 6:0:0:0: Direct-Access Usb 2.0 Flash Disk 2.10 PQ: 0 ANSI: 2
    sd 6:0:0:0: Attached scsi generic sg2 type 0
    sd 6:0:0:0: [sdb] 4072448 512-byte logical blocks: (2.08 GB/1.94 GiB)
    sd 6:0:0:0: [sdb] Write Protect is off
    sd 6:0:0:0: [sdb] Mode Sense: 0b 00 00 08
    sd 6:0:0:0: [sdb] Assuming drive cache: write through
    sd 6:0:0:0: [sdb] Assuming drive cache: write through
    sdb:
    sd 6:0:0:0: [sdb] Assuming drive cache: write through
    sd 6:0:0:0: [sdb] Attached SCSI removable disk
  3. Executar o comando fdisk -cul /dev/sdb para verificar eventuais partições existentes na pen USB. Assume-se que existe uma partição com o nome /dev/sdb1
  4. Executar o comando mount /dev/sdb1 /mnt para "montar", ou seja colocar a pen USB na diretoria /mnt
  5. Executar o comando cd /mnt e listar a diretoria com o comando ls verificando assim o seu conteúdo. Para "desmontar" a pen USB não o pode fazer (erro "device is busy" surgirá) se tiver ficheiros abertos ou se estiver colocado na diretoria onde a pen USB se encontra. Assim e se for caso disso, executar cd sem argumentos para sair da directoria (para home) e executar umount /dev/sdb1

10.22.2013

Obter informações com RPM

Suponha-se que se pretende configurar o nome de um serviço e apenas se sabe o nome desse serviço. Com o nome do serviço e com o rpm é possível obter informações que permitam configurá-lo. Imagine-se um serviço xpto. O primeiro passo é executar o comando find /name -xpto, que irá percorrer todos os ficheiros do sistema e devolver como resultado da pesquisa aqueles que contiverem a string xpto. Sendo um software é muito provável que surja um resultado /usr/bin/xpto. Com base no resultado obtido é possível pesquisar o RPM de origem do xpto. Para tal usa-se o comando rpm -qf /usr/bin/xpto. Encontrado o RPM podemos verificar quais os ficheiros de configuração que este contem com o comando rpm -qc xpto ou se existe documentação específica com o comando rpm -qd xpto . Esta abordagem é muito útil quando se pretende obter instruções sobre software recém-instalado

Fonte: Red hat Enterprise 6 - Administration guide, Sybex

10.10.2013

Desabilitar SELinux com linha de comandos e GUI no CentOs 6.4

Verificar a versão :

[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)

Verificar o estado do SELINUX:

[root@localhost ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted

Visulizar o ficheiro de configuração:

[root@localhost ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Editar o ficheiro e alterar a configuração para:

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Reeiniciar o servidor:

[root@localhost ~]# init 6

Verificar estado do SELINUX após reeniciar:

[root@exp01centos ~]# sestatus
SELinux status: disabled

É necessário efectuar os passos descritos em modo root.

Com um GUI

  1. System --> Administration --> Security Level and Firewall
  2. Selecionar Selinux
  3. Selecionar Disabled e reiniciar o servidor.

As instruções são válidas para o RHEL 6.4

10.09.2013

Software gratuito de audio e vídeo (Players, edição....)


Players de Audio:
iTunes Player: http://www.apple.com/itunes/download/
foobar2000: http://www.foobar2000.org/download.html
MediaMonkey: http://www.mediamonkey.com/download/
Quintessencial Player: http://www.quinnware.com/downloads.php
AIMP: http://www.aimp.ru/
MusikCube: http://www.musikcube.com/
XMPlay: http://support.xmplay.com/
SongBird: http://getsongbird.com/
1by1: http://www.mpesch3.de1.cc/1by1.html#dwn


Players de Vídeo:

DivX Player: http://www.divx.com/divx/windows/
QuickTime: http://www.apple.com/quicktime/
QuickTime Alternative: http://filehippo.com/download_quicktime_alternative/
Zoom Player: http://pt.utilidades-utiles.com/download...layer.html
Multi:
KMPlayer: http://filehippo.com/download_kmplayer/
BSPlayer: http://www.bsplayer.org/
GOM Player: http://www.gomlab.com/eng/
JetAudio: http://www.cowonamerica.com/download/
Media Player Classic: http://filehippo.com/download_media_player_classic/
RealPlayer: http://filehippo.com/download_realplayer/
Real Alternative: http://filehippo.com/download_real_alternative/
VLC Media Player: http://www.videolan.org/vlc/
Winamp Media Player: http://www.winamp.com/
Windows Media Player: http://www.microsoft.com/windows/windows...fault.aspx
Dziobas Rar Player: http://dziobas-rar-player.en.softonic.com/
All-In-One Media Player: http://www.npssoftware.com/allinonemedia.../index.htm
Sigma Player: http://www.ngksoft.com/sigmaplayer.php
UMPLayer: http://www.umplayer.com/

CD/DVD Burners:
ImgBurn: http://www.imgburn.com/index.php?act=download
BurnAwareFree: http://www.burnaware.com/downloads.html
CDBurner: http://cdburnerxp.se/
InfraRecorder: http://infrarecorder.org/?page_id=5
Your Free DVD Burner: http://www.ourfreeware.com/index.htm


Conversores de Vídeo:
iWiSoft: http://www.easy-video-converter.com/index.html
Pazera: http://www.pazera-software.com/products/vcsuite/
FormatFactory: http://www.formatoz.com/PT_index.html
MediaCoder: http://mediacoderhq.com/download.htm

MP3 Tag Editor:
TagScanner: http://www.xdlab.ru/en/download.htm
MP3Tag: http://www.mp3tag.de/en/download.html
Kid3: http://kid3.sourceforge.net/
Picard: http://musicbrainz.org/doc/PicardDownload
MetaOGGER: http://www.luminescence-software.org/
MPTagThat: http://www.team-mediaportal.com/files/Do...TagEditor/

Edição de Vídeo:
AVIDemux: http://fixounet.free.fr/avidemux/download.html
VirtualDub: http://virtualdub.sourceforge.net/

Streaming Media Recorders:
CamStudio: http://camstudio.org/
Krut: http://sourceforge.net/projects/krut/files/
Audacity: http://audacity.sourceforge.net/download/windows
qplayer: http://qplayer.en.softonic.com/

CD/DVD Emulation Software:
Gizmo Drive: http://arainia.com/software/gizmo/download.html
MagiDisc: http://www.magiciso.com/download.htm
Virtual CloneDrive: http://www.slysoft.com/en/download.html
Furius ISO Mount: https://launchpad.net/furiusisomount

CD Rippers:
Exact Audio Copy: http://www.exactaudiocopy.de/en/index.ph.../download/
CDex: http://cdexos.sourceforge.net/?q=download
AudioGrabber: http://www.baixaki.com.br/download/audiograbber.htm

Edição de Audio:
Audacity: http://audacity.sourceforge.net/download/
Kristal Audio Engine: http://www.kreatives.org/kristal/index.p...n=download
Wavosaur: http://www.wavosaur.com/download.php

CD Recovery Utilities:
ISOBuster: http://www.smart-projects.net/isobusterdownload.php
CDCheck: http://www.softwarepatch.com/software/cd-recovery.html
DVdisaster: http://dvdisaster.net/en/download.html

Aceleradores de vídeo:
SpeedBit: http://www.videoaccelerator.com/download/

DVD Rippers:
HandBrake: http://handbrake.fr/downloads.php
Free DVD Ripper: http://www.gobuysoftware.com/Free-DVD-Ripper.html
WinX Free DVD Ripper: http://www.winxdvd.com/dvd-ripper/ (Limited Features)
Your Free DVD Ripper: http://www.ourfreeware.com/index.htm

DVD Authoring Software:
DVDFlick: http://www.dvdflick.net/download.php
DeVeDe: http://www.majorsilence.com/devede
VideoToDVD: http://www.koyotesoft.com/indexEn.html
DVDStyler: http://www.dvdstyler.org/

Software para colar, cortar e juntar ficheiros de audio:
mp3 DirectCut: http://mpesch3.de1.cc/mp3dc.html

Audio Joiners:
MakeitOne: http://www.makeitone.net/downloads/index.htm
Shuangs Audio Joiner: http://www.shuangsoft.com/Shuangs_Audio_Joiner.asp


Reset de permissões NFTS no Windows 7

Recentemente fiz uma migração para o Windows 7 (do Vista), num P.C com duas partições, C: e D: . A partição D: tinha pastas com permissões de segurança NFTS configuradas (alguns utilizadores locais do PC não podiam aceder a certas pastas, noutras apenas tinham permissões de leitura, etc.. Constatei que não conseguia editar e modificar as permissões NFTS. As ACLs tinham entradas fantasma dos antigos utilizadores. Felizmente o processo a seguir descrito resolveu o problema

Passos:

  1. Correr a consola em modo de Administrador: Menu Iniciar > Escrever "cmd" > Botão direito do rato sobre programa e seleccionar "Executar como administrador" ou "Run as Administrador". Colocar a password de administrador caso esteja a trabalhar com uma conta padrão. Note-se que é necessário seguir este passo, mesmo numa conta de administrador.
  2. Ir para a drive ou pasta onde ocorre o problema CD /D D:
  3. Executar o comando takeown /R /F * para assumir o controlo das pastas e ficheiros. Sem este passo, o próximo comando falhará.
  4. Executar o comando icacls * /T /Q /C /RESET.

Todas as permissões NFTS assumirão os valores por defeito, podendo-se efectuar a sua edição sem problemas

9.11.2013

Quantos watts o meu PC está a utilizar ?

Calculadora on-line para calcular quantos Watts o seu PC está a utilizar. Muito útil quando pretendemos adicionar novo hardware e temos dúvidas sobre a capacidade da fonte de alimentação. Obviamente terá que saber a capacidade máxima da sua fonte. http://extreme.outervision.com/psucalculatorlite.jsp

5.02.2013

Programas essenciais para LINUX

Web & Social media

AWSTATS : Ferramenta para gerar estatísticas avançados sobre o acesso à servidores FTP, HTTP e Servidores de E-mail.

TURPIAL: Cliente de Twitter para Linux.

FILEZILLA: Cliente de FTP.

WORDPRESS: Sistema de gestão de conteúdo que lhe permite criar e manter, de maneira simples e robusta, todo o conteúdo de um site.

SoapUI: Ferramenta open source escrita em Java cuja principal função é consumir e testar Web Services.

PhpMyAdmin: Aplicativo Web para administração de bases de dados MySql.

MEDIAWIKI: Programa para criação de Wikis.

RSSOwl: Leitor de feeds.

OFFICE

TASKCOACH: Agenda pessoal.

FREEMIND: Software para a criação de Mapas Mentais, que permite ao utilizador editar um conjunto hierárquico de ideias.

GOLDENDICT: Programa para trbalhar com dicionários.

BIBUS: Gestor de citações

STORYBOOK: Software para escrita organizada de contos.

REDNOTEBOOK: Software de agenda e anotações pessoais.

KILE: Editor user-friendly de LATEX (KDE)

LibreOffice: Suite de produtividade (excelente alternativa ao OFFICE da Microsoft)

ENTRETENIMENTO

SUBDOWNLOADER: Programa que permite pesquisar legendas na Internet.

HANDBRAKE: Programa que permite converter DVD's para MPEG.

VLC: Leitor multimédia também disponível para Windows.

DIGIKAM: Programa para organização de fotografias.

SUBSONIC : Servidor de streaming audio, web-based. Permite aceder à sua coleção musical a qualquer momento.

EASYTAG : Editor de tags de ficheiros mp3, vorbis, etc.

CLEMENTINE : Leitor de audio com funções avançadas e integração com serviços cloud.

CALIBRE : Gestor de Ebooks com recursos avançados.

gPODDER : Gestor de podcasts.

DESENVOLVIMENTO

VALGRIND: Software que permite auxiliar a depuração de código.

SCILAB: software alternativo ao MATLAB.

GTRANSLATOR: Software para auxílio na tradução de textos.

MELD: Ferramenta para comparação e sincronização de dados de ficheiros. (alternativa ao WINMERGE)

GEANY: Editor de texto multiplataforma.

TEA: Editor de texto

ARDUINO: Plataforma electrónica de hardware livre que permite desenvolver projetos complexos com baixíssimo custo.

BLUEFISH: Editor WEB wysiwyg

UTILITÁRIOS

CLONEZILLA: Ferramenta de backups.

BACULA: Ferramenta de backups.

KEEPASS: Gestor de passwords.

FreeFileSync: Ferramenta de sincronização de ficheiros e pastas.

FURIUSISOMount : Gestor de imagens ISO

REMMINA: Programa de RDP.

GPARTED: Gestor de partições.

WEBMIN: Gestor WEB para administração de sistemas LINUX.

1.16.2013

Instalação do Apache2 com suporte para PHP e MySQL no CentOS 6.3

Instalar o MySQL

[root@centos01 ~]#yum install mysql-server -y

Garantir que o MySQL arranca com o sistema

[root@centos01 ~]#chkconfig --levels 235 mysqld on

Iniciar o MySQL

[root@centos01 ~]#/etc/init.d/mysqld start

Configuraração básica do MySQL. Definição da password de root de acesso à base de dados

[root@centos01 ~]#mysql_secure_installation

Instalar o Apache2

[root@centos01 ~]# yum install httpd -y

Garantir que o MySQL arranca com o sistema

[root@centos01 ~]# chkconfig --levels 235 httpd on

Iniciar o Apache 2

[root@centos01 ~]# /etc/init.d/httpd start

Instalar o PHP como módulo ( Reeiniciar o Apache)

[root@centos01 ~]#yum install php

[root@centos01 ~]# /etc/init.d/httpd restart