No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Modificando permisos en la terminal

11/21
Recursos

Aportes 249

Preguntas 133

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

驴No te parece que el comando whoami es un poco in煤til? 驴Qu茅 sentido tiene saber qui茅n soy yo鈥 隆si yo s茅 qui茅n soy!.. 馃憖.
.
Bien, pues d茅jame decirte que tiene mucho sentido, y aqu铆 te voy a explicar algunos de sus usos, pero primero, d茅jame decirte que en la terminal puedes ejecutar comandos dentro de comandos, 驴c贸mo? 隆Sencillo!, simplemente escribes: $(cualquiercomando) y este se ejecutar谩, por ejemplo:

cat $(find ~/Escritorio -name test.txt)

En este comando estoy ejecutando el comando cat (un comando que ya debes saber qu茅 hace), pero a su vez, dentro de $() estoy ejecutando un comando llamado find (little spoiler), este comando buscar谩 un archivo dentro de cierta ubicaci贸n y te devolver谩 la ruta completa de ese archivo, entonces, como ya sabes que te devuelve la ruta completa de ese archivo, el resultado de ese comando se lo est谩 pasando al comando cat.
.
Pero ahora, 驴c贸mo podemos aplicarlo al comando whoami? 隆F谩cil!, y de hecho lo haremos aplicando un comando de los que acabamos de ver para modificar permisos.
.

隆Ejemplo pr谩ctico!

Este ejemplo que te voy a dar es un problema que a muchas personas les pasa en el Curso de Prework: Configuraci贸n de Entorno de Desarrollo en Windows.
.
Imagina que crear una carpeta llamada PersonalProjects, pero la creas de la siguiente manera:

sudo mkdir PersonalProjects

Al hacer eso, tu carpeta se crear谩, s铆, pero si intentas escribir archivos dentro de ella no podr谩s, te dir谩 鈥淧ermission denied鈥, porque t煤 no eres el due帽o de esa carpeta. Como creaste la carpeta usando sudo, entonces el due帽o de esa carpeta es el usuario root 鈽濔煈,
.
隆Cambiemos al due帽o de la carpeta!, para hacer esto, podemos usar el comando chown (Change Owner), este comando se estructura de la siguiente forma:

chown -R <user>:<group> folder

Entonces, yo podr铆a poner esto:

chown -R retaxmaster:retaxmaster PersonalProjects

Eso ser铆a suficiente para que yo sea el due帽o de mi carpeta y pueda escribir en ella. 驴Por qu茅 el grupo tiene mi nombre de usuario? Porque, en Linux, al crear un usuario, autom谩ticamente se crea un grupo con el mismo nombre.
.
Muy bien, pero a煤n no te he dicho en qu茅 interviene whoami aqu铆, pero seguro ya lo intuyes 馃憖鈥
.
Imagina que m谩s personas tienen el mismo problema, y en lugar de decirles algo como: 鈥淧rimero tienes que saber cu谩l es tu usario, luego pones este comando, pero cambias ah铆 donde dice 鈥榰suario鈥 por tu propio usuario鈥︹ mejor les dices: 鈥淭oma, con este comando lo solucionas鈥, ser铆a mucho m谩s eficiente, 驴no crees? Hagamos ese comando:

chown -R $(whoami):$(whoami) PersonalProjects

驴Ves? Exte comando se lo puedes dar a culquiera y le funcionar谩, porque whoami est谩 poniendo dentro de dichos par谩metros el nombre del usuario!!
.
Esta es tan solo una de las muchas ventajas que tiene el comando whoami, al principio parece un comando in煤til, pero cuando empiezas a combinarlo con m谩s utilidades de la terminal empiezas a ver que es muy 煤til 鈽濔煈.

Si est谩n en ubuntu el comando su root no funciona por que est谩 desactivado y con ninguna contrase帽a se puede acceder a 茅l, pero existe una alternativa que al final de cuentas es la misma, el comando sudo su

Para los que usen una distribucion de Ubuntu el comando su root no funcionar谩 con niguna contrase帽a ya que esta desactivado, como alternativa se puede usar el comando

sudo su

colocan su contrase帽a y listo, obtienen el mismo resultado.

Por defecto, el sistema Ubuntu se env铆a con una contrase帽a de root en blanco.
Si intentaste cambiar al usuario root y te ocurr铆a esto:

su root
Password: ******
su: Authentication failure

Es normal, debido a que por defecto en Ubuntu el root no tiene una contrase帽a definida por defecto, tienes que acceder al root y establecerle la contrase帽a con los siguientes pasos:

sudo su root
[sudo] password for usuarioActual: _

ac谩 escribes la contrase帽a de tu usuario, y despu茅s ya estar谩s como el usuario root entonces tienes que establecerle una contrase帽a con el comando:

passwd
Enter new UNIX password: _

Podr谩s observar que de hecho no te pide la contrase帽a actual del root, solo te pide la nueva contrase帽a, cosa que no pasa con un usuario normal.

Una vez que establezcas la contrase帽a del root ya puedes acceder a el de forma normal

su root
Password: ******
root@Equipo# _

Notas 馃槃
Modificando permisos en la terminal.

  • Existen diversos usuarios con permisos cada uno; el usuario root es especial y puede hacer de todo馃毝馃徑.
  • Puedes crear archivos de texto tambi茅n con > archivo.txt y tambi茅n podemos editarlo con cat > archivo.txt 馃摐
  • En un archivo, se muestran: [tipo de archivo][rwx usuario][rwx grupo][rwx mundo], por ejemplo, -rw-r--r-- mitexto.txt 馃憖.
  • chmod <permiso en octal para usuario><para grupo><para mundo> <archivo> change mode nos sirve para cambiar los permisos de un archivo. Si hacemos por ejemplo chmod 755 mitexto.txt tendremos ahora -rwxr-xr-x mitexto.txt, esto no cambia para nada el contenido del archivo.
  • Para quitarle los permisos a alguien en particular, usamos el modo simb贸lico y usando laresta, por ejemplo quitando el permiso de lectura al usuario chmod u-r mitexto.txt. Para agregar, se usa la suma. 馃М
  • Podemos hacer configuraciones mas avanzadas, por ejemplo, podemos asignar varios permisos al mismo tiempo chmod u-x,go=w mitexto.txt.
  • whoami Para saber que usuario somos, y tambi茅n podemos obtener el ID del usuario con id.
  • su root para cambiar de usuario hac铆a root, hay que tener cuidado al usar este usuario 馃槦. Su home es incluso distinto. Los archivos que crea root (o otro usuario) no se pueden eliminar por un usuario normal.
  • sudo <comando> nos otorga temporalmente los permisos de root para ejecutar alg煤n comando que ocupe permisos especiales. 馃Ω馃徑 Nunca dejes el usuario root por defecto, y ponle una contrase帽a distinta!!

Para los que est谩n en WSL en los archivos de windows (es decir en la ruta /mnt/c/Users/Administrator) tampoco les sirve el comando chmod? incluso tampoco sirve lo que muestra el profesor con el cambio de usuario.
Entiendo que este curso est谩 hecho sobre el sistema linux 100%, pero deber铆an tener en cuenta que la mayor铆a tenemos WSL. Deben mejorar eso, porque realmente no veo ning煤n cambio sustancial entre este curso y el anterior con el profesor Mauro.

馃攼 El usuario root tiene el control absoluto de todo lo que ocurre en el sistema, accediendo a todas las funciones y configuraciones.

Hola a todos, 驴ustedes tambi茅n pod铆an borrar el rootfile?, a m铆 me paso lo mismo 馃し鈥嶁檪锔.
Pero tengo una teor铆a, si est谩 mal me corrigen 馃槄.
Despu茅s de pensar un rato 馃me di cuenta de algo:
El directorio donde se creo el archivo 鈥渞ootfile鈥 fue creado por el usuario, no por el root. Si ven los permisos del directorio les saldr谩 algo como esto:

drwxr-xr-x 2 pierogm pierogm 4096 Jul  1 11:27 ProyectoDemo

Recuerden que en anteriores clases vimos que para borrar archivos dentro de un directorio ten铆a que estar activado el 鈥渨鈥 del directorio 馃.

Como se ve en drwxr-xr-x, est谩 activo el 鈥渨鈥 para el usuario que lo creo, en mi caso pierogm.
Por lo tanto este usuario puede manipular los archivos dentro del directorio a su voluntad 馃槑. Y es por eso que pueden borrar el archivo.

Ahora imagina que cambiamos a usuario root y creamos un nuevo directorio llamado roomDirectory, si revisas los permisos te saldr谩 algo as铆.

-rw-r--r-- 1 root root 0 Jul 16 12:45 rootfile

En este caso los permisos de 鈥渨鈥 solo los tiene el usuario root 馃拃. Si creamos un archivo roomFile y tratamos de borrarlo con el usuario convencional, te dar谩s cuenta que no se puede 馃し鈥嶁檪锔 rm: cannot remove 'rootfile': Permission denied.

Por 煤ltimo el usuario root si puede manipular archivos dentro de un directorio en el que no tenga permiso.

total 0
-rw-r--r-- 1 pierogm pierogm 0 Jul  1 11:27 index.html
[email protected]:/home/pierogm/personalProjects/ProyectoDemo# rm index.html
[email protected]:/home/pierogm/personalProjects/ProyectoDemo# ls
[email protected]:/home/pierogm/personalProjects/ProyectoDemo# 

Espero que me haya dejado entender 馃槈.

Cuando te aventuras en linux sin saber, te frustras demasiado, depues lo intentas mirando estos videos y todo es magia!!!

chmod doesn鈥檛 change file permissions:
Si resulta que tu aplicas -( chmod 755 mitexto.txt )-
pero no cambia en nada los permisos o los cambia pero no lo que deseas, es un error que suele aparecer para las personas que usamos WSL(Ubuntu), nuestro sistema Windows no le da todos los permisos a nuestro terminal que trabaja con Linux. Por lo tanto, no podr谩s hacer estos cambios o trabajar al 100%.
Lo que puedes hacer, para seguir trabajando con el profesor y todo funcione bien, es trabajar en la ubicaci贸n de origen de nuestro home:
Te diriges a este usando cualquiera de estos 2 comandos:

  • cd
  • cd ~

Una vez te encuentres ah铆, creas la misma carpeta, archivo y ello. Vuelves a realizar los comandos que el profesor us贸 y esta vez si te funcionar谩 al 100%, porque este 鈥渉ome鈥 se encuentra muy aparte de Windows, es como tu Linux puro, pero aparte.
Espero y les halla servido, me tarde como 1 hora buscando la posible falla y vali贸 la pena 馃槂

** 馃槂 Nunca te rindas, persiste hasta encontrar lo que buscas y as铆 nunca parar谩s de aprender 馃槂**

Un consejo, se puede crear archivo de forma mas f谩cil con la sentencia

> archivo

Si queremos escribir dentro de este archivo, podemos utilizar

cat > arhivo

Cuando queramos dejar de escribir tenemos que presionar Ctrl + D

chmod 755 archivo

Este comando lo que indica es que cambiamos los permisos de usuario de forma octal, d谩ndole un 7 al due帽o, 5 al grupo y 5 a world

	chmod u-r archivo

Con este comando hace que al usuario(u) le quiten(-) los permisos de read庐 al archivo que mandemos como par谩metro. En este caso el usuario o nosotros no podremos leer el archivo ya que no tendremos permiso. Si queremos agregar mas permisos,. estos se divide con una coma 鈥,鈥.

whoami

Este comando nos permite saber que usuario somos.

id

Este comando nos otorga nuestro uid que es el sistema de nuestro usuario, ademas de que nos da informacion de que otros grupos podemos pertenecer.

su root

Este comando significa Switch User que nos permite cambiar entre los usuarios que tengamos registrados, en el caso de este comando, es el usuario root, que es el super usuario.

sudo

Este comando nos permite hacer acciones de root, es como si nos convirtieramos en el momentaneamente

passwd

Este comando nos ayuda a cambiar nuestra contrase帽a.

Si no te funciona el su root despues de poner la contrasena, hazlo de esta manera sudo su root y te funcionara

Yo usando el comando whoami:

A mi si me dejo borrar el rootfile desde user sin ser root

Un comando para obtener informaci贸n del sistema es; uname.

  • a nos da toda la informaci贸n
    -s nos da solo el nombre del sistema
    -v nos da la versi贸n del kernel del sistema
    -n nos da el nombre del host
    -r nos da el release del kernel del sistema
    -o nos da el nombre el sistema operativo.

Este comando es 煤til por ejemplo si quieres crear bash (sh) para que se ejecute en diferentes ambientes; DEV, UAT, PRODUCCI脫N. As铆 en ves de generar un archivo con el nombre del servidor de desarrollo, otro para UAT y otro para Producci贸n, solo se genera uno.

El operador > redirecciona el STDUOT de una instrucci贸n a un archivo. En el ejemplo de Enrique no se especifica ninguna instrucci贸n antecesora del operador por lo que el STDOUT es vac铆o o nulo y, como no existe ning煤n archivo llamado mitexto.txt en el CWD, este es creado autom谩ticamente. Sin embargo, esta utilidad del operador > no deber铆a ser usada como reemplazo de la instrucci贸n touch porque si existiera un archivo llamado mitexto.txt en el CWD este ser铆a sobrescrito eliminando todo su contenido. Una alternativa para evitar este conflicto ser铆a crear el archivo empleando el operador >>, pero igualmente no debe usarse para remplazar a la instrucci贸n touch.

El simbolo # nos indica que estamos en el usuario root.

No estoy muy seguro de algo. Trat茅 de eliminar rootfile como usuario normal y lo 煤nico que tuve que hacer es confirmar con yes 鈥榶鈥. Al final si me elimin贸 el archivo cuando me debi贸 pedir ser usuario root para hacerlo
.
驴Hay algo que no est茅 tomando en cuenta?

Cambiar la contrase帽a del usuario root desde otro usuario:

$ sudo passwd root
$ Contrase帽a nueva
$ Repetir Contrase帽a nueva
$ su root
$ Ingresa la contrase帽a nueva
[email protected]$

SOS COLOMBIA 05/05/2021

Podemos otorgar y quitar permisos de la terminal con los valores octales y los valores simb贸licos. Por ejemplo:

  • chmod u-r -> Le quitamos al usuario el permiso de leer el archivo.
  • chmod u+r -> Le otorgamos al usuario el permiso de leer el archivo.

Un comando un poco m谩s avanzado:

  • chmod u-x,go=w mitexto.txt -> Al usuario le quitamos el permiso de ejecuci贸n, al grupo y others le dimos el permiso de write.

  • El comando whoami nos ayudar谩 para saber qui茅n somos, por si tenemos dudas existenciales en la terminal.

  • Podemos cambiar de usuario con su nombreDeUsuario, por ejemplo su root

  • El famoso comando sudo nos dar谩 los permisos de root a nuestro usuario normal y la contrase帽a que pedir谩 para ejecutar los comandos es de nuestro usuario normal.

Si a algunos les pasa que no pueden ingresar a root con el password de su usuario normal puede deberse a que tienen el usuario root bloqueado, ubuntu al igual que otras distribuciones bloquea la cuenta root para que los usuarios sin experiencia no puedan acceder a ella.
esto se de debe a que resulta casi innecesario cuando se usa el comando sudo, puedes usar el siguiente comando :
sudo passwd root, te pedira las nuevas credenciales y luego entras nuevamente con su root , aqui dejo mi log de consola.

馃殌 Para ingresar al usuario root con WSL o ubuntu:

  • sudo -i : Forma interactiva de entrar al root y posicionarse en la ruta /root , para salir escribimos exit.
  • sudo su : Entramos al usuario root y nos posicionamos en la misma ruta desde la que entramos.
  • sudo su root : Funciona igual que sudo su.

By SsimorPro

algo que note picando de mas , esque cuando borras el archivo creado por el usuario root con el usuario normal , si se puede eliminar , solo en la advertencia rm: remove write-protected regular empty file es poner de respuesta la letra 鈥測鈥.
el profesor solo le da enter es por eso que no se elimina

rm: remove write-protected regular empty file 'rootfile'?

Otra forma de editar un archivo de texto como lo hac铆a el profesor en el minuto 1: 30, sin sobrescribir el contenido que est谩 dentro es utilizando el comando nano(.txt)

chanchi@DESKTOP-J1UCHOU:~/Cursos$ nano nombreDelArchivo

Para salir del editor le dan Ctrl + x

Mostrar los usuarios existentes del SO (sistema operativo) Linux:
CUIDADO ya que se muestra la contrase帽a de los usuarios (si tiene contrase帽a) de forma encriptada, si modificas ese valor, perder谩s el acceso muy posible mente

$ cat /etc/passwd

Mostrar los grupos existentes del SO Linux:

$ cat /etc/group

El comando su root no funciona en ubuntu, yo hice lo siguiente: ejecute sudo passwd root y me permiti贸 asignarle contrase帽a al root

sudo passwd root

Tambi茅n pueden acceder al usuario root utilizando sudo su en vez de su root, y para volver a tu usuario puedes usar el comando exit, de esta manera saldr谩 del usuario root y volver谩 al tuyo.
El historial de comandos tambi茅n se queda guardado en el usuario root, y podr谩s acceder a 茅l siempre que entres a ese usuario.

si alguien quiere o nunca cambio la password del su root lo puede hacer en este link esta las instrucciones https://ubunlog.com/como-cambiar-la-contrasena-de-sudo-root-u-otro-usuario-en-ubuntu/

1:06 creo que la respuesta de por que se puede crear con > es porque el archivo no existe, si existiera entonces lo que haria > seria reescribirlo

$ > mitexto.txt

Este operador (>) toma un standard output de un comando y lo redirecciona a un archivo. Supongo que cuando no ponemos comando antes del operador, la shell interpreta ese output como vacio, y crea un archivo con ese texto que en este caso es vacio, pero sigue siendo un stdout.

Dato curioso :

que si tu tratas de borrar el rootfile que creaste siendo root

rm rootfile

y te sale el mensaje y le das que y si se borra siendo usuario ah铆 lo dejo pru茅benlo y me cuentan 馃槃

rm: remove write-protected regular empty file 'rootfile'? y

Ac谩 os dejos los apuntes completos. Les dejo un peque帽o resumen de todos mis apuntes. Si quieren ver a mas detalle y otra informaci貌n extra, entren al link 馃槃 鉂わ笍

yo supongo que se pueden crear archivos con > a parte de touch, ya que en anteriores clases se vio que se podia redireccionar texto a un archivo, solo que en este caso no se le est谩 dando ninguna cosa para guardar, ya que no se le especific贸 nada, asi que es un archivo de texto sin nada adentro

Formas de agregar permisos
.
Crear archivo de prueba

  • touch miArchivo.txt

.
.
.

Forma 1 dar permisos en octal para usuario, grupo, otros:

.

  • chmod 755 miArchivo.txt

.
.
.

Forma 2 dar permisos:

.

Usuario
chmod u+rwx miArchivo.txt
chmod u-rwx miArchivo.txt
.
Grupo
chmod g+rwx miArchivo.txt
chmod g-rwx miArchivo.txt
.
Otros
chmod o+rwx miArchivo.txt
chmod o-rwx miArchivo.txt
.
Nota:

  • Para agregar permisos se usa el +
  • Para quitar permisos se usa el -

.
.
.
Forma 3 todo concatenado:

  • chmod u-r, g-w, o-x miArchivo.txt

.
.
.
Como saber que usuario soy:

  • whoami

.
.
.
Como saber el id del usuario:

  • id

.
.
.
Cambiar de usuarios:

  • su root
  • su miNombreDeUsuario

Nota: Introducir contrase帽a del usuario y listo.

.
.
.
Darle permisos de usuario root temporalmente a mi usuario sin cambiar de usuario:

  • sudo rm miArchivo.txt
    Nota: Introducir contrase帽a del usuario y listo.

.
.
.

Cambiar contrase帽a de un usuario:

  • passwd
  • Introducir contrase帽a actual
  • Introducir nueva contrase帽a
  • Repertir nueva contrase帽a

.
.
.
Consejos:

  • Nunca dejar el usuario root por defecto.
  • Evitar que la contrase帽a del usuario root sea la misma que la contrase帽a del usuario com煤n.

Para los que usan wsl para tomar este curso una manera de ingresar con usuario root es la siguiente desde el cmd:

wsl -u root

Efectivamente si el usuario root crea la carpeta y ademas el archivo, otro usuario requerira password para eliminar dicho archivo.

chmod u+x --se le agrega permiso de ejecucion al usuario
chmod g-w --se le quita permiso de escritura al grupo
chmod +wx --se le agrega permiso de ejecucion a todos
sudo chown root:root archivo.txt --cambio de propietario
sudo chown root:archivo.txt --cambio de propietario

Estos comandos son muy 煤tiles para cuando queremos resguardar nuestros archivos de que otros usuarios puedan borrarlos o modificarlos por error o con intenciones.

Para asignarle contrase帽a al usuario root con el siguiente comando: sudu passwd root

PWD: Print Working Directory
SU: Switch User
whoami: Who am I == https://www.youtube.com/watch?v=I8i6tQXzUpU

ctrl + shift + v : Pegar
sudo : switch user and Do something

En caso de que tengas problemas con la contrase帽a de root en wsl, lo que puede hacer primero es entrar con

sudo su root

Luego de esto usas

passwd

Con eso cambias la contrae帽a y root ya tiene un contrase帽a con la cual puede hacer el cambio a root usando solo.

su root

Les comparto mis apuntes de los comandos aprendidos en esta clase, espero les sea util

La mayoria de los que estamos aprendiendo con este curso hemos instalado por primera vez Linux, ser铆a muy bueno que en el video agregaran como habilitar el usuario root en linux. Por si a alguien le sirve, yo instale Ubuntu y la manera de habilitar el usuario root desde la terminal es con el siguiente comando:

sudo passwd root

Luego les pedira la contrase帽a actual para el usuario con el que accedieron a Linux, y luego el ingreso de la nueva contrase帽a para el usuario root.

  • Otra forma de hacer touch es usando el > (mayor que) + archivo.txt
  • Para editar el archivo y evitar sobrescribirlo hacemos doble >> + archivo.txt
  • Para salir hacemos enter y en la nueva l铆nea hacemos ctrl + d
  • Para ver el archivo hacemos cat + archivo.txt

Estoy desde Mac, desde otros sistemas operativos agregar cat tanto para crear como para editar el archivo:
cat > + archivo.txt (para crear)鈥 cat >> + archivo.txt (para editar).

  • chmod, puedes cambiar el valor de los permisos del archivo.
    • chmod [user,group,other][+,-][read,write,execute]
    • chmod [valorpermiso[user]][valorpermiso[group]][valorpermiso[other]]

Profe puede dejar de borrar sus lineas de codigo todo el tiempo? es una mamera tomar imagenes como apuntes asi, gracias 鈾

Se puede personalizar WSL para que nos arranque en nuestro home. Adjunto captura

tengo un wsl con ubuntu ,mientras estaba en clase olvide mi contrase帽a de usuario lo que me toco hacer fue irme al terminal de wiindows y alli hacer lo siguiente:

1.cerrar el wsl con ubuntu.
2. escribir en el cmd de Windows lo siguiente.
ubuntu2004 config --default-user root

  1. abrir el wsl con Ubuntu , all铆 se abrir谩 por defecto con el rol de root .
  2. una vez alli buscas la nombre del usuario con
    ls /home .
  3. all铆 en root escribes passwd nombredelusuario
  4. cambias la clave.
  5. listo 鉂わ笍

sudo, es un canalizador de los permisos del root.

Use el comando chmod para cambiar los permisos de un archivo o un directorio. 鈥
En general, la configuraci贸n predeterminada para los archivos nuevos es:
Tambi茅n puede cambiar los permisos de grupos de archivos o directorios utilizando car谩cter comod铆n *

Manipulaci贸n de permisos

馃挕Los permisos son las abstracciones de acciones que son posibles a trav茅s de nuestro alcance.
.

Logramos gestionar los permisos de los usuarios a trav茅s del comando chmod, siempre y cuando, nuestro alcance lo permita

.
Es posible el gestionar el comando definiendo numeralmente definiendo su binario en funci贸n del enlace diciendo 1 el permitir o 0 el limitar. Sin embargo, adicional es posible usar la notaci贸n simb贸lica donde = significar谩 la asignaci贸n de permisos y - la restricci贸n de los mismos.

# traditional
chmod 600 some_file
# defined
chmod u-w,og=r some_file

.
Acciones como super usuario o temporalmente
De manera general en los sistemas Linux, es posible tener acceso a las acciones del usuario root a trav茅s del comando sudo donde, de manera opcional, es posible cambiar de usuario al root a trav茅s del comando su .

Adicionalmente, es posible tener una root shell con el flag -i

sudo -i

Para Los que tienen una Macbook y no les funciono el comando root, Tienen que saber que en las macbook el super Usuario esta definido como (sudo) as铆 que para activar el super Usuario debes ingresar :

$ sudo su

**Una definici贸n de lo que es Sudo :

sudo permite que un usuario autorizado ejecute un comando como superusuario u otro usuario, seg煤n lo especificado por la pol铆tica de seguridad.**

Una forma alternativa de cambiar al usuario root en WSL es ejecutando sudo -i

馃憢馃徎 Hola a todos! yo tuve el problema al ingresar la contrase帽a del usuario root

Finalmente la cambi茅 la contrase帽a de la siguiente manera:

  1. Abrir el powershell en modo administrador
  2. Ejecutar los comandos e ingresar la nueva contrase帽a:
    • wsl -u root
    • passwd root

      Por 煤ltimo ingresar al terminal e intentar con la nueva contrase帽a:

>

Tambi茅n sirve para poder crear archivos.

$ > archivoNuevo

cat

Con este comando tambi茅n podemos editar archivos, pero si este ya ten铆a contenido anteriormente al usar este comando se borrar谩 todo.

$ cat > archivo

Salimos y guardamos con CTRL + D.

Ver permisos

Para poder ver los permisos de directorios y archivos tenemos que usar el comando

$ ls -l

Los permisos son simbolizados como r, w y x.

r: Es de lectura.

w: Es de escritura.

x: Es la ejecuci贸n.

-: No posee el permiso y si est茅 est谩 al principio quiere decir que es un archivo.

d: Quiere decir que es un directorio.

l: Quiere decir que es un link, un puntero a otro archivo.

  #permisos     #usuario         #grupos
-rw-r--r-- 1 galeedgutierrez galeedgutierrez 40 Aug  4 16:58 mitexto.txt
-rw-r--r-- 1 root            root             0 Aug  4 19:31 rootfile

chmod o change mod

Notaci贸n simb贸lica

u: Se refiere al usuario.

g: Se refiere a los grupos.

o: Se refiere others o cualquier otro usuario.

-: El permiso que quiero quitar.

+: Agragar un permiso.

=: Sobreescribe los permisos, dejando solo el/los que deseamos.

Lo usamos para cambiar los permisos de un archivo o directorio

$ chmod [permisos a cambiar en forma octal o simbolico] [archivo o directorio]

Ejemplos

#De forma octal
$ chmod 755 mitexto.txt

#De forma simbolica
$ chmod u-r mitexto.txt

Agregando una , puedo agregar a m谩s usuario para agregarle o quitarles permisos usando la forma simb贸lica.

Ejemplo

$ chmod u-x, go=w mitexto.txt

Para hacer cambios en dos usuarios lo que tenemos que hacer es colocarlos juntos uo, go, ug, etc.

whoami

Con este comando podemos ver con que usuario estamos logeados en nuestra terminal.

$ whoami

id

Nos otorga el uid, todos los sistemas operativos lo manejan, que ele nombre de nuestro usuario normalmente es 1000 o 500 seg煤n el sistema operativo.

Aparte nos da informaci贸n sobre a que grupos llega a pertenecer.

Cambiar de usuario

Para cambiar de usuario usamos switch user o su.

$ su usuario

root: Puede hacer cualquier cosa y por ende hay que tener mucho cuidado, en algunos sistemas se lo puede encontrar como su.

sudo

Este comando nos permite ser usuario root temporalmente, no nos loguea como root pero nos da los permisos para hacer las cosas como si fu茅semos usuarios root.

$ sudo comando

Cambiar contrase帽a

passwd

Con este comando podemos cambiar la contrase帽a de nuestro usuario en la terminal.

$ passwd

Buenas pr谩cticas

No hay que dejar el usuario root por defecto.
La contrase帽a de usuario normal y la del usuario root tienen que ser diferentes.

Tambi茅n les comparto mis apuntes del mismo curso pero del 2019.

2019

Usuarios

Todos los archivos de UNIX tienen

Un due帽o asociado

La persona que ha creado el archivo.

Grupo de usuarios

Que pueden acceder o no a ciertos archivos.

Otros

Est谩 que se le permite hacer a otros usuarios que no sean el due帽o ni que pertenezcan al grupo.

Permisos

Las operaciones que se pueden hacer sobre un archivo son tres.

  • Lectura

  • Escritura

  • Ejecuci贸n

    No todos los archivos son ejecutables, pero si alguien quiere ejecutar algo tiene que tener si o si este permiso.

Matriz

Esto nos configura una matriz que nos indica quien puede hacer cada una de las operaciones.

Ver permisos

Con el comando ls -l podemos ver los permisos que tiene cada usuario.

$ drwxr-xr-x 3 galeedgutierrez galeedgutierrez 4096 Jul 30 16:32 Platzi

Estructura de los permisos en la terminal

r: Es de lectura.

w: Es de escritura.

x: Es la ejecuci贸n.

-: No posee el permiso y si est茅 est谩 al principio quiere decir que es un archivo.

d: Quiere decir que es un directorio.

l: Quiere decir que es un link, un puntero a otro archivo.

Esto est谩 dividido en grupo de a tres, sin contar la d.

rwx   r-x   r-x
 U     G     O  #UsuarioDue帽o Grupos Otros

Directorios

La x en el caso de los directorios quiere decir que el usuario tiene permiso de acceder a 茅l.

Modificar permisos

Notaci贸n textual

chmod

Nos cambia el modo del archivo, cambiar individualmente los permisos.

u: Se refiere al usuario.

g: Se refiere a los grupos.

o: Se refierea others o cualquier otro usuario.

-: El permiso que quiero quitar.

+: Agragar un permiso.

Los permisos son simbolizados como r, w y x.

En caso de que quiera dar o quitar un permiso a los tres usuarios no simple mente tengo que colocar el car谩cter correspondiente seguido el permiso.

$ chmod usuario-permisoAQuitar archivo
$ chmod -permisoAQuitar archivo # Le quito un permiso a todos los usuarios
$ chmod +persoAAgregar archivo  # Le agrego un permiso a todos los usuario

# Ejemplos
$ chmod o-w archivo
$ chmod -x archivo
$ chmod +r archivo

chown

Cambian el usuario propietario del archivo.

$ chown nuevoDue帽o archivoODirectorio

chgrp

Cambia el grupo de usuarios que puede acceder al archivo.

$ chgrp nuevoGrupoAlQuePertenece archivoODirectorio

Notaci贸n binaria

Los permisos en definitiva con flags, lo tengo o no lo tengo. Al combinar cada uno de los caracteres, que corresponden a un permiso, con 0s y 1s se crean n煤meros.

Un solo usuario

Todos los usuarios

La misma matriz que tenemos para un solo usuario lo usamos para cada uno de los permisos disponibles.

Tenemos una matriz con todos los n煤meros binarios que termina configurando un n煤mero decimal de tres d铆gitos.

Esto se utiliza para hacer cambio de los permisos en los tres tipos permisos y los tres tipos de usuarios en una sola operaci贸n.

$ chmod n煤meroDecinal archivo

# Ejemplo
$ chmod 760 archivo.txt

777: Todos tiene permiso a todo.

000: Nadie tiene permiso a nada.

Usuario root

En todo sistema UNIX existe un superusuario que puede hacer cualquier cosa, no tanto ejecutar, pero si leer y escribir cualquier archivo.

sudo

Nos permite hacer cosas de superusuario sin necesidad de ser el superusuario. Hay comandos que si o si se necesitan que seamos superusuario para ejecutarlos.

$ sudo comando

Tabla de permisos

Estoy usando WSL con la terminal de Ubuntu, sucede que el comando su root no me reconoce el password pero con el comando sudo su no hay problema, porque sucede eso?

Pienso que se puede hacer con el operador : > por que nos va permitir hacer un cambio a el archivo mitexto.txt (creandolo) pero no le pondra nada adentro
Estoy en lo correcto??

Me gustar铆a aportarles una peque帽a historia m铆a con esta clase, tengo la distribuci贸n de Ubuntu en una maquina virtual sobre mi equipo con S.O. Windows, cuando cree el usuario dej茅 una contrase帽a que ante mis ojos ten铆a un guion bajo en esta ( _ ), debido al teclado que ten铆a, m谩s adelante descubr铆 que no hab铆a dejado un _ sino que ten铆a era un ?, entonces siempre que se suspend铆a la maquina virtual y me ped铆a la contrase帽a, ten铆a que apagar la maquina y volverla a encender porque siempre me arrojaba una contrase帽a invalida, googleando encontr茅 el link que dej贸 m谩s adelante y le 鈥渃ambi茅鈥 la contrase帽a al usuario administrador, a pesar del cambio, segu铆a sin entrar, descubr铆 lo del signo que les coment茅 previamente, prob茅 con mi contrase帽a con el signo de interrogaci贸n y WOALA, entr贸 y pude cambiar mi contrase帽a, cuando llegu茅 a esta clase, Enrique mencion贸 el comando 鈥渟u root鈥, a m铆 me entr贸 sin problema alguno, pero cuando llegu茅 al final de la clase quise curiosear los comentarios de todos ustedes y vi que a muchos no les funcion贸 el 鈥渟u root鈥, as铆 que tengo la teor铆a que los pasos que hice en el link, lo que hice fue activar el usuario root y dejarle la contrase帽a que yo eleg铆 en su momento, as铆 que para los que no les funciona el su root y no quieren usar el comando su sudo, recomiendo que sigan los pasos del link a continuaci贸n, a mi me fue de mucha utilidad y espero que sea de utilidad tambi茅n para ustedes.

https://atareao.es/ubuntu/recuperar-la-contrasena-de-administrador-en-ubuntu/

隆Nunca paren de aprender! (S铆, es contagiosa esa frase)

Cuando utilizas > este sirve para crear un archivo o sobrescribir en otro que tenga el mismo nombre, incluyendo en el archivo las lineas que definamos como output.

output > nombreArchivo.txt
si el outout es un ls
ls > nombreArchivo.txt

Mostrara el listado de archivos y carpetas de nuestra ubicaci贸n en el interior del archivo nombreArchivo.txt

Si no definimos output simplemente creara el archivo sin ninguna informacion

馃槺 隆NO OS PREOCUPEIS!
_
Para los que no les funcione el comando

<su root> 

Es porque su usuario root no tiene una contrase帽a definida. Lo que tienes que hacer es:

  • Entra root con <sudo su>
  • Despu茅s utiliza el comanto <passwd> y escribe la contrase帽a que quieres para root

_
Ahora ya podr谩s utilizar <su root> y utilizas la contrase帽a que elegiste! 馃懡

El operador > permite asignar el contenido de la izquierda al archivo asignado a la derecha

隆Atenci贸n! Si estan en WSL, el comando su root no funciona porque esta desactivado y aun no hemos creado la contrase帽a. Para activarlo usamos los siguientes comandos:

Primer paso: Ingresamos al usuario root con la siguiente instrucci贸n

sudo -i

Ac谩 van a pedirnos la contrase帽a del usuario actual.

Segundo paso: Digitamos el comando para establecer una nueva contrase帽a

passwd

Nos pedir谩 confirmar la nueva contrase帽a

Ahora ya estamos logueados dentro de la terminal con el usuario root. Verificamos usando el comando

whoami

![](

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Dentro de la terminal existen varios tipos de usuarios, uno muy conocido es root

  • Podemos crear un archivo con touch o igualmente con > esto es porque > es un est谩ndar output

  • rw = Permiso de read and write,

  • r = Permiso de read

  • x = Permiso de ejecuci贸n

  • Chmod = change mode, es el comando que se utiliza para asignar permisos

  • Para saber que tipo de usuario soy puedo usar el comando Whoami

  • Para cambiar de usuario uso el comando us

  • Para cambiar de contrase帽a uso el comando passwd

  • No es buena idea dejar por defecto al usuario root

Si est谩n trabajando en WSL y al intentar cambiarse a root con:

su root

les da un error

Authentication failure

Es porque no tienen seteado (configurada) una contrase帽a para root, se soluciona de la siguiente manera:

  • Desde tu usuario actual usa el comando:
sudo passwd root 
  • En consola se te pedir谩 la nueva contrase帽a y la confirmaci贸n de la contrase帽a.

  • 隆Listo! vuelve a intentar cambiarte de usuario con su root

Funci贸n Comando
chmod cambiar los permisos de un archivo
whoami saber el usuario
id nombre del usuario
su cambiar de usuario

Si quedaste atrapado en root y quieres regresar a sandbox, escribe exit

Uf al menos a mi me funcion贸

Muy frustrado, vengo del curso de prework, uso windows y hasta el momento me he quedado a medias y he tenido que ir a gastar tiempo en otros lugares a averiguar comandos para WSL, una buena parte de los comandos ense帽ados no sirven en WSL.

Hola Compa帽eros, quisiera hacer un aporte.

Yo estoy haciendo los ejercicios en terminal mac tipo ZSH, pero cuando intentaba hacer los pasos del minuto 6:34, donde cambiamos de usuario con 鈥渟u root鈥, pero me pedia una contrase帽a y no tenia ni idea que hacer aqu铆, as铆 que busque como activar ese usuario y ponerle la respectiva contrase帽a鈥 y despu茅s de mucho intentar鈥 di con este mini tutorial que me ayudo:

https://professor-falken.com/mac/como-activar-al-usuario-root-en-mac-os-x/#:~:text=Para acceder desde la ventana,y conf铆rmalo con tu contrase帽a.

espero les sirva,

Saludos.

COMANDO: 

    chmod --> Modifica los permisos (change mode).
        [3numerosOctales]
        u-r
        u+r
        u-x,go=x

    whoami --> Muestra quienes somos.

    id --> MUestra informaci贸n de nuestro usuario.

    sudo su --> Te logea como root.

    passwd --> Cambio de contrase帽a.

PRACTICA:

    > texto.txt --> Otra forma de crear archivos.
    
    cat > texto.txt --> Para escribir en un archivo.

    ls -l --> Muestra los permisos.

    chmod 755 mitexto.txt  -> rwx r-x r-x
    chmod u-r mitexto.txt -> Quita el permiso de lectura a usuario

Yo tengo un problema con WSL que probablemente a ustedes le pase tambi茅n, y es que al star en el mnt, o sea, en el disco de Windows, ese no nos va a dejar cambiar los permisos.
Para evitar eso se debe trabajar desde el disco ~ de Linux. En mi caso no puedo porque me lo guarda todo en el disco C:, que es un disco de estado solido donde tengo almacenado Windows y los programas que m谩s uso, y tengo un par de GB libres nada m谩s.
Todos mis archivos y dem谩s programas como juegos y cosas que pesan mucho las tengo un disco duro D:, y al entrar a este desde WSL estoy entrando a mnt.

Despu茅s de muchas combinaciones de permisos he logrado entender el tema XD

buen dia
tambien se puede ingresar al modo toot con:
$ sudo -i
$ su
$ su root

es equivalente a touch dado que estamos redireccionando la salida de lo que va antes de 鈥>鈥 (en ese caso en blanco) a un nuevo archivo mitexto.txt

> mitexto.txt

Anteriormente hicimos lo mismo pero con el comando echo

echo "Hola Amigos de platzi" > mitexto2.txt

la diferencia del primero con el segundo es que la salida redireccionada del primero va en blanco.

Saludos

Para los que estan usando WSL y no pueden cambiar los permisos de los archivos, es porque esos archivos son propios de windows y estamos en teritorio ajeno intentando manipular cosas ajenas que el mismo windows maneja.

Lo que podemos hacer es ir al directorio raiz de linux y esto lo podemos hacer con

cd ~

Hola.

Para los que, como a mi, SI que les dejaba eliminar el archivo creado por el user root sin ser el user root, me di cuenta de que esto pasaba con los archivos que creabas en el home, pero, si logueado como root creas un directorio, por ejemplo (directorioRoot) y dentro de ese directorio creas un archivo (por ejemplo rootfile.txt) y luego te quitas del usuario root a tu usuario normal e intentas eliminar ese archivo dentro del directorio o el directorio enero, ah铆 si que NO te dejar谩.

A煤n no s茅 exactamente porque pasa esto, ya que no soy un experto ni mucho menos en Linux, pero es curioso鈥 Dejo mis logs por si alguien quiere replicarlo:

(-) es un archivo normalito

Para regresar al directorio anterior usa este comando, para no tener que reescribir toda la direcci贸n

cd $OLDPWD

Funciona aun sin que este relacionados los directorios (padre hijo), algo as铆 como flecha atr谩s 馃敊 en el explorador de archivos

P.D.: solo te deja regresar un paso atr谩s

Para los que estamos utilizando una distribucion de Ubuntu en WSL desde Windows, el comando su root no se encuentra habilitado. En su lugar debemos utilizar el comando sudo su root

IMPORTANTE - Ya que estamos trabajando en WSL (ubuntu) tenemos que tener presente que mientras estemos ubicados en archivos de la ruta mnt (lo podemos ver con el comando pwd) existir谩n comando que no se podr谩n ejecutar como chmod, ya queestos archivos estan viviendo en windows y no en ubuntu, que dirigirnos a ubuntu (linux) debemos dirigirnos al home con cd ~ veremos que los archivos creados en esa ruta s铆 nos permitir谩 ejecutar el comando chmod. Un dato importante, los archivos del home se guardan en una m谩quina virtual a la cual podremos ingresar con el comando explorer.exr .

Cuando estamos trabajando con WSL para asegurar la m谩xima compatibilidad debemos asegurarnos que todos nuestro archivos est谩n viviendo dentro de ubuntu

Recomiendo revisar esta clase para mayor detalle https://platzi.com/clases/2042-prework-windows/32934-configuracion-de-ubuntu-en-wsl/

La gente que esta en ubuntu puede activar el su root con el comando:
sudo passwd root

En mi caso tengo WSL y no podia ingresar al usuario root con el comando que explico el profesor 鈥渟udo root鈥 pero si lo pude hacer con 鈥渟udo su鈥.

Estoy en Ubuntu corriendo en WSL, el comando su root me denegaba acceso por contrase帽a, pens茅 que era la misma de mi usuario, pero leyendo los comentarios resulta que no, que el usuario root no tiene contrase帽a por defecto en Ubunto, hay que asignarsela. Lo solucion茅 de la siguiete manera:

sudo su
(Ingresas una contrase帽a de usuario)
passwd root
New pass: (asignas ua contrasena para root)

Ahora s铆 ya tendr铆as la contrase帽a de root:

su root 
(Ingresas con la contrase帽a)

Amigos al usar WSL y trabajar con archivos de ruta /mnt/c/Users/ 鈥) estamos trabajando comandos linux en archivos que estan en terreno windows, por eso que cuando le damos ls -l la respuesta es que todos los permiso est谩n activos y no podemos cambiar los permisos. Para evitar eso debemos de trabajar dentro de Linux es decir archivos que est谩n en la ruta de home/, de esta manera estamos en kernel Linux y ese problema no lo tendremos. Te recomiendo revisar este curso donde el profesor da esa recomendaci贸n.

Si queremos saber qu茅 usuarios estamos portando en el momento, tenemos que poner whoami, para una vista r谩pida y el si quieremos saber uid, solo tenemos que poner el comando id.

Podemos poner varios argumentos dentro de nuestro comando, separados por coma cada e incluso, tener varios grupos de usuarios para un mismo permiso, tan solo poniendo su letra representativa.

Para cambiar al usuario root en Ubuntu primero hay que cambiarle(asignarle una contrase帽a), entonces se hace con

sudo passwd root

= super user do cambia la contrase帽a al usuario root
Asignas la contrase帽a nueva y despu茅s cambias al usuario root

su root

= switch user = cambia de usuario a root

Creo que la raz贸n por la que se puede crear un archivo con 鈥>鈥 es porque est茅 redirecciona el output a un archivo externo, y si ese archivo externo no existe, lo crea.

entonces al redireccionar el output de ning煤n comando (no hay output), se crea un archivo en blanco.

por un demonio lo que faltaba !
Tras de que ya tengo crisis existenciales en el mundo real ahora las puedo tener en la terminal鈥 馃槄
05:44

En WSL no deja entrar al: su root

Ayuda por favor!!!

Hola, para los usuarios de WSL puede que al intentar cambiar el usuario a root nos d茅 un error de autenticaci贸n.

data@DGS:~/curso_consola/sandbox$ su root
Password:
su: Authentication failure

Esto pasa porque por default la cuenta root est谩 desactivada en ubuntu y por eso falla la autenticaci贸n. Si es necesario ejecutar algo con permisos de root, basta con iniciar el comando con 鈥渟udo鈥.

Alguien sabe porque me permiti贸 borrar el archivo aunque estaba logeado como mi usuario y no como root 馃槷

Modificar permisos en la terminal
chmod
sudo
su

Funciona el 鈥>鈥 por el redireccionamiento de una entrada nula a un archivo .txt

Si usas windows con ubuntu siguiendo el Prework, para cambiar a root se utiliza este comando, ya que no tiene contrase帽a:
sudo -i

Fuente:
https://askubuntu.com/questions/446570/why-does-su-fail-with-authentication-error

como es el comando para mc, "su root" ? escribo la contrase帽a y me devuelve "su: sorry" para los que iniciamos estamos un poco perdidos sobre si los comandos son universales o van variando, ser铆a muy bueno poder indicar esto.

Para los que usamos Mac y estamos en esta parte del curso, se debe habilitar el usuario root y asignarle una contrase帽a, claro, si no lo has hecho antes, es hora de hacerlo, con esta serie de pasos extra铆dos directamente del soporte de Apple:

Selecciona el men煤 Apple (铮) > Preferencias del sistema y, a continuaci贸n, haz clic en Usuarios y grupos (o bien en Cuentas).
Haz clic en 铆cono del candado y, luego, ingresa el nombre y la contrase帽a de administrador.
Haz clic en Opciones de inicio sesi贸n.
Haz clic en Acceder (o bien en Editar).
Haz clic en Abrir Utilidad de Directorios.
Haz clic en 铆cono de candado en la ventana Utilidad de Directorios y, luego, ingresa el nombre y la contrase帽a de administrador.
En la barra de men煤 de Utilidad de Directorios, haz lo siguiente:
Selecciona Editar > Activar usuario root y, luego, ingresa la contrase帽a que quieres usar para este usuario.
O bien selecciona Editar > Desactivar usuario root.

prueben el comendo de:

su nombre_usaurio | lolcat