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á “Permission 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: “Primero tienes que saber cuál es tu usario, luego pones este comando, pero cambias ahí donde dice ‘usuario’ por tu propio usuario…” mejor les dices: “Toma, 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 “rootfile” 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 “w” del directorio 🤔.

Como se ve en drwxr-xr-x, está activo el “w” 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 “w” 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’t 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 “home” 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 ‘y’. 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 “y”.
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 “cambié” 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 “su 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 “su 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 “su 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 “sudo root” pero si lo pude hacer con “sudo 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 “sudo”.

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