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
Primeros pasos
¿Qué es la terminal?
Opcional: Instalar WSL - usa Linux dentro de Windows
Aprendiendo a caminar en la terminal
Manipulando archivos y directorios
Explorando el contenido de nuestros archivos
¿Qué es un comando?
Wildcards
Empezando a correr
Redirecciones: cómo funciona la shell
Redirecciones: pipe operator
Encadenando comandos: operadores de control
Cómo se manejan los permisos
Modificando permisos en la terminal
Cómo configurar variables de entorno
Comandos de búsqueda
Usando el comando grep
Utilidades de la terminal
Utilidades de red
Comprimiendo archivos tar y zip
Manejo de procesos
Procesos en foreground y background
Editores de texto en la terminal
Personalizar la terminal de comandos
Despedida
Nunca pares de hackear
¡Es tu turno: crea un tutorial!
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Enrique Devars
Con el comando chmod podemos cambiar los permisos de los archivos de dos formas, una es usando los símbolos (rwx) y otra es con el sistema octal.
Es bastante sencillo cambiar los permisos de forma simbólica. Para esto, hay que escribir después del comando chmod
el símbolo del usuario, luego el operador y por último el permiso que quieres agregar o quitar.
chmod [simboloDelUsuario][operador][permiso] [archivoParaCambiarSusPermisos]
| owner | group | others | | --- | --- | --- | | u (de user) | g | o |
| Operador | Función | | --- | --- | | + | Añade un permiso | | - | Quita un permiso | | = | Asigna un permiso |
Observa los permisos del siguiente archivo:
Supongamos que queremos añadirle permiso de escritura al grupo, entonces tenemos que escribir lo siguiente:
chmod g+w ProyectoExplosivo.txt
Puedes cambiar varios permisos de varios usuarios al mismo tiempo, por ejemplo, si quisieras agregar el permiso de escritura y ejecución al grupo y a otros, sería así:
chmod go+wx [archivo]
Y si quieres permisos diferentes para cada usuario, solo sepáralos por comas:
chmod u+r,g=w [archivo]
En ese comando se le añadió el permiso de lectura al dueño y de escritura al grupo. No agregues espacio en las comas o provocarás un error.
También puedes cambiar los permisos usando su forma octal, por ejemplo el conjunto de permisos rwxr-xr-x
en su forma octal es 755.
chmod 755
A veces podemos tener una crisis existencial y no recordar quienes somos, pero en vez de asistir a un terapueta le podemos preguntar a la terminal. El comnando whoami
, literalmente "¿Quien soy yo?", te muestra cual es el usuario que se está ejecutando, esto es porque a veces podemos olvidar con cual usuario estamos trabajando.
Cuando listamos los archivos con ls -l
la tercera columna muestra el nombre del usuario que es propietario del archivo y la cuarta columna muestra el grupo que tiene control sobre el archivo.
Para el ejemplo, aparece "miguelangel" en ambas columnas porque ese es el usuario que estamos usando y porque el grupo al que pertenece el usuario se llama igual "miguelangel".
Para cambiar de usuario se usa el comando su
Switch User, seguido del usuario al que quieres cambiar, en este caso vamos a cambiar al superusuario root.
su root
Cuando ejecutes este comando te pedira que coloques su contraseña.
Y aqui una advertencia: el superusuario root (sí, ese es el nombre técnico) tiene poder para hacer y deshacer con el sistema operativo, puedes eliminar cosas que no deberías eliminar y puede hacer mucho desastre. Usa los privilegios del root con cuidado.
Volviendo al tema, observa la nueva información de la terminal.
Ahora te indica antes del arroba que eres el usuario root, y al final de la información te coloca un numeral en vez de un signo de peso, eso significa que tienes altos privilegios en la terminal.
También te puedes dar cuenta que ya la virgulilla no está a pesar de que estás en la misma ruta, eso es porque el home del root no es ese, si quieres ver el home del root ejecuta esto:
cd ~; pwd
Ahora comencemos con lo bueno, vamos a crear un archivo con root y a listarlo a ver que pasa.
touch ArchivoRoot.txt; ls -l
Ahora si intentamos borrar ese archivo con otro usuario que no sea root no vamos a poder porque no tiene los permisos para hacerlo.
Si estás usando Windows Subsystem for Linux (wsl) y se te olvidó la contraseña del root. Sigue estos pasos:
wsl --user root
. Esto hará que se inicie en la terminal wsl con el usuario root.passwd root
el cual te permitirá cambiar la contraseña del usuario root.Ya con esto puedes volver a la terminal de wsl y volver a ejecutar el comando su root
.
Puede que no te quieras hacer responsable de tus archivos, así que se los quieres dejar a alguien más. Para eso usa el comando chown
Change Owner. La sintaxis es muy simple:
chown [usuarioAlQuePertenecerá] [archivo]
En la cuarta columna sigue diciendo root, pero eso es porque ese es el nombre del grupo.
| Comando | Función | | --- | --- | | whoami | Muesta el usuario con el que se está trabajando | | su | Switch User Cambia al usuario al que le especifiques | | chmod | Cambia los permisos de un archivo | | chown | Change Owner Cambia el propietario de un archivo |
Recuerda que si haces mucho desastre puedes borrar casi lo que sea con el usuario root y ten mucho cuidado con lo que borras.
Contribución creada con los aportes de: Miguel Gonzalez.
Aportes 369
Preguntas 200
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
¿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.
.
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 ☝👀.
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.
root
es especial y puede hacer de todo🚶🏽.> archivo.txt
y también podemos editarlo con cat > archivo.txt
📜[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.chmod u-r mitexto.txt
. Para agregar, se usa la suma. 🧮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.
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
root@DESKTOP-S4B72OD:/home/pierogm/personalProjects/ProyectoDemo# rm index.html
root@DESKTOP-S4B72OD:/home/pierogm/personalProjects/ProyectoDemo# ls
root@DESKTOP-S4B72OD:/home/pierogm/personalProjects/ProyectoDemo#
Espero que me haya dejado entender 😉.
🔐 El usuario root tiene el control absoluto de todo lo que ocurre en el sistema, accediendo a todas las funciones y configuraciones.
Yo usando el comando whoami:
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:
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 😃**
Cuando te aventuras en linux sin saber, te frustras demasiado, depues lo intentas mirando estos videos y todo es magia!!!
Si no te funciona el su root despues de poner la contrasena, hazlo de esta manera sudo su root y te funcionara
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.
A mi si me dejo borrar el rootfile desde user sin ser root
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
.
Un comando para obtener información del sistema es; uname.
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.
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.
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
root@directorio$
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'?
El simbolo # nos indica que estamos en el usuario root.
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.
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.**
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
Tabla de permisos
$ > 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.
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 😄 ❤️
Para evitar que un archivo sea borrado o editado se tiene que cambiar el attributo del archivo o directorio de esta forma
Le cambiamos el atributo con chattr +i rootfile
para eliminar el archivo o editarlo se le tiene que cambiar el atributo.
El flag **+i ** lo que hace es darle inmutabilidad dejando el archivo totalmente protejido de cualquier eliminacion e incluso editarlo.
*
Para editar o eliminar el archivo se le tiene que eliminar el flag de esta manera -i
Espero les ayude compañeros
Pequeña aclaración en el minuto 8:57 lo que el maestro hizo fue darle enter obviamente no lo borra, pero si le das “y” si elimina el archivo aunque estés con tu usuario normal o al menos a mi si me dejó o no se si estoy dejando de lado algo
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
Formas de agregar permisos
.
Crear archivo de prueba
.
.
.
Forma 1 dar permisos en octal para usuario, grupo, otros:
.
.
.
.
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:
.
.
.
Forma 3 todo concatenado:
.
.
.
Como saber que usuario soy:
.
.
.
Como saber el id del usuario:
.
.
.
Cambiar de usuarios:
Nota: Introducir contraseña del usuario y listo.
.
.
.
Darle permisos de usuario root temporalmente a mi usuario sin cambiar de usuario:
.
.
.
Cambiar contraseña de un usuario:
.
.
.
Consejos:
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.
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
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
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
¿Podemos tener múltiples usuarios en Linux?
¿Cómo se llama el usuario más conocido en Linux?
¿Cuál es la característica especial que tiene el usuario root sobre los demás usuarios?
¿Qué operador podemos usar como suplente del comando touch para crear archivos?
¿Cómo sería la sintaxis para crear un archivo con el operador >?
> nombre-archivo
¿Cómo podemos abrir un editor de texto usando el comando cat y editar un archivo de texto?
¿Cómo sabemos que podemos empezar a editar un archivo cuando ejecutamos el comando cat > nombre-archivo?
¿Cómo podemos salir del editor de texto que creamos con el comando cat > nombre-archivo?
¿Para qué nos sirve el comando chmod?
¿De qué modos podemos cambiar los permisos de usuario con el comando chmod?
¿Cómo sería la sintaxis para cambiar los permisos sobre un archivo o directorio usando el comando chmod de manera octal?
¿Cómo sería la sintaxis para cambiar los permisos sobre un archivo o directorio usando el comando chmod de manera simbolica?
¿Cuáles son los operadores que podemos usar para asignar permisos a los usuarios de la manera simbólica?
+
–
=
¿Qué significan el operador + en la asignación de permisos de manera simbólica?
¿Qué significan el operador - en la asignación de permisos de manera simbólica?
¿Qué significan el operador = en la asignación de permisos de manera simbólica?
¿Podemos manipular los permisos del usuario, grupo y el mundo al mismo tiempo con el comando chmod?
¿Cómo podemos manipular los permisos del usuario, el grupo y el mundo al mismo tiempo con el comando chmod?
¿Para qué nos sirve el comando whomi?
¿Cómo podemos cambiar a otro usuario desde la terminal?
¿Qué me pide el comando su root para que podamos cambiar al usuario root?
¿El home del root es diferente al home de cualquier otro usuario?
¿Un usuario normal puede eliminar archivos creados por el root?
¿Qué comando podemos usar para ser el usuario root pero sin la necesidad de que cambiemos de usuario con el comando su?
¿Qué nos pide la terminal cuando intentamos eliminar un archivo creado por el usuario root y estamos intentando borrarlo con el comando sudo?
¿La contraseña del usuario root y la del usuario personal deberían ser las mismas?
¿Cómo podemos cambiar la contraseña de cualquier usuario?
¿Deberíamos de dejar el usuario root por defecto?
¿Por qué es mala práctica que dejemos el usuario root por defecto?
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).
>
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
.
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 modu
: 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.
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
passwd
Con este comando podemos cambiar la contraseña de nuestro usuario en la terminal.
$ passwd
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.
Todos los archivos de UNIX tienen
La persona que ha creado el archivo.
Que pueden acceder o no a ciertos archivos.
Está que se le permite hacer a otros usuarios que no sean el dueño ni que pertenezcan al grupo.
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.
Esto nos configura una matriz que nos indica quien puede hacer cada una de las operaciones.
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
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
La x
en el caso de los directorios quiere decir que el usuario tiene permiso de acceder a él.
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
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.
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.
En todo sistema UNIX existe un superusuario que puede hacer cualquier cosa, no tanto ejecutar, pero si leer y escribir cualquier archivo.
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
Una forma alternativa de cambiar al usuario root en WSL es ejecutando sudo -i
Minuto 8:45 --> ¡Yo intenté borrar el archivo y me permitió! Sólo tuve que responder Y. ¿Por qué pasa eso? ¿No es que si no soy root no podría borrar un archivo de 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 *
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.
sudo, es un canalizador de los permisos del root.
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.
En WSL no deja entrar al: su root
Ayuda por favor!!!
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.
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/
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
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
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
Cuando 2min de video que lo hacen pensar a uno 20m ¿por qué? XD
¡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
Saludos, mi solución a los ejercicios es:
chmod ugo=rx,g+w ArchivoPoderoso.txt
chmod 751 pelota.txt && chown tics pelota.txt
chmod ugo=- champions.txt
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)
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.
¿Por qué yo si pude borrar el archivo con mi usuario normal?
Tengo un caso parecido a los demás, he creado un archivo con el usuario root, y luego elimine con el usuario normal ,y si me permitió. Alguien sabe a que se debe esto ,su apoyo por favor
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:
Muy buenos los ejercicios para practicar, que estan al final de los recursos.
Si te pide una contraseña para iniciar “root” y no sabes cual es. Podes generar una nueva con el siguiente comando :
**> sudo password root **
Una vez puesto presiona enter y te dejara poner una nueva contraseña. Cuando hayas terminado presiona enter y automaticamente entraras en modo root. 😬
En ubuntu es:
$ sudo passwd
Escribes el password de tu usuario y enseguida te va pedir
New password:
Retype new password:
El nuevo password y la reescritura del nuevo password son para root.
💡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
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.
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
Si en WSL2 el comando “su root” no funciona, es por que por defecto no tiene una contraseña, entonces hay que asignarle una, haz lo siguiente: ejecuta “sudo passwd root” y te permite asignarle contraseña al root, luego toca ejecutar otra vez “su root” pones tu contraseña y listo!
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”.
😱 ¡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:
_
Ahora ya podrás utilizar <su root> y utilizas la contraseña que elegiste! 👽
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
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
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.
chmod
, puedes cambiar el valor de los permisos del archivo.
Profe puede dejar de borrar sus lineas de codigo todo el tiempo? es una mamera tomar imagenes como apuntes asi, gracias ♥
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
👋🏻 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:
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
Dar +
# Dar permisos a **usuario**
# chmod u+[tipo_permiso] [archivo|carpeta]
chmod u+x txt.txt
# Dar permisos a **grupo** y **otros**
chmod g+w txt.txt
chmod o+r Master/
.
Quitar -
chmod u-x txt.txt
chmod o-r Master/
.
Dar y quitar
chmod u-x,g+x,o+w txt.txt
.
Los permisos por defecto de un archivo son rw- rw- r--
En binario se vería 110 110 100
Y en decimal 6 6 4
chmod 664 txt.txt
chmod 000 txt.txt # dejarlo sin permisos --- --- ---
Esa pequeña punta del iceberg me hizo demorar un monton para comprenderlo y ejecutarlo bien XD
Me encanto lo de la crisis existencial jajaja
![](
Si al poner su root la respuesta es su: authentication failure, deben cambiar la contraseña con el comando sudo passwd root, después de hacerlo el problema no volverá a aparecer
Con todo esto, estoy que accedo al root de mi celular android para eliminar youtube y otras aplicaciones nativas. Yes !
Algo que noté en la eliminación de directorios creados por el usuario root desde un usuario normal, es que a mi si me lo dejó eliminar normal con el usuario icaro, la diferencia fue que el profesor no utilizó el “y” en la respuesta del remove, solo presionó el enter, yo despues hice la prueba, aqui está:
Estos son los permisos del usuario icaro:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?