Pular para o conteúdo

[DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Responder tópico
  • Denunciar
  • Indicar

1. [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 20/07/2017 - 21:11h

Estou iniciando em SHELL SCRIPT, então resolvi começar com scripts simples porém estou com dificuldade, gostaria de saber onde errei nesse script e quais soluções cabivéis.

#!/bin/bash

# Autor: Zer02 .

# Para automação no processo de criação de usuário.

echo "Adicionar usuário:"
read user
useradd $user
echo "insira a senha de usuário $user:"
passwd $user

# Adicionar ao grupo (por defaut será criado no grupo root).

usermod -a -G sudo $user

# Altera o interpretador de linha de comando para (bash).
chsh -s /bin/bash $user

Responder tópico

2. Re: [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 21/07/2017 - 05:28h

linhas que começam com duas ## são minhas anotações



#!/bin/sh
## o script é bem simples, não tem necessidade de usar qualquer coisa do bash, pode usar /bin/sh.
## que é requerido existir em qualquer sistema que conforma com POSIX, seja ele Linux, Mac OSX, BSD, etc


# Autor: Zer02 .

# Para automação no processo de criação de usuário.

echo "Adicionar usuário:"
## Use -r no read
read -r user
## Adicione aspas duplas " " entre as variaveis para evitar que a expansão delas cause problemas
useradd "$user"
## Quando for escrever varieis prefira sempre usar printf em vez de echo, echo não tem seu uso bem
## definido e difere por implementação, printf tem essa garantia.
## quando for usar printf só usar
## printf "Texto %s \\n" "$variavel" o %s vai ser trocado pela $variavel, o \\n cria uma nova linha
## caso não queria uma nova linha só omitir o \\n
printf "insira a senha de usuário %s:\\n" "$user"
## denovo por aspas duplas nas variaveis, se estiver na duvida SEMPRE por aspas duplas pra garantir
passwd "$user"

# Adicionar ao grupo (por defaut será criado no grupo root).

usermod -a -G sudo "$user"

# Altera o interpretador de linha de comando para (bash).
chsh -s /bin/bash "$user"


3. Re: [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 21/07/2017 - 09:14h

Essa do printf x echo não conhecia.

4. Re: [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 21/07/2017 - 13:25h


Essa do printf x echo não conhecia.
è bem divertido, olha essa string -neEenenEene 1 2 3

* Se usar Bash a saida é: 1 2 3

* ele tambem não cria nova linha

Se usar dash que é o padrão /bin/sh de varias distros: -neEenenEene 1 2 3

Se usar echo do busybox: 1 2 3

Por isso voce nunca usa echo se não tiver completo controle da variavel


5. Re: [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 21/07/2017 - 13:41h

não sou programador. Uma curiosidade, é um Shell Script.

Funcionaria em outras distros, como Sabayon ou openSUSE, ou não? só nos Debian like?
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.

6. Re: [DUVIDA] SCRIPT SIMPLES PARA CRIAR USUÁRIO NO DEBIAN E DERIVADOS.

Enviado em 21/07/2017 - 16:05h

albfneto escreveu:

não sou programador. Uma curiosidade, é um Shell Script.

Funcionaria em outras distros, como Sabayon ou openSUSE, ou não? só nos Debian like?
Deve funcionar as utilididades useradd e usermod vem do pacote shadow, o adduser é especifico ao debian mas não é usado aqui.

deve funcionar em outras distros baseadas em Linux.

7. Foi gratificante sua contribuição.

Enviado em 23/07/2017 - 12:10h

north escreveu:

linhas que começam com duas ## são minhas anotações



#!/bin/sh
## o script é bem simples, não tem necessidade de usar qualquer coisa do bash, pode usar /bin/sh.
## que é requerido existir em qualquer sistema que conforma com POSIX, seja ele Linux, Mac OSX, BSD, etc


# Autor: Zer02 .

# Para automação no processo de criação de usuário.

echo "Adicionar usuário:"
## Use -r no read
read -r user
## Adicione aspas duplas " " entre as variaveis para evitar que a expansão delas cause problemas
useradd "$user"
## Quando for escrever varieis prefira sempre usar printf em vez de echo, echo não tem seu uso bem
## definido e difere por implementação, printf tem essa garantia.
## quando for usar printf só usar
## printf "Texto %s \\n" "$variavel" o %s vai ser trocado pela $variavel, o \\n cria uma nova linha
## caso não queria uma nova linha só omitir o \\n
printf "insira a senha de usuário %s:\\n" "$user"
## denovo por aspas duplas nas variaveis, se estiver na duvida SEMPRE por aspas duplas pra garantir
passwd "$user"

# Adicionar ao grupo (por defaut será criado no grupo root).

usermod -a -G sudo "$user"

# Altera o interpretador de linha de comando para (bash).
chsh -s /bin/bash "$user"

Caro amigo sua contribuição fora muito significante, me fez enxergar outros parâmetros, obrigado!


Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder