lunes, 25 de abril de 2011

Permisos de Archivos y Directorios

Permisos de Archivos y Directorios



En Linux cada recurso pertenece a un usuario, y a un grupo de usuarios.
La columna permisos, consta de 10 caracteres y se divide de la siguiente manera:
1er. carácter: Nos indica que tipo de fichero es, los valores posibles para este carácter son:

d : directorio
l : enlace simbólico
b : dispositivo de bloque
c : dispositivo de caracteres
s : socket
p : tubería
- : fichero regular
2do 3ro 4to carácter. Es el primer trío de permisos, y nos indican los permisos que el usuario (U) tiene sobre ese fichero.
5to 6to 7mo carácter. Es el segundo trío de permisos, y nos indica los permisos que el grupo (G) tiene sobre ese fichero.
8vo 9no 10mo carácter. Es el tercer trío de permisos, y nos indica los permisos que los otros (O) tienen sobre ese fichero. Otros se refiere a cualquier usuario que no sea el usuario del fichero (U) ni pertenezca al grupo del fichero (G).


Tipos de permisos fundamentales:
r: read (lectura). El usuario que tenga este permiso podrá si es un directorio listar los recursos almacenados en él, y si es cualquier otro tipo de fichero podrá leer su contenido.
w: write (escritura). Todo usuario que posea este permiso para un fichero podrá modificarlo. Si se posee para un directorio se podrán crear y borrar ficheros en su interior.
x: execute (ejecución). Este permiso para el caso de los ficheros permitirá ejecutarlos desde la línea de comandos y para los directorios, el usuario que lo posea tendrá acceso para realizar el resto de las funciones permitidas mediante los otros permisos (lectura y/o escritura). Si un usuario no tiene permiso de ejecución en un directorio, directamente no podrá entrar en el mismo, ni pasar por el.

Los tres tipos de permisos mencionados poseen una representación numérica basada en el sistema octal que parte de representar como ``1'' los bits de los permisos otorgados y ``0'' para los negados. Luego se transforma la representación binaria así obtenida en octal. De esta forma se obtienen para cada tipo de permiso los siguientes valores:

TIPOUSUARIO (u)GRUPO (g)OTROS (o)
-rwxrwxrwx

read write execread write execread write exec


Para cada uno de estos tres tríos vemos que existen tres tipos de permisos fundamentales:

La combinación de los tres tipos de permisos para un tipo de usuario oscila desde cero (ningún permiso) hasta siete (todos los permisos).


Ejemplos más comunes:

644: El propietario con permisiòn de lectura y escritura, grupo con permisión solamente de lectura, otros con permisión solamente de lectura.
755: El propietario con permisión total, grupo com permisión de lectura e ejecución, otros com permiso de lectura e ejecución.
777: El propietario con permisión total, grupo com permisión total, otros con permiso total.


Permisos
Los comandos a continuación pueden ser combinados dependiendo de la necesidad que se presente.

Comando u Opción Ejecución
Chmod Cambia los permisos de un archivo o directorio
Opciones

+ Agrega un permiso
- Quita un permiso
r Establece permisos de lectura para un archivo o directorio
w Establece permisos de escritura para un archivo o directorio
x Establece permisos de ejecución para un archivo o directorio
u Establece permisos para el usuario que creo y es propietario del archivo o directorio
g Establece permisos para acceso de grupo a un archivo o directorio
o Establece permisos para acceder a un archivo o directorio por todos los usuarios del sistema
a Establece permisos de acceso a propietario, grupo y todos los demás usuarios
s Configura permisos de ID de usuario e ID de grupo; el programa pertenece al propietario y al grupo
t Configura permisos sticky bit; el programa pertenece en la memoria
Comandos

chgrp Cambia el grupo para un archivo o archivos
chown Cambia el propietario para un archivo o archivos
ls -l Presenta el nombre del archivo con sus permisos
ls -ld Presenta el nombre del directorio con sus permisos
ls -l Despliega todos los archivos de un directorio con sus permisos










Comandos mas usados en el terminal de linux

En esta sección encontraras como usar los comandos mas importantes dentro del terminal con los que podrás hacer cualquier cosa....
por mi parte prefiero usar el terminal y no la interface gráfica 




Comando cd (change directory)
Cambiar de directorio.

$ cd Musica (relativa)
$ cd /home/jorgitoluis/Musica (absoluta)
$ cd ~tux1/doc (home)
$ cd (Cambia a tu home)
$ cd .. (Sube un nivel)
$ cd - (Cambia al directorio anterior)

Comando mkdir (make directory)
Crea un directorio

$ mkdir /home/jorgitoluis/Musica (absoluta)
$ cd /home/jorgitoluis$ mkdir Musica (relativa)

Comando rmdir (remove directory)
Borra un directorio

$ pwd
/home/jorgitoluis$ rmdir Musica

Trabajar con múltiples directorios

Crear y borrar varios directorios con la bandera -p

$ mkdir -p dir1/dir2/dir3
$ rmdir -p dir1/dir2/dir3

Comando ls
Lista el contenido de un directorio.

$ ls /home/jorgitoluis
opciones importantes:
-l lista larga (más opciones)
-a lista todos los archivos incluído los ocultos
-t listan los archivos por cambio de fecha
-R lista contenido recursivo

Comando touch
Este comenado permite crerar un archivo vacío o cmabiar la fecha de modificación.

$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 11:10 Musica
$ touch Musica
$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 15:37 Musica
$ touch new
$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 15:37 Musica
-rw-rw-r-- 1 jorgitoluis jorgitoluis 0 Jan 1 15:38 new

Comando cp

Permite copiar archivos y carpetas

Sintaxis:

cp origen(s) destino

Ejemplo:


Copiando un archivo a otro
$ cp .bashrc bashrc.old

Copiando múltiples archivos a un directorio
$ cp /home/jorgitoluis/doc1 /home/jorgitoluis/doc2 /tmp

Copiando un directorio a otro
$cp -R /home/jorgitoluis/tmp

Comando mv

Permite mover un archivo, si la carpeta de destino es la misma, la función sería renombrar el archivo.
Este comando es por su naturaleza recursivo.

Sintaxis:
mv origen(s) destino

Ejemplo:

Para mover un archivo a otro directorio
$ mv jorgitoluis/doc1 ../../tmp

Para renombrar
$ mv doc1 doc2

Comando cat (concatenate)
Permite ver el contenido de un archivo, es muy ultil por ejemplo puedes hacer un cat del history o de alguna configuración y examinar su contenido sin modificarlo.

cat yp.conf yum.conf

Comando more y less
Permite presentar el contenido de un archivo página por página.

[jorgitoluis@jorge:~etc]$ less /etc/httpd/conf/httpd.conf (archivo de configuracion del apache)

[jorgitoluis@jorge:~ etc]$ more /etc/httpd/conf/httpd.conf

Comando od y strings
Despliega el contenido de archivos binarios.

[jorgitoluis@jorge:~ etc]$ od /usr/bin/passwd

Comando rm
Borra archivos y carpetas.

rm /home/jorgitoluis/doc1.txt

rm -Rf /home/jorgitoluis/documentos

Comando split
Tu puedes dividir un archivo en pequeños pedazos utilizando split.

Sintaxis:
split -b<Bytes> file <prefix>

Ejemplo:

$ split -b 1024k doc1 doc1

Conceptos y Comandos Básicos sobre el terminal de linux


Esta es la forma normal por el cual se presenta el terminal con el usuario normal

para acceder a super usuario es decir a ejecutar comandos como root escribimos en el terminal:

sudo su -
y escribimos el password 
de esta manera tenemos acceso.

SIGNIFICADO DE LOS SÍMBOLOS EN EL EL TERMINAL 
El $ usualmente indica que está autenticado un usuario regular.
El # usualmente indica que está autenticado el superusuario (root)
El ~ indica que se encuentra en la carpeta personal del usuario.

Algunos de los comandos Linux Básicos
passwd: Cambia el password del usuario con que estas logeado
date: Busca la fecha de hoy 
cal: presenta un calendario
who, finger: Busca que usuarios se encuentran activos en el sistema
clear: Limpia la pantalla
echo: Escribe un mensaje para si mismo
write: Escribe un mensaje para otras pantallas
wall: Escribe un mensaje para todos
talk: Se comuncia con otros susuarios del sistema
mesg: Activa y/n la recepción de los mensajes de write, wall, and talk 


Tips del Teclado
<backspace>, <Ctrl-h> Borrar caracter hacia la izquierda.
<Ctrl-c> Terminar la ejecución de un comando y regresar a shell
<Ctrl-d> Fin de la transmisión
<Ctrl-w> Borrar la palabra hacia la izquierda
<Ctrl-u> Borra toda la línea
<tab> Completa el comando o el nombre del archivo
<Flecha arriba> Anterior comando.
<Flecha abajo> Siguiente comando.
<Flecha izquierda> Recorre un caracter hacia la izquierda.
<Flecha derecha> Recorre un caracter hacia la derecha.
<shift page-up> Presenta la salida del comando anterior
<Ctrl-r> Busca un comando dentro del history

Comando history
Guarda los últimos 1000 comandos ejecutados, este comando es muy importante ya que con el podemos ver las acciones que se hicieron y los configuraciones que se han realizado sobre el sistema operativo.


Tips del Mouse dentro de la consola
<Botón izquierdo del mouse>
Click: Marca start de selección
Drag: Marca selección
<Botón central del mouse>
Click: Pega selección
<Botón derecha dl mouse>
Click: Marca el fin de la selección




lunes, 14 de marzo de 2011

Que son las Distribuciones en GNU/Linux

Esta es una gran pregunta que se hace cuando estamos dando nuestros primero inicios al manejar un sistema GNU/LINUX el día de hoy quiero compartir con ustedes un poco sobre esto aclarar que es una distribución y en que se diferencian entre ellas así que manos a la obra.

Que es una Distribución
Lo mas importante de todo esto es tener en claro que todos los sistemas GNU/LINUX usan un kernel que llega a ser el núcleo el corazón por decirlo del sistema operativo entonces las distribuciones vienen a ser la compilación de varios paquetes que son los programas con los que la distribucion sera lanzada al mercado cada una de estas se diferencia dependiendo de las necesidades que las empresas han visto en sus mercados de esta manera hay distribuciones orientadas directamente a el uso de pcs de escritorio y otras dedicadas especialmente para el uso de servidores, una vez aclarado este tema de que es una distribucion puedo decir que las distribuciones de linux se pueden clasificar en dos grandes grupos distribuciones basadas en RPM y distribuciones NO basadas en RPM

DISTRIBUCIONES BASADAS EN RPMLos archivos rpm terminan en la extensión .rpm contienen varios archivos y programas en su interior, algo similar a los archivos .zip, .rar

RPM es el acrónimo creado por redhat para definir un esquema de distribución de paquetes. Significa RedHat Package Manager o Manejador de paquetes de RedHat

Que contienen estos famosos archivos con extencion .rpm estos archivos han venido siendo los mas importantes desde el desarrollo del sistema operativo GNU/LINUX los cuales incluyen una colección de archivos binarios relativos a un determinado paquete o utilería sino que también incluye archivos de ayuda, de configuración y lo mas importante estos incluyen lo que se llama dependencias, esto es, que otros paquetes rpm requiere este rpm para instalarse.

Sin embargo no solo eso tienen los archivos rpm sino que todos los paquetes rpm nos permiten además desinstalar completamente una aplicación,(es decir eliminar todos los archivos que se crearon al momento de la instalacion de este programa ) pues se mantiene una lista de todos y cada uno de los ficheros de configuración, librerías, binarios, páginas de ayuda y demás que haya instalado un paquete rpm, así de esta forma al borrar un paquete rpm podemos tener la total seguridad de que hemos eliminado todas las referencias y archivos instalados por el rpm.

Además los paquetes rpm pueden ser actualizados, de esta manera los rpm sobrescriben con total tranquilidad sus anteriores versiones instaladas, sustituyendo binarios y páginas manuales así como creando nuevos enlaces que se requieran, pero siempre respetan los archivos de configuración preexistentes, lo que permite actualizar una aplicación con una versión superior sin incurrir en una tarea completa de re-configuración por esta razón es tan rápida la actualización y modificación de los paquetes que vienen con el sistema operativo al momento de su instalación cabe mencionar que al tener esta opción de actualización del sistema no hay q caer en lo aburrido de reiniciar el sistema cada vez que se instala un programa nuevo como sucede en un sistema operativo que todos conocemos.

DISTRIBUCIONES NO BASADAS EN RPM

En este tipo de distribuciones se trata de eliminar un poco el uso de consola tratando de orientar el uso de sus aplicaciones a usuarios con poco conocimiento informático es decir se trata de simular los archivos .exe que se ejecutan en windows pero siempre manteniendo la estructura básica de archivos binarios paquetes de utileria, ayudas, configuración  e integridad de dependencias Para instalar estos paquetes sólo tienes que hacer doble click sobre el archivo con extencion .deb y automáticamente se lanzará la aplicación gdebi, que se ocupará de instalar el paquete y buscar las dependencias de otros paquetes que pudiera necesitar para su correcta instalación.

lunes, 7 de marzo de 2011

Inicios de la competencia


Inicios de la competencia

Inicios de microsoft
MS-DOS nació en 1981 al ser encargada Microsoft de producir un sistema operativo para los de PC-IBM. Rápidamente Microsoft compró los derechos de QDOS también conocido como 86-DOS,1 de Seattle Computer Products, y comenzó a trabajar en las modificaciones para poder cumplir con los requerimientos de IBM.

EL EXITO DE MICROSOFT SURGIO EN QUE IBM NECESITABA UN SISTEMA OPERATIVO PARA SUS PC-IBM

Inicios de Macintosh
Apple Computer (Macintosh) fue un proyecto desarrolado por dos personas principalmente Steve Jobs y Steve Wozniak quien dejo la empresa luego de un accidente de aviacion dejando asi a mando a Steve quien interesado en la electronica al igual que Woz decidieron lanzar su primer ordenador, la empresa estaba establecida en el garage de Jobs en los anos de 1976. La primera máquina "Apple I" (las características eran limitadas por el poco dinero del que disponián Woz y Jobs) se vendió en 666,66 dólares y llegarón a vender 175 unidades.
asi empezaron las competencias de GNU/linux para aquellos amigos que me han preguntado sobre este tema

Alianza entre IBM Y LINUX


Esta alianza (5 DE NOVIEMBRE DEL 2008) tiene como finalidad principal la distribución del software de IBM, Lotus Notes y Lotus Symphony, en estas distribuciones Linux, para así hacer frente a Microsoft, con su Windows y Office, y ofrecer una alternativa empresarial y doméstica más barata y eficiente respaldada por empresas de esta talla.


Asi es amigos saquen sus propias conclusiones

domingo, 6 de marzo de 2011

¿QUE ES GNU/LINUX?



Desde sus inicios GNU/LINUX ha sido usado por empresas en sus servidores y hoy en dia con su distribución mas popular que es ubuntu se trata de cubrir el mercado de los computadores personales en los hogares.
Asi GNU/LINUX llega a ser la combinacion de las herramientas básicas del sistema operativo creado por Richard Stallman en 1983 y su proiyecto GNU y mantenido por la FSF(FREE SOFTWARE FUNDATION ) ,Y el nombre Linux viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991.

¿Que es Linux?



Esta es la gran interrogante que se tiene cuando recien se empieza en este mundo del software libre de esta manera a inicios de 1991, Linus Torvalds empezó a trabajar en un reemplazo no comercial para minix empezó a escribir su núcleo Linux y decidió distribuirlo bajo la licencia GPL.


Una distribución Linux es entonces un conjunto de programas creados por el proyecto GNU, o por otros desarrolladores que se apoyan en la licencia GPL o LGPL (Lesser General Public), y el núcleo desarrollado por Linus Torvalds.