O comando sudo. Apagar e reiniciar o sistema
Imos ver unha serie de comandos dos que faremos uso para apagar, reiniciar e executar comandos de administración do sistema. Destacamos entre eles o comando sudo. (man sudo)
Comandos utilizados
cat: amosa o contido dun arquivo.
exit: para sair dunha consola de usuario, do sistema.
poweroff: apaga o sistema.
reboot: reinicia o sistema.
groups: amosa os grupos aos que pertence un usuario.
su: cambiar a superusuario (root) ou a outro usuario calquera.
visudo: edita o ficheiro /etc/sudoers.
Ficheiros utilizados
/etc/sudoers: almacena que usuarios teñen privilexios administrativos.
/etc/groups: conten os grupos e os usuarios que pertencen a cada grupo.
Introdución a sudo
sudo: vén das siglas SuperUser do ou Substitute User do (Fai/executa como super usuario ou fai/executa como este usuario substituto)
Por exemplo, veremos que cando iniciemos un terminal de comandos aparecerá o seguinte texto:
As liñas indican que se se desexa executar algo como usuario root, que se use sudo <comando>.
O comando sudo le a configuración do ficheiro /etc/sudoers. Neste ficheiro hai información sobre:
- quen pode pode executar comandos como root,
- en que equipos,
- que comandos,
- e en calidade de que superusuarios o poden facer.
Executando, precisamente,
sudo cat /etc/sudoers
pódese ver o contido do ficheiro. Execútase con sudo, porque o ficheiro /etc/sudoers só ten permisos de lectura para o usuario root. Na imaxe podemos ver un exemplo do contido do ficheiro:
Na última liña non comentada (que non comeza por #) dese arquivo vese: %sudo ALL=(ALL:ALL) ALL.
Esa liña ten o seguinte formato:
usuario/grupo host = (usuario_privilexiado) comando
Neste caso:
- %sudo: grupo que obtén os privilexios. Neste caso o grupo sudo.
- ALL: en que equipos. Neste caso en todos.
- (ALL:ALL): de que usuarios e grupos gaña os privilexios: Neste caso de todos. Este campo é opcional.
- ALL: que comandos pode executar. Neste caso todos.
Para editar ese ficheiro é preciso usar o comando sudo visudo. Unha vez dentro premendo CTRL+X pódese saír do editor.
Ben, xa se sabe un pouco sobre sudo e sudoers, pero quen pertence ao grupo sudo que figura no ficheiro /etc/sudoers?.
Execútese:
cat /etc/group
para coñecer os grupos e os seus membros. Ohhh!! sorpresa. O sistema cando se instalou introduciu ao usuario que se deu de alta (neste caso: uadmin) nunha serie de grupos, entre eles no grupo sudo.
Executando o comando
groups uadmin
Pódese coñecer os grupos aos que pertence o usuario, entre eles aparece: sudo:
Pasarse a superusuario (root)
Para cambiar do usuario actual ao usuario root pode executarse:
su
Como se ve na imaxe pedirásenos o contrasinal do usuario root, pero en ningún momento da instalación se introduciu un contrasinal para o usuario root, e por tanto esta non se coñece. O usuario root tras a instalación está deshabilitado.
Pero si se pode executar o comando su, facendo uso da utilidade sudo. Así o usuario actual pasa a ser o usuario root.
sudo su
Pide o contrasinal, pero do usuario que está executando o comando sudo, e comproba se o contrasinal é correcto e se ese usuario ou algún dos seus grupos está en sudoers. Neste caso así é.
Fixarse como no promt usuario que administra a consola é o root.
Para saír da sesión dun usuario, vale con executar exit.
O contrasinal que se introduce co comando sudo será almacenado en caché por 15 minutos, co cal se se volve a executar algún comando máis con sudo dentro dos vindeiros 15 minutos non se volverá a pedir o contrasinal, neste caso, do usuario uadmin.
Apagar o sistema
O sistema só pode ser apagado polo usuario root. Para os que non sexan root e estean no ficheiro /etc/sudoers poden executar o comando antepoñendo sudo.
sudo poweroff
Apaga o sistema.
Reiniciar o sistema
O sistema só pode ser reiniciado polo usuario root, para os que non sexan root e estean no ficheiro /etc/sudoers poden executar o comando antepoñendo sudo.
sudo reboot
Reinicia o sistema.
sudo vs su/root
No seguinte enlace explícase máis a fondo o funcionamento de sudo e compárase coa execución de su, ou con habilitar o usuario root para realizar tarefas administrativas.
- https://help.ubuntu.com/community/RootSudo. O comando sudo (en inglés)