ago 082020
 

Limpar todo Histórico do root via ssh (linha de comando) no CentOS

Fala pessoal, hoje vamos deixar mais essa dicar para nossos visitantes e clientes.

O comando é simples, veja:

cat /dev/null > ~/.bash_history && history -c && exit

Entendendo o comando:
~/.bash_history  – é responsável por armazenar todas as linhas de comando executadas;
cat /dev/null > ~/.bash_history  – você está nulificando o conteúdo do “bash_history“;
history -c  – você está limpando inclusive a linha usada para nulificar o histórico usada anteriormente;
exit – você desconecta do usuário sem deixar rastros.

Valeu pessoal, espero ter ajudado!

jun 152020
 

O Sed é um editor de textos não interativo. Vem do inglês Stream Editor, ou seja, editor de fluxos (de texto).

O Sed é um editor de textos não interativo. Vem do inglês [S]tream [ED]itor, ou seja, editor de fluxos de texto. O Sed da GNU, atualmente é o utilizado pela maioria das distribuições de Linux e é o que tem mais funcionalidades novas: GNU/Linux.

É case sentive

  • -i altera o arquivo
  • -e imprime na tela sem alterar o arquivo
  • -n faz a supressão, mostra só o resutado do comando
  • s substitui um trecho de texto por outro
  • ! inverte a lógica do comando
  • ; separador de comandos
  • | separador de strings
  • d no final deleta
  • p no final imprime
  • g no final (como se usa o d e p) altera todas as ocorrências
  • q sai do sed , não continua o comando

Continue reading »

abr 192020
 

rsync é uma ferramenta de cópia e sincronização de arquivos e diretórios muito versátil e simples de utilizar. Com o rsync é possível copiar arquivos localmente (no mesmo sistema de arquivos), ou para um outro host na rede utilizando qualquer shell remoto, ou ainda por meio de um daemon remoto do rsync.

O rsync utiliza um algoritmo de transferência de dados que permite enviar apenas as diferenças entre os arquivos enviados e os existentes no destino, desta forma diminuindo a quantidade de dados enviados, e aumentando a performance da transferência. Por isso, é largamente utilizado como ferramenta de backup de dados, assim como comando de cópia normal do dia-a-dia.

O rsync também possui suporte à cópia de links, dispositivos, proprietários, grupos e permissões, além de não necessitar de privilégios de superusuário (root) para realizar seu trabalho.

Para que os dados sejam transferidos com segurança, o rsync assume que um servidor SSH esteja em execução ao menos em um dos hosts onde ocorrerá a transferência de arquivos.

Continue reading »

Comando de ftp (linha de comando)

 Clusterweb, ClusterWeb, Leitura Recomendada, Linux, Profissional de TI, Redes, Segurança, Ubuntu  Comentários desativados em Comando de ftp (linha de comando)
jun 252015
 
Começaremos com os comandos mais importantes terminando com os menos utilizados ao nosso entender.

OPEN

Com este comando se abre uma sessão com o ftp selecionado. Este comando não funcionaria sem previamente ter estabelecido conexão com o servidor FTP mediante a seguinte sintaxe:

ftp 212.152.1.22
Podendo substituir o endereço pelo nome do ftp do domínio ao que deseja acessar.

CLOSE

Como é evidente, com este comando se fecha sessão. Continue reading »

abr 202015
 

INTRODUÇÃO

 

Minimizar arquivos CSS e Javascript é o processo de remoção de caracteres desnecessários, tais como espaços, tabulações, comentários, abreviar variáveis etc. O objetivo é reduzir o tamanho dos arquivos e consequentemente acelerar o processo de download e renderização de uma página web.

Para esta tarefa existem dezenas de ferramentas online, mas o objetivo do artigo é apresentar formas de obter o mesmo resultado a partir do terminal GNU/Linux, afinal de contas nada é mais produtivo que a boa e velha tela preta!
Continue reading »

Comando sudo – instalação e configuração

 Clusterweb, Firewall, Linux, Proxy, Redes  Comentários desativados em Comando sudo – instalação e configuração
maio 302013
 
Introdução

Descrição sobre o sudo

O sudo permite um usuário em particular execute vários comandos como super usuário sem que possua sua senha, ou seja sem a senha do root.

Há uma descrição completa do pacote em:

Instalação

Primeiramente devemos instalar o sudo para poder configurá-lo. Têm-se três possíveis maneira de instalar o sudo, pelos: fonte, binários e instaladores.

Dependências:

A instalação do sudo depende de outros módulos e bibliotecas que deverão ser instaladas anteriormente:

  • perl
  • make
  • Class::Accessor
  • IPC::Run

Instalação através de pacote fonte:

O fonte do sudo pode ser obtido na URL abaixo.

No pacote há os seguintes arquivos: Sudo-0.21/, Sudo-0.21/Changes, Sudo-0.21/lib/, Sudo-0.21/lib/Sudo.pm, Sudo-0.21/Makefile.PL, Sudo-0.21/MANIFEST, Sudo-0.21/README, Sudo-0.21/t/, Sudo-0.21/t/Sudo.t.

Como superusuário execute os passos seguintes:

passo 1: baixar o pacote

# wget http://search.cpan.org/CPAN/authors/id/L/LA/LANDMAN/Sudo-0.21.tar.gz

passo 2: desempacotar

# tar -xvzf Sudo-0.21.tar.gz -C /tmp

passo 3: compilar

# perl Makefile.PL
# make
# make test

passo 4: instalar

# make install

Instalação através de pacote binário:

Localize o binário referente a distro (FC6,Debian, ubuntu, slack, e outras) e plataforma (i386, amd64 e outras) utilizada.

Fedora:

# rpm -Uvh sudo-1.6.8p12-10.i386.rpm

Debian:

# dpkg -i sudo_1.6.8p7-1.4_i386.deb

Instalação através dos instaladores ou utilitários:

Dentre os diversos instaladores, que sua função principal é calcular as dependências automaticamente, temos synaptic (fedora, mandriva, debian), aptitude (debian, ubuntu), yast (suse), apt (fedora, debian, e outros), yum (fedora). Existem inúmeras particularidades, iremos demonstrar os mais comuns.

APT:

# apt-get install sudo

YUM:

# yum install sudo

Configurando o sudo

O arquivo de configuração do sudo é o /etc/sudoers, onde se encontra as permissões e usuários que poderam executar algum comando.

Geralmente, em algumas distros, este arquivo é protegido conta edição, existindo um comando exclusivo para manipulação, o comando visudo. O qual deve-se utilizar para edição do sudo.

Com o comando sudo pode-se delegar autoridade para execução de comandos ou coleção de comandos exclusivos a um usuário especifico ou a um grupo de usuários.

OBS: O arquivo de configuração /etc/sudoers deve ser editado unicamente pelo comando *’visudo’.*

Com o sudo o administrador pode especificar que um determinado usuário só poderá executar um comando com status administrativo de um host específico.

Host Aliases:

Pode definir alias para grupos de máquinas ou para host específico.

Exemplos:

Host_Alias     FILESERVERS = fs1, fs2 # com dns local 
Host_Alias     MAILSERVERS = 10.0.0.1, 10.1.1.1 
Host_Alias     SERVERS = 10.0.0.2, dns, firewall, dhcp, www
User Aliases:

Pode definir alias para grupos de usuários ou para um usuário específico. Inclusive com informações oriundas de LDAP, NIS, AD e arquivos de configuração do Linux.

Exemplos:

User_Alias ADM = %groupname %administradores 
User_Alias ADMINS = ricardobn, ricardo.brito 
User_Alias WEBMASTERS = pedro, rodrigo, eliana
Command Aliases:

Pode definir alias para grupos de comandos ou para um comando específico.

Cmnd_Alias     DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\ 
                       /usr/sbin/restore, /usr/sbin/rrestore 
Cmnd_Alias     KILL = /usr/bin/kill 
Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm 
Cmnd_Alias     SHUTDOWN = /usr/sbin/shutdown 
Cmnd_Alias     HALT = /usr/sbin/halt 
Cmnd_Alias     REBOOT = /usr/sbin/reboot 
Cmnd_Alias     SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \ 
               /usr/local/bin/tcsh, /usr/bin/rsh, \ 
               /usr/local/bin/zsh 
Cmnd_Alias     SU = /usr/bin/su
Subgrupo para administração de rede:
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
Subgrupo para Instalação e gerenciamento de software:
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Subgrupo para administração de serviços:
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Subgrupo para administração de atualização da base de dados local:
Cmnd_Alias LOCATE = /usr/sbin/updatedb
Subgrupo para administração dos dispositivos de bloco:
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
Subgrupo para administração para Delegação de permissões:
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
Subgrupo para administração de Processos:
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
Subgrupo para administração de Drivers:
Cmnd_Alias DRIVERS = /sbin/modprobe
Configurações avançadas

Delegação de autoridade:

É aconselhável desabilitar o *”ssh hostname sudo <cmd>”*, porque executando o ssh desta maneira será apresentado a senha em claro. Em vez disto execute *”ssh -t hostname sudo <cmd>”*

Esta é a parte principal, que habilita o que o usuário pode executar e em que máquina. O arquivo /etc/sudoers pode ser compartilhado entre múltiplos sistemas para que se tenha efeito.

Sintaxe:

user    MACHINE=COMMANDS

Seção de Comandos:

Permite ao usuário root executar qualquer comando de qualquer lugar;

root    ALL=(ALL)     ALL

Permite aos membros do grupo ‘sys’ executarem todos os comandos especificados neste alias:

%sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

Permite aos membros do grupos wheel executarem todos os comandos:

%wheel    ALL=(ALL)    ALL

Permite aos membros do grupos wheel executarem todos os comandos sem a necessidade de senhas:

%wheel    ALL=(ALL)    NOPASSWD: ALL

Permite a todos os membros do grupo ‘users’ executarem os comandos mount e umount sobre o cdrom como superusuário:

%users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

Permite a todos os membros do grupo ‘users’ executar o comando ‘shutdown’:

%users  localhost=/sbin/shutdown -h now

Permite a todos os usuários listados no alias ‘ADMINS’ executem comandos como superusuários sem a necessidade de senhas.

ADMINS    ALL=(ALL)    NOPASSWD: ALL

Permite as usuários listados no alias ‘ADM’ executarem os comandos listados em ‘STORAGE’ nos host de ‘FILESERVERS’ sem a necessidade de senhas:

ADM   FILESERVERS=NOPASSWD: STORAGE

Permite ao usuário ‘ricardo.brito’ executar os comandos kill e iptables na máquina 10.1.1.1, entretanto o comando iptables ele pode executar sem senha:

ricardo.brito    10.1.1.1 = NOPASSWD:/bin/iptables , PASSWD: /bin/kill

Permite ao usuário ‘ricardo.brito’ executar o comando ‘passwd’ para modificar a senha dos usuários nos servidores de email ‘MAILSERVERS’, exceto a senha do root:

ricardo.brito           MAILSERVERS = /usr/bin/passwd [A-z]*, !/usr/bin/passwd root

Proíbe ao usuário ‘john’ executar o comando ‘su -‘, ‘su – root’ ou ‘su root’ na máquina ‘penta’:

john        penta = /usr/bin/su [!-]*, !/usr/bin/su *root*

Para qualquer máquina no Host_Alias SERVERS o usuário jill pode executar qualquer comando do diretórios /usr/bin/ exceto os comandos descritos nos Cmnd_Aliases ‘SU’ e ‘SHELLS’:

jill           SERVERS = /usr/bin/, !SU, !SHELLS

No host www, qualquer usuário do User_Alias WEBMASTERS, pode qualquer comando como usuário (www) ou apenas o ‘su www’.

WEBMASTERS     www = (www) ALL, (root) /usr/bin/su www

Os usuários do grupo de rede secretaries podem gerenciar as impressoras bem como adicionar e remover usuários em todos os hosts.

+secretaries   ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser

O usuário ‘jen’ pode executar qualquer comando, exceto nos servidores do Host_Alias SERVERS:

jen            ALL, !SERVERS = ALL

# O usuários do grupo ‘users’ podem executar os comandos ‘STORAGE’ nos hosts ‘FILESERVERS’:

%users FILESERVERS=STORAGE

Configuração das variáveis de ambiente

Para que se tenha um bom resultado o diretório dos executáveis devem estar disponíveis no PATH, para os usuários que poderam executar os comando somente de root, os securetty. Geralmente são todos os diretórios que começam com ‘s’ (/usr/kerberos/sbin:/usr/local/sbin:/sbin: /usr/sbin/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin).

Se não for configurado o path, tem a necessidade de digitar o caminho absoluto do comando para conseguir executá-lo. ex: /sbin/iptables -L

Variáveis de seção (Volátil)

A configuração volátil é perdida sempre que o usuário finaliza a seção, desliga a máquina ou algo parecido.

Em um terminal execute:

# PATH=$PATH:/usr/kerberos/sbin:/usr/local/sbin:/sbin:\
/usr/sbin/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin

Variáveis de ambiente do usuário

Para configurar de maneira permanente, deve editar o arquivo ‘~/.bash_profile’ para adicionar os diretórios no PATH como exemplo abaixo, a linha sublinhada, esta modificação é realizada para cada usuário que terá acesso aos comandos de root, indicada se forem poucos usuários.

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
_PATH=$PATH:/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin_
PATH=$PATH:$HOME/bin
export PATH

Variáveis de ambiente do sistema

Esta solução não é indicada para poucos usuários, e para máquinas que não são servidores*, pois dos os comandos de root ficaram disponíveis para todos os usuários do sistema, embora quem não tenha permissão de execução não possa fazer muita coisa não é aconselhável devido a prováveis bugs de alguns pacotes, que poderão ser acidentalmente executados.

Em um terminal execute:

# echo ‘PATH=$PATH:/usr/kerberos/sbin:/usr/local/sbin:/sbin:\
/usr/sbin/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin’ >> /etc/profile

Para se ter mais segurança do que se esta fazendo você pode usar o seu editor de texto predileto (vim, vi, nano, etc), e adicionar ‘PATH=$PATH:/usr/kerberos/sbin:/usr/local/sbin:/sbin: /usr/sbin/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin’ este trecho na última linha.

Ponto!