… executando script com um usuário via sudo
Se um script estiver sido escrito por um usuário, mas precisar ser rodado por um outro usuário, teremos que fazer algumas modificações no sudores, incluindo nele o usuário que será chamado para a futura execução.
Edite o arquivo /etc/sudoers com o comando:
# visudo
No exemplo o SCRIPT1 será então executado. TESTUSER será o alias dos usuários que tem permissão para executar o arquivo via sudo e test é o usuário que irá rodá-lo inicialmente.
Adicione o seguinte item no arquivo /etc/sudoers.
Cmnd_Alias SCRIPT1=/bin/blah.sh
User_Alias TESTUSER=test,test1,test2
Defaults:TESTUSER runas_default=test
TESTUSER ALL=NOPASSWD: SCRIPT1
Se o comando sudo /bin/blah.sh for chamado pelo usuário test, test1 ou test2 ele será executado com o usuário test.
… como apresentar o label da partição swap.
Para visualizar o label da minha partição swap:
# blkid -s LABEL /dev/<partição>
Este comando também apresenta o label para qualquer tipo de partição.
… fedora 9 – flash sem som no firefox – dica 2
O Diego mandou a seguinte dica, caso você também esteja sem som no flash. Eu até já havia criado uma dica há algum tempo atrás, mas a indicação do Diego é bem mais simples !!!
Baixe o arquivo aqui
E entao instalá-lo (exemplo) :
# rpm -ihv flash-plugin-9.0.124.0-release.i386.rpm
# yum -y install libflashsupport
Após isso, só foi reiniciar o Firefox e o som funcionou sem problemas.
Fica ai a dica.
Obrigado Diego.
… martian source
As vezes nos deparamos com os ” malditos” martian sources. Seja quando estamos configurando uma interface ou mesmo quando nosso roteador/switch nos mostra algo de errado na rede, e eis que surge a famosa frase “matian source”, sò então somos obrigados a pesquisar o que significa aquilo.
Bem, martian sources aparecem nas seguintes ocasiões:
- Quando temos uma vlan e alguma maquina de uma rede diferente tenta acessar vlan. Exemplo: Minha vlan: 192.168.0.0/24, porem uma maquina qualquer se conecta fisicamente e usa o seguinte ip: 10.10.10.1 pronto !!!! Ai esta o pronto, ja que a minha vlan reconhecera aqueles pacotes como algo vindo de outra rede.
- Pacotes marcianos são aqueles que chegaram por uma interface, mas cuja resposta deve sair por outra. Geralmente são indicativos de redes mal-configuradas ou então de tentativas de ataque.
Uma das curas para quando surgir martian source no seu /var/log/messages. Isso apenas desabilita as mensagens, e neste caso devemos ainda procurar a maquina que cria esta mensagem.
Acesse o arquivo /etc/sysctl e alterar a seguinte flag:
de:
# If active, logs ‘impossible’ source addresses
net.ipv4.conf.all.log_martians = 1
para:
# If active, logs ‘impossible’ source addresses
net.ipv4.conf.all.log_martians = 0
… placa de rede – ordenação
Quantas vezes nâo precisei da solução abaixo, mas nunca encontrei uma resposta na Internet, até que fuçando o Fedora 9 e precisando de algo rápido e definitivo eis que encontrei um diretório chamado /etc/udev, á se eu soubesse disso antes.
Mas vamos aos fatos, como fazer com que sua placa de rede sempre seja atrelada a um mesmo ALIAS. Mas vamos a um pouco de teoria e explicação ao caso:
Suponhamos que temos 2 placas de rede (eth0 e eth1), porém para o nosso desespero a eth1 para de funcionar e então colocamos uma nova placa. O problema é que a próxima placa terá como alias eth2, mesmo a eth1 já não existindo mais. Mas como fazer com que esta nova placa seja reconhecido como eth1…..
Vamos ao grande lance, basta entrar em /etc/udev/rules.d e abrir o arquivo 70-persistent-net.rules e então fazer com que a entrada da sua placa velha, seja retirada e adicione a nova. Um exemplo:
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# nVidia Corporation CK8S Ethernet Controller (rule written by anaconda)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:13:d4:66:2c:ab”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″
Então vou pegar o MAC address da nova placa e substituir no local onde está em negrito e então salvar.
Pronto, caso tenham dúvida entrem em contato.
t+
… conhecimento compartilhado.
Após o meu pedido de ajuda no blog, algumas pessoas se prontificaram a me ajudar nesta longa jornada !!!! A de escrever um blog e adicionar conceitos do projeto Fedora, pois acho que os demais sites relacionados a distribuição fogem um pouco da ligação ao qual este site se compromete !!!
Portanto, neste caso ja me adianto que seremos muitos mais ativos na comunidade e que o site será atualizado com a maior frequência !!! Chega de correr por dicas em incontáveis sites, ou mesmo de refazer a “roda”. Novidades em breve surgirão..e agradeço ao Angelo Valentim Merlo, que inicia no apoio ao site/comunidade para documentarmos e mostrarmos o quão fácil, segura, estavel é a distro (Fedora)….e que venha o Fedora 10.
Obrigado..
… fedora 9 – conflito de pacotes
Após instalar o Fedora e todos os repositórios que costuma usar no Fedora 8, começaram os problemas. O primeiro pacote que estava me dando dor de cabeça foi o vlc (ferramenta para audio e video), e ai buscando uma solução na net, segue um resumo do caso e solução.
Como o meu vlc estava tentado ser sobrescrito por um versão mais nova do repositório atrpms, decidi deixar os respositórios livna e fedora protegidos, contra possíveis atualizações de outros repositórios sobre eles, ou seja, um pacote que é instalado do repositório fedora só pode ser atualizado por este repositório. O mesmo vai acontecer com o livna.
Acesse como root o sistema e execute os comandos abaixo:
Isso resolveu o problema.
… pulseaudio – mplayer e youtube
Após executar qualquer aplicação que envolvia som (youtube) e depois executar o mplayer, eu recebia a seguinte mensagem:
mplayer -ao alsa:device=bluetooth filemp3 MPlayer dev-SVN-r24986-4.2.2 (C) 2000-2007 MPlayer Team CPU: Genuine Intel(R) CPU T2300 @ 1.66GHz (Family: 6, Model: 14, Stepping:CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 116 audio & 237 video codecs Playing filemp3. Audio file file format detected. ======================================================================= Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ======================================================================= bt_audio_service_open: connect() failed: Connection refused (111) [AO_ALSA] Playback open error: Connection refused Could not open/initialize audio device -> no sound. Audio: no sound video: no video Exiting... (End of file)
Ou seja, o meu driver de som ficava travado. Tentei então alterar as permissões, mas não resolveu o meu problema.
Em uma busca na Internet percebi que vários usuários tiveram o mesmo problema, e finalmente com o entendimento mais profundo da questão “PULSEAUDIO” resolvi o problema.
Por default o setup de som trabalha da seguinte forma:
1) /etc/alsa/pulse-default.conf faz pcm.pulse o device default ALSA.
- Este é o arquivo que é usado pelo alsa-plugins-pulseaudio.
2) Quando você loga no gdm/kdm, o HAL (Hardware Access Layer) configura o acesso ao driver ALSA para leitura/gravação.
3) Quando GNOME/KDE/etc iniciam, eles inicializam o serviço de pulseaudio.
- Atualmente o GNOME inicializa o ESD, mas /usr/bin/esd -> esdcompat
- esdcompat é uma ferramenta do pacote pulse-audio-compat
- Já o kde-setting-pulseaudio usa o arquivo /etc/kde/env/pulseaudio.sh
4) Portanto a execução de qualquer aplicação de som no Fedora, faz uso exclusivamente do driver ALSA e ESD por default. E todas estas ligações são gerenciadas pelo servidor de som (pulseaudio).
Então se você não usa GNOME ou KDE, primeiramente devará fazer upgrade do seu sistema:
# sudo yum groupupdate sound-and-video gnome-desktop kde-desktop
Mas para resolver o nosso problema inicial?
Basta apenas desabilitar o pulseaudio para o dispositivo ALSA, da seguinte forma: removendo ou mesmo renomeando o arquivo /etc/alsa/pulse-default.conf, sendo esta, a forma mais fácil que encontrei. Então agora é usar o som do seu micro com qualquer aplicação, sem novos travamentos.
Boa sorte, t+
… “cooperação?”
Tudo no lado opensource se baseia em cooperação, e é por isso que também peço a ajuda dos demais usuários, para aumentar as informações,dicas,notícias, artigos relacionados ao Linux. Mas não como um todo, tudo direcionado ao Fedora.
Embora existam inúmeros sites de Fedora, gostaria que com ajuda de outros usuários, criassemos um site único, com dicas exclusivas para o Fedora (6,7,8,9….)
No começo os artigos podem ser enviados diretamente para meu e-mail (adamantina.rodrigo@gmail.com)
Portanto aguardo resposta de outros usuários, que como eu, pretendem mostrar uma outra visão do ambiente FEDORA, uma distribuição que se diferencia pela estabilidade, flexibilidade, segurança e acima de tudo a sua facilidade.
Obrigado á todos, e fico aguardando contato. t+
… desktop perfeito com fedora 9
Há uma série de artigos que são publicados na HOWFORGE (www.howtoforge.com). Segue um destes ótimos artigos, ao qual é apresentado como criar um desktop com Fedora 9 e suas maiores funcionalidades. Seguindo uma linha simples de demostração desde a instalação até a personalização de diversos serviços como: configuração do nautilius, renderização de fontes,configuração de serviços, yum, selinux, e outros…
Parte 1: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome
Parte 2: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p2
Parte 3: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p3
Parte 4: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p4
Parte 5: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p5
Parte 6: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p6
Parte 7: http://www.howtoforge.com/the-perfect-desktop-fedora9-gnome-p7
Boa sorte t+
… easylife no fedora 9
Acabou de ser publicado no http://www.projetofedora.org/ a notícia de que a ferramenta EASYLIFE já esta disponível para o Fedora 9. Segue alguns recursos do EASYLIFE (http://easylife.dulinux.com)
- Configuração do “sudo” para usuarios regulares;
- Intalação do plugin Flash Player;
- Instalação todos os tipos de Codecs;
- Instalação de fontes adicionais;
- Instalação do repositório LIVNA;
- Instalação do skype;
- Instalação do SUN Java com system-switch-java;
- Instalação do plugin SUN Java e SUN Java Plugin para Firefox;
- Instalação do Adobe Reader;
- E muito mais….
… ulimit e sysctl
Com o ulimit e sysctl você pode configurar uma série de recursos default. Exemplo: Quando um usuário inicia muitos processos e o sistema acaba travando, neste caso podemos limitar os recursos para tal usuário, para que assim este caso não volte a ocorrer.
Código 1: Exemplo de ulimit
# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals (-i) 8191 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 8191 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Todas estas configurações podem ser manipuladas. Um bom exemplo é a possibilidade é limitar a criação de forks que podem resultar em uma parada do sistema.
Código 2: Bash e um fork bomb
$){
:& };:
Isso não é bom – alguns usuários com acesso ao shell, podem ficar sem acesso por conta do código acima. Mas podemos limitar o usuário a iniciar 30 processos, sendo o dano ao nosso sistema minimo.
Código 3: Setando o limite de processos
# ulimit -u 30 # ulimit -a … max user processes (-u) 30 …
Se você tentar rodar o forkbomb ele deverá rodar, porém será apresentada a seguinte mensagem: “fork: resource temporarily unavailable”. Pois ele não deixará com que o forkbomb inicie mais processos do que foi setado anteriormente (neste caso 30).
Código 4: Explorando as variáveis do sysctl
# sysctl -a … vm.swappiness = 60 …
A lista de variáveis que podem ser manipuladas é grande (367 linhas no meu sistema). Uma outra variável útil é o vm.swappiness. Ela controla como será usada o swap (com máximo de 100) ou mais swap será usada. Lembrando que este usado inapropriado de swap, influencia diretamente na performance do sistema, já que não haverá memória quando se utiliza swap.
Código 5: Reduzindo swappiness
# sysctl vm.swappiness=0 vm.swappiness = 0
Referência: http://www.gentoo.org/news/en/gwn/20050808-newsletter.xml
… desabilitando o uptime para maquinas externas
Com a ferramenta certa de “sniff” após analisar as portas abertas de uma máquina, também é arepsentado o uptime da máquina atacada. Uma ferramenta que demonstra a falha mencionada é o nmap.
Exemplo de saída do nmap:
Interesting ports on 192.168.70.121: PORT STATE SERVICE 80/tcp open http 81/tcp closed hosts2-ns Device type: general purpose Running: Linux 2.4.X|2.5.X OS details: Linux Kernel 2.4.18 - 2.5.70 (X86) Uptime 0.667 days (since Thu Oct 21 03:21:03 2004)
Esta estatística de uptime pode ser desabilitada usando o seguinte comando:
echo 0>/proc/sys/net/ipv4/tcp_timestamp
Rodando o nmap após a alteração:
... Running: Linux 2.4.X|2.5.X OS details: Linux Kernel 2.4.0 - 2.5.20 w/o tcp_timestamps ...
Você também pode adicionar este comando diretamente no /etc/sysctl:
net.ipv4.tcp_timestamp=0
… convertendo unix timestamp
Algumas vezes as ferramentas no apresentam informações no formato timestamp. Unix timestamp são apresentados em um formato ilegivel, já que são apresentados os segundos desde 01/01/1970.
Para converter este formato em algo legível, cole o script abaixo em um arquivo e execute-o.
#!/bin/awk -f
{ print strftime("%c", $0); }
Executando o script:
echo "your timestamp" | scriptname
Exemplo: Convertendo de timestamp para uma data/horário legível.
$ date +%s 1098181096 $ echo "1098181096" | convertunixtime Tue Oct 19 12:18:16 2004
… introdução ao – - flag
Uma introdução ao – - flag. O flag tem muitas utilidades, mas nem sempre é documentado. Contudo, nós podemos demonstar algumas maneiras fáceis e uteis de uso, especialmente com arquivos com nomes usando caracteres especiais.
O –flag força o uso de um argumento após o comando. Ele pode ser extremamente útil quando tentamos deletar um arquivo que começa com – , como normalmente indica uma opção ou flag.
Por exemplo, assumindo que o arquivo tenha o seguinte nome -file, e ele precisa ser deletado. Normalmente voce usa o comando rm para deletar arquivo, mas ele não irá funcionar, já que irá “entender” o sinal de “-” como uma flag. Mas usando o – - flag , nos forçamos o rm a reconhecer o -file como um argumento e não uma opção.
Exemplo 1: Usando o – - flag
# ls -file # rm -file rm: invalid option -- l Try `rm --help' for more information # rm -- -file # ls // -file was successfully removed
Referência: Para mais informações, veja man 3 getopt
Deixe um comentário