domingo, 26 de octubre de 2014

Linux commands: chown

Hello people!, it's me I am back with kind of a remorse or a stroke of guilty conscience I am writing three posts today so I can break even with my goal of writing an article a week, although I had been slacking around for the past three, I won't deny it.
So For this post I will talk about directory permissions(in another one I will talk about file permissions). Directory permissions are important to the integrity of the file system and to maintain a healthy and secure environment in your computer. All directories when created are assigned an access permission that administrates the way users interact with them, so maintaining a good healthy relation will prevent from future file system headaches or nightmares, that is one user meddling with another user's directory or folder, or computer systems forbid application folders or core system one's(yiaks nooooo!).
For this in linux systems(or any other unix) all core folder's are assigned permissions only to the root user so any operation interaction by a non root user(e.g. deleting, renaming, moving, etc) will be prevented, cause we all know that message from terminal saying 'permission denied'.
So with all the previous in mind be mindful when sudoing or using as root the chown command. This command is used to change the permissions of the file system on any given directory folder or file in it. It will change the permission associated with it and if done incorrectly could backfire and leave you out of your user's directories(Major headache when sudoing in the root user's folder, danger danger!).
Usage is as follows:
$ chown user folder|file
This is an example for folders or directories:
$ chown myuser /folder-to-change-permissions/

This is an example for files:
$ chown myuser /folder/file-to-change-permissions.extension

The first one is just for folder and the later one is for files but if you want to change the folder and all of it's content permissions use the parameter 'R', which means recursive(for all of the non command line proficient user's like me):
$ chown -R myuser /folder/file-to-change-permissions.extension
And if you want to also make the permission changes available to all user's for a group in particular you do the following:
$ chown myuser:groups /folder/file-to-change-permissions.extension
Et voila! this is done and just to remind all you out there what is done in the terminal it hunts you for life! So once done it can only be undone by root user or sudoing, and really it is not undoing it is changing permissions again so be careful when dealing with core system directories and files as well as user's home directories if you have to work on these be very careful and don't do the mistake I did and change the sudoers file(long back when I started learning linux and command line, little did I know), cause there is no turning back from that one.
Well hope you've enjoyed and like the post leave your comments or suggestions below and for more references I left some links below.





Hola gente!, soy yo de regreso con un golpe de consciencia culposa o remordimiento hoy estoy escribiendo tres artículos para así ponerme al día con mi meta de escribir uno a la semana, aunque ya han sido tres semanas que he estado de flojo, no lo voy a negar.
Así que para este post voy a hablar de los permisos de directorio(en otro hablaré de los permisos de archivos). Los permisos de directorio son importante para mantener la integridad del sistema de archivos y un ambiente saludable y seguro en tu computadora(ordenador). Todos los directorios cuando son creados se les asigna permisos de acceso los cuales administran la manera en que los usuarios interactuan con ellos, entonces para mantener una relación saludable y prevenir dolores de cabeza o pesadillas con el sistema de archivos, ya sea un usuario operando sobre un directorio o folder de otros; ó que los sistemas de computación lo prohiban, con las carpetas de las aplicaciones o del núcleo del sistema(Auch Noooooo!).
Por esta razón los sistemas linux(o unix que es lo mismo casí) todas las carpetas del núcleo del sistema o escenciales son asignadas con permisos solamente para el usuario root así que cualquier interacción por cualquier usuario que no sea root (e.g. borrar, mover, renombrar, etc) será prevenidas, porque ya todos conocemos ese mensage de la terminal diciendo 'permission denied'.
Así que teniendo en mente todo lo anterior seamos conscientes cuando hagamos sudo o utilicemos el usuarios root al utilizar el comando chown. Este comando es utilizado para cambiar los permisos del sistema de archivos en cualquier carpeta o directorio dado, o los archivos contenidos en él. Este comando cambiará los permisos asociados a este y sí hecho incorrectamente podrá darnos el tiro por la culata y dejarnos fuera de los directorios del usuario(Dolor de cabeza mayor si lo hacemos con sudo en el folder del usuario, péligro péligro!).
El uso es como se muestra a continuación:
$ chown user folder|file
Este es un ejemplo para carpetas ó directoios:
$ chown myuser /folder-to-change-permissions/

Este es para archivos:
$ chown myuser /folder/file-to-change-permissions.extension

El prímero es para carpetas y el siguiente es para archivos pero si lo que queremos es cambiar los permisos de la carpeta y todo su contenido entonces agregaremos el parámetro 'R', el cual significa recursivo(para todos aquellos que como yo no son muy versados en linux):
$ chown -R myuser /folder/file-to-change-permissions.extension
Y sí lo que quieres es que los cambios de permisos esten disponibles a todos los usuarios de un grupo en particular has lo siguiente:
$ chown myuser:groups /folder/file-to-change-permissions.extension
Et voila! Esto esta hecho y solo como recordatorio para todos ustedes que lo que se hace en la terminal te perseguirá de por vida! Así que una vez hecho un cambio solo puede ser deshecho por el usuario root o haciendo sudoing, y realmente no es deshacer sino volver a cambiar permisos así que tengan mucho cuidado cuando manejes directorios y archivos del sistema así como con el directorio home de los usuarios especialmente del usuario root si tienes que trabajar en ellos y no comentas el error que yo y cambiar el archivo sudoers(hace tiempo atrás cuando recién comenzaba a aprender linux y la linea de comandos), porque de ese error no hay regreso.
Bueno espero que hayan disfrutado y gustado el post, dejen sus comentarios o sugerencias debajo y para mas referencias les dejo algunos enlaces debajo.

Linux commands: ls

Si eres una de esas persona que les gusta hacer todo desde la linea de commandos(o terminal para algunos) ls es uno de esos comandos que con el cuál quisieras familiarizarte.
En un post anterior escribí hacer de como hacer pequeñas busquedas recursivas desde la terminal en algún directorio(folder) y sub folders con este comando. Hoy voy a escribir algo corto(no muy complicado) acerca de un parámetro extra que podemos agregar al comando para mejorar la búsqueda, en este caso en particular el tamaño de un directorio o archivo en formato comprensible para nosotros humanos(GB, MB, KB, étc).
Es tans imple como simplemente teclear en la terminal desde el folder en el que nos encontremos:
ls -lh
Esto producirá una sálida a pantalla de la terminal como la siguiente en una forma que podemos mejor comprender(porfavor noten el texto resaltado en negritas):
ls -lh total 447M -rw-rw-r-- 1 mineit-server mineit-server 399M sep 10 20:31 android-studio-bundle-135.1339820-linux.tgz drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Desktop drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Documents drwxr-xr-x 3 mineit-server mineit-server 4.0K sep 28 15:26 Downloads drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Music drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Pictures drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Public drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Templates drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Videos
Pero recuerden que tienen que utilizar 'lh' como parámetros para la búsqueda si remueven alguno no dará el resultado deseado.
Espero te hayá gustado y si búscas mas referencias porfavor ve a los enlaces que se encuentran al final del post.



If you are one of those guys that like doing everything on the command line tool (terminal) ls is one of those commands you would like to get familiar with.
In a previous post I have written on how to do small recursive search on a directory folder and inner folders with this command. Today I will write something small(not very complicated) about another parameter you can add to it to enhanced any search query, in this case to view in a human readable format(GB, MB, KB, etc) the size of a directory(folder) or file within resultadoa directory.
It is as simple as just typing in the terminal from the folder or directory you are currently located: ls -lh
this will produce an output to the terminal like the one following in a way we can better understand(please noticed the highlighted file sizes in bold):
ls -lh total 447M -rw-rw-r-- 1 mineit-server mineit-server 399M sep 10 20:31 android-studio-bundle-135.1339820-linux.tgz drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Desktop drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Documents drwxr-xr-x 3 mineit-server mineit-server 4.0K sep 28 15:26 Downloads drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Music drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Pictures drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Public drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Templates drwxr-xr-x 2 mineit-server mineit-server 4.0K sep 8 22:15 Videos
But remember you have to use 'lh' as parameters for the query if you remove any you wont get the disered result.
Hope you dig it and for more references please go to the links below.


http://es.wikipedia.org/wiki/Ls