Como exibir asteriscos ao digitar a senha do SUDO

Tradicionalmente, na linha de comando do Linux/UNIX, a linha de autenticação, onde digitamos nossa senha, não exibe qualquer feedback.
Como recurso de segurança, este comportamento impede que alguém veja, por sobre o seu ombro, quantos caracteres a sua senha possui.
Os ambientes gráficos, contudo, têm comportamento padrão diferente.
Quase todos, exibem uma bola, um ponto ou um asterisco para cada caractere digitado.
O KDE Plasma permite configurar facilmente a tela de autenticação (KDM) para exibir 3 símbolos para cada caractere digitado — o que dá à sua senha a aparência de ser bem maior do que realmente é.
Vale tudo para enganar os bisbilhoteiros.
Se você prefere obter uma visualização da quantidade de caracteres digitados no seu campo de senha, na autenticação do sudo, pode fazer este ajuste no arquivo sudoers.
O procedimento é simples. Acompanhe os passos, abaixo:
Abra o arquivo de configuração:


sudo visudo

Em seguida, encontre a linha


Defaults		env_reset

e acrescente o parâmetro ,pwfeedback.
A linha deve ficar assim:


Defaults		env_reset,pwfeedback

Se você preferir, pode criar uma linha Defaults adicional com o novo parâmetro, assim:


Defaults		pwfeedback

Fica a seu critério.
sudo visudo password


Leia mais dicas de configuração e uso do comando sudo em ambientes Linux e UNIX.

Conteúdo relacionado pelo Google

Altere o tempo máximo de cada sessão do SUDO

O comando sudo é o que permite a um usuário normal ou ao sysadmin administrar o sistema, sem precisar autenticar como root.
Com o sudo, você executa rapidamente uma tarefa – investido de superpoderes – e volta ao prompt de seu usuário normal em seguida.
Dar acesso a este recurso, pode ser uma forma mais segura de conceder poderes administrativos a usuários normais do seu sistema — sem revelar a senha do root.
Como comportamento padrão, uma sessão do sudo dura 15 minutos. Durante este período de tempo, não é pedido qualquer senha ao usuário.
Se você acredita que este tempo é muito curto ou muito longo, é fácil alterá-lo.

No meu caso, acredito que 5 minutos é tempo suficiente para realizar qualquer tarefa administrativa no sistema.

Quando é necessário executar vários comandos com privilégios administrativos (e que irão demorar mais do que 5 minutos para serem executados), prefiro digitar a minha senha algumas vezes a mais — sem problemas.


Por outro lado, este post ensina a executar vários comandos, em fila, usando o sudo, sem precisar se preocupar com a expiração do tempo. Recomendo a leitura.

Como configurar o tempo de expiração da sessão do sudo

A maneira adequada de ajustar os parâmetros do sudo é através do visudo.

O visudo edita o arquivo sudoers de maneira segura — protegendo-o contra alterações simultâneas e fazendo verificação básica de erros.

Nas grandes distribuições, como Debian e no Ubuntu, o programa irá abrir, por padrão, o editor de textos Nano.
Neste caso, quando terminar a edição, use as combinações de teclas ‘Ctrl-o’ e ‘Ctrl-x’, para gravar e sair do editor.
Se, na sua distro, o editor padrão for o vi ou o vim, tecle ‘Esc’ e, em seguida, ‘:wq’ e ‘Enter’, quando terminar de alterar o sudoers.
Você pode rodar o visudo com o próprio sudo:

sudo visudo

Em seguida, localize a linha (que deve estar no começo):


Defaults        env_reset

e altere-a para


Defaults        env_reset,timestamp_timeout=5

Como eu já disse, prefiro que o valor da minha variável timestamp_timeout seja 5 (minutos). Você deve usar o valor que considerar mais adequado às suas necessidades.
sudo sudoers environment variables

Como evitar que a sessão do sudo expire

Se você precisa que a sua sessão fique ativa indefinidamente (ou pelo menos até você se desautenticar do sistema), use o sudo combinado com as seguintes opções:


sudo -s

[sudo] senha para justincase: 

Outros usuários preferem usar o sudo para logar-se diretamente como root:


sudo su

Em qualquer um dos casos, quando terminar, use ‘exit’ para sair:

root@inspiration:/home/justincase# exit
exit

Conteúdo relacionado pelo Google

Como rodar múltiplos comandos usando o sudo, no Linux e UNIX

Você pode usar uma técnica muito simples, para rodar múltiplos comandos — que precisem de privilégios administrativos.
Se você já sabe como rodar um comando atrás do outro, em fila, como no exemplo abaixo, talvez saiba que, ao fazer isto com o sudo, frequentemente a senha dada “perde a validade”, deixando a sequencia de comandos em espera.
teclado dell
Para rodar uma sequencia de comandos, use o ‘&&’, desta forma:

comando1 &&; comando2 && comando3

Se quiser que eles tenham privilégios de root, em tese, bastaria isso:

sudo comando1 && sudo comando2 && sudo comando3

Depois disto, você vai embora pra casa, tomar um café ou fazer qualquer outra coisa, confiante de que as 3 tarefas serão realizadas, sem interrupção — uma logo após a outra.
O problema, nesta linha de raciocínio, surge quando a gente se lembra que o tempo padrão de “validade” do comando sudo é 15 minutos.
Decorrido este prazo, o sudo volta a pedir a senha do usuário.
Desta forma, transcorridos os 15 minutos, a sua linha de comandos poderá ainda estar parada e sem conclusão — esperando pela senha.
Para evitar esta chatice, rode a sequência com o sudo, usando o interpretador de comandos sh com a opção ‘-c’:

sudo sh -c 'comando1 && comando2'

Com esta formação, você também pode usar o bash, se quiser:

sudo bash -c 'comando1 && comando2'

Pode ser útil usar esta técnica quando se quer deixar o sistema sendo atualizado — tarefa na qual, comumente, se usa 2 comandos (no Debian/Ubuntu):


sudo sh -c 'apt update && apt -y full-upgrade'

O que este comando faz:

  • sudo — como você já sabe, confere superpoderes a tudo o que vem depois, nesta mesma linha de comando.
  • sh — abre uma shell do interpretador de comandos Dash padrão do Linux/Unix.
  • -c — executa os comandos, que seguem entre as aspas.

Ainda, com o comando apt, o exemplo abaixo roda a opção de atualização com os repositórios, antes de instalar um programa:


sudo -- sh -c 'apt update && apt install -y thermald'

Conteúdo relacionado pelo Google

Como instalar e configurar o sudo no Debian.

O comando sudo faz parte da cultura de algumas distribuições GNU/Linux (Ubuntu, por exemplo). Quem está migrando ou apenas experimentando o Debian, pode sentir bastante do conforto de poder executar tarefas administrativas, com a agilidade que o sudo proporciona.
Não é que eu seja purista (não sou e não tenho nada contra quem seja), mas creio que a melhor maneira de experimentar e aprender uma coisa nova seja a imersão — dispensar o máximo de experiências anteriores (pelo menos as que encerram preconceitos inúteis) e procurar entender a nova situação por si mesma.
Em outras palavras, procure entender a filosofia de construção do Debian e use-o de acordo com a maneira com que seus desenvolvedores o conceberam. Mais pra frente, você pode (e deve) personalizar/customizar sua experiência, adequando as coisas ao redor à sua maneira de trabalhar.

O projeto Debian, que já soma mais de 20 anos, começou com um grupo pequeno, bastante unido, de hackers de Software Livre e cresceu gradualmente para se tornar uma comunidade grande e, provavelmente, a mais bem organizada de desenvolvedores e usuários.

Se você usa o ambiente desktop KDE, existe uma maneira de adicionar o usuário ao grupo admin, através da interface gráfica, que também resolve.

Como se realiza atividades administrativas no Debian, sem o sudo?

No Debian, usa-se o comando su — que serve para nos autenticar como superusuário no sistema. Você precisa conhecer a senha do root, para usar o su.
Para se autenticar temporariamente como root e voltar, use o comando ‘su -c’. Veja um exemplo de como instalar o mpg123, no Debian:

su -c 'aptitude install mpg123'

Esta linha, faz com que o superusuário execute o comando entre aspas e depois devolva o prompt ao usuário atual.
Se quiser entender melhor as diferenças de uso entre o apt-get e o aptitude, leia este texto.
Um outra maneira, é abrir um terminal à parte, se logar como root, usando o comando su e executar todas as atividades administrativas lá dentro.
Um problema que eu vejo nesta abordagem é que é fácil esquecer que se está usando o terminal como root e seguir executando ‘trivialidades’ com poderes administrativos. Esta situação é uma ameaça para a segurança do seu sistema.
Outra coisa que eu acho “chato” é que os comandos entre as aspas não podem ser completados com a tecla Tab… :/

Como instalar o sudo no Debian

O sudo é uma maneira segura de executar rapidamente atividades administrativas, sem assumir de vez a armadura do superusuário.
O sudo permite que o administrador delegue funções administrativas, de forma seletiva, a outros usuários do sistema — assim eles não precisam ter conhecimento da senha de superusuário para realizar aquilo que estão autorizados a fazer.
Se tiver interesse em saber mais sobre o assunto, eu expliquei algumas outras diferenças entre o su e o sudo neste artigo.
Para instalar o sudo, caso ele não esteja ainda instalado, use o seguinte comando:

su -c 'aptitude install sudo'

Não esqueça: A senha pedida pelo su é a do root.
Se você tentar usar o comando, em seguida, obterá um aviso:

sudo ls

Presumimos que você recebeu as instruções de sempre do administrador
de sistema local. Basicamente, resume-se a estas três coisas:

    #1) Respeite a privacidade dos outros.
    #2) Pense antes de digitar.
    #3) Com grandes poderes vêm grandes responsabilidades.

[sudo] password for justincase: 
justincase não está no arquivo sudoers. Este incidente será relatado.

O seja, é necessário relacionar os usuários que terão permissão para usar o sudo, no arquivo /etc/sudoers ou adicioná-los ao grupo sudo.
Vou mostrar os 2 métodos.

Como adicionar um usuário ao sudoers

Abra o arquivo /etc/sudoers

su -c 'nano /etc/sudoers'
Senha:

… e insira uma linha informando o seu nome de usuário e as permissões que ele terá, logo abaixo da linha contendo root ALL=(ALL:ALL) ALL:

justincase      ALL=(ALL:ALL) ALL

Substitua “justincase” pelo seu nome de usuário.
Veja na figura, abaixo, o local em que inseri esta linha. Se você quiser pode inserir este código ao final do arquivo também.
arquivo /etc/sudoers
Esta solução não é a ideal, mas funciona.
Eu prefiro o segundo método, descrito a seguir.

Como adicionar um usuário ao grupo sudo

Adicionar um usuário ao grupo sudo é a maneira mais rápida de resolver o problema.
No exemplo abaixo, mostro como me tornar root, adicionar o usuário ‘justincase’ ao grupo ‘sudo’ e sair do modo administrativo:

su -c 'adduser justincase sudo'

Não esqueça de substituir, acima, o nome de usuário ‘justincase’ pelo seu.

Conteúdo relacionado pelo Google

O Hackers Keyboard acrescenta funcionalidades ao smartphone Android

Há inúmeros aplicativos que simulam teclados para dispositivos Android. Se você já experimentou vários, deve ter percebido a falta de algumas teclas — que não são tão usadas pela maioria dos usuários, mas são importantes para outros grupos de (heavy) users.

Visão do layout tradicional do teclado.
Clique para ampliar.

O Hacker’s Keyboard não é para a maioria dos usuários. Ele é voltado para quem precisa de teclas como o TAB, Ctrl, Alt e as setas.
Algumas destas teclas são fundamentais ao usar um terminal ou escrever códigos de programas de computador.
O aplicativo provê um layout completo de teclado, uma interface separada para o teclado numérico e com todas as outras teclas dispostas em seus lugares tradicionais — com suporte a multitoque, para você poder usar as teclas modificadoras.

Se você usa o seu smartphone ou tablet para acessar computadores remotos via SSH ou FTP, vai achar o Hacker’s Keyboard muito útil, também.

Como instalar e configurar o Hacker’s Keyboard

O teclado virtual Hacker’s Keyboard pode ser baixado no loja Google Play Store (links no final do texto!) e precisa ser configurado, depois de ser instalado.
Não se preocupe. A configuração é simples.
Depois de instalado, abra o aplicativo, para poder configurá-lo.

Hackers Keyboard inicial settings screen
Clique para ampliar.

  • No painel inicial do aplicativo, toque em Enable keyboard — isto irá abrir o painel de configuração de opções de entrada do Android.
  • Procure e selecione o Hacker’s Keyboard na lista de métodos de entrada disponíveis em seu aparelho.
  • Confirme o uso deste método, após ler o texto de aviso.
  • Toque no botão voltar do seu dispositivo, até chegar de volta à tela inicial do aplicativo.

Agora, falta ativar o método de entrada do Hacker’s Keyboard.
Toque no botão Set input method e selecione a opção Hacker’s Keyboard para torná-lo o método padrão de entrada.

Como selecionar o layout do teclado

No painel inicial de configuração do aplicativo, toque no botão Input languages e selecione, da lista, os layouts[idiomas] que você possivelmente irá usar.
Mais tarde, quando estiver escrevendo texto, você poderá fazer a seleção ao passar o dedo sobre a barra de espaçamento.

Como selecionar dicionários

Ter dicionários adequados ao(s) idioma(s) que você pretende usar, ajuda a autocompletar as palavras corretamente.
O botão Get dictionaries permite ir à loja Google Play Store e comprar (gratuitamente) um ou mais dicionários.
Mas, você pode bem continuar a usar os dicionários já disponíveis no seu sistema.

Referências

Leia mais sobre como usar o terminal: Emulador de terminal do Android.
Download do Hacker’s Keyboard: https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard
Os 5 melhores teclados para Android: http://www.todroid.com/top-5-best-android-keyboard-apps-that-will-increase-your-productivity/ (post antigo)

Conteúdo relacionado pelo Google