Servidor dedicado (VM) por US$5 ao mês!
Saiba mais sobre a DigitanOcean: Adeus Amazon (AWS)... Olá DigitalOcean!

Faça uma recarga de celular e ganhe R$10 de volta!

Tag: shell

Criando usuários em lote utilizando Shell Script no Linux

Se você precisar, por exemplo, criar vários usuários para um script de configuração e instalação automática de um ambiente de trabalho (meu caso), essa dica pode ser bastante útil para você.

No exemplo abaixo, cada linha corresponde a um usuário. Você pode executar cada uma manualmente, ou colocar dentro de um script:

echo "joao:123456:1002:1002:joao:/home/joao:/bin/bash" | newusers
echo "maria:123456:1003:1003:maria:/home/maria:/bin/bash" | newusers

Cada trecho da linha significa uma coisa:

NOME DO USUÁRIO:SENHA:UID:GID:DESCRIÇÃO:DIRETÓRIO HOME:INTERPRETADOR
  • UID é o código individual do usuário. De maneira geral, você vai colocar um código diferente para cada um.
  • GID é o código individual do grupo. Sem muita firula, segue a mesma lógica do UID.

O básico é isso. 🙂

Fonte: http://www.cyberciti.biz/tips/linux-how-to-create-multiple-users-accounts-in-batch.html


Utilizando o Expect para automatizar um Shell Script interativo com ou sem parâmetros no Centos Linux 6

Em alguns momentos da vida de quem administra um servidor Linux, pode ser necessário utilizar o comando Expect. O expect é basicamente um "simulador de interações humanas", ou seja, ele simula o que você digitaria a partir de uma mensagem específica.

Sendo mais claro: Quando você digita um comando como:

ftp ftp.seusite.com

Em seguida aparece algo como:

220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 13:30. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 15 minutes of inactivity.
Name (ftp.seusite.com:usuario):

Nesse momento você precisa digitar seu usuário, e depois uma senha. Como fazer para automatizar essa atividade, caso você queirar executar como uma tarefa agendada no Cron?

É aí que entra o Expect!

Os exemplos abaixo foram testados no Centos Linux 6, mas nada impede que funcione em outras distribuições. Lembre-se que o Expect não é uma forma segura de passar senhas, pois as mesmas terão que ser armazenadas em texto plano. Entenda os scripts abaixo apenas como exemplo.

Primeiro, vamos instalar o expect (caso já não tenha instalado):

yum -y install expect

Depois vamos criar um script como no exemplo abaixo, lembrando de substituir ftp.seusite.com pelo seu servidor de FTP, usuario pelo seu usuário e senha pela sua senha:

#!/usr/bin/expect

spawn ftp ftp.seusite.com

set timeout -1

expect "Name"
send -- "usuario\r"

expect "Password"
send -- "senha\r"

expect "Using binary mode to transfer files."
send -- "ls\r"

expect eof

Executando o exemplo acima (lembre de dar um chmod +x no arquivo!), logamos na conta de FTP e listamos (ls) os arquivos da conta.

Se deu tudo certo, serão exibidos na tela os arquivos da sua conta de FTP. Agora vamos a um exemplo com a utilização de parâmetros.

A utilidade disso é que você pode criar um script genérico para utilizar sem precisar alterar o arquivo ou criar um novo para cada conta que você tenha. Vamos ao exemplo:

#!/usr/bin/expect

set usuario [lrange $argv 0 0]
set senha [lrange $argv 1 1]

spawn ftp ftp.seusite.com

set timeout -1

expect "Name"
send -- "$usuario\r"

expect "Password"
send -- "$senha\r"

expect "Using binary mode to transfer files."
send -- "ls\r"

expect eof

Entre na pasta onde o script está salvo, e chame da seguinte forma:

./nome_do_script usuario senha

Funcionou? Não funcionou? Tem dúvidas? Use os comentários!

Fonte: http://bash.cyberciti.biz/security/expect-ssh-login-script/


Quer aprender a usar o Linux? Que tal umas video-aulas em português pra ajudar?

Aprender a usar e administrar um desktop ou servidor Linux é curiosidade de muita gente – e não só quem trabalha com TI! – mas algumas vezes quando estamos estudando alguma coisa, ficamos empacados no início, sem saber muito pra onde ir.

Video-aulas são formas interessantes de ajudar a quebrar esse bloqueio, e quando são na sua lingua nativa, melhor ainda. É por isso que a ActiveInfo Tecnologia em Treinamentos, sediada em Curitiba disponibilizou um curso gratuito em vídeo-aulas sobre Administração de Sistemas Linux. É uma grande colaboração para os novos usuários e futuros administradores de sistemas Linux.

O curso é dividido em 13 partes:

  1. Introdução ao Linux
  2. Comandos Básicos
  3. Editores de Texto
  4. Usuários e Grupos
  5. Programação Shell Script
  6. Particionamento
  7. Instalação de Programas
  8. Agendamento de Tarefas
  9. Cotas de Disco
  10. Processos
  11. Hardware
  12. Compartilhamento
  13. Carregadores de Boot
     

Gostou? Então acesse aqui e comece a estudar!


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress