Documente Academic
Documente Profesional
Documente Cultură
ELABORACIN DE APUNTES:
MANUAL DE PRCTICAS:
SEGURIDAD EN LINUX
09/02/2017
Es importante que esta asignatura cuente con un manual de prcticas para poder asimilar
de manera ms efectiva y eficiente los conocimientos tericos vistos en el aula de clase, y
bajo una gua clara que le permita al mismo tiempo retroalimentar esa informacin
adquirida con la prctica real.
Este Manual de prcticas estar acorde al nuevo plan de estudios apoyando fuertemente el
punto 7. Actividades de Aprendizaje y 8. Prcticas, del programa de estudios de esta
asignatura.
Contar con un manual de prcticas estructuradas que cubran los temas de la Asignatura.
Este manual ser un apoyo didctico para los profesores que impartan esta asignatura en
un futuro, reafirmando y experimentando los conocimientos vistos en clase.
Este manual de prcticas ser una gua y servir de retroalimentacin al estudiante para
asimilar y comprobar de manera eficiente los conocimientos tericos aprendidos en el aula.
Objetivos
Introduccin
En lneas generales podemos decir que se dispone de varios tipos de sistema de archivos
para poder acceder a archivos en otras plataformas. Incluye un entorno grfico X window (Interface
grfico estndar para mquinas UNIX), que nada tiene que envidiar a los modernos y caros
entornos comerciales. Est orientado al trabajo en red, con todo tipo de facilidades como correo
electrnico por ejemplo. Posee cada vez ms software de libre distribucin, que desarrollan miles
de personas a lo largo y ancho del planeta. Linux es ya el sistema operativo preferido por la
mayora de los informticos.
Un ejemplo de la popularidad que ha alcanzado es sistema y la confianza que se puede depositar
en l, es que incluso la NASA ha encomendado misiones espaciales de control de experimentos a
la seguridad y la eficacia de Linux.
Se distribuye su cdigo fuente, lo cual permite a cualquier persona que as lo desee hacer todos los
cambios necesarios para resolver problemas que se puedan presentar, as como tambin agregar
funcionalidad. El nico requisito que esto conlleva es poner los cambios realizados a disposicin
del pblico.
Es desarrollado en forma abierta por cientos de usuarios distribuidos por todo el mundo, los cuales
la red Internet como medio de comunicacin y colaboracin. Esto permite un rpido y eficiente ciclo
de desarrollo.
Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una
opcin atractiva tanto para empresas como para usuarios individuales.
Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas:
PC's convencionales, computadoras Macintosh y Amiga, as como costosas estaciones de trabajo.
A) Linux y Shells
Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios pueden
personalizar sus shells adecundolos a sus propias necesidades especficas. En este sentido, el
Shell de un usuario funciona ms como un entorno operativo que el usuario puede controlar.
Linux permite la utilizacin de distintos tipos de shell programables. Un shell es un intrprete
de comandos. Es bsicamente la interfaz, el modo de comunicacin, entre el usuario y el sistema.
Cada shell tiene sus caractersticas propias. La principal diferencia que existe entre los distintos
tipos de shell radica en la sintaxis de la lnea de comandos.
B) Linux es Multitarea
La multitarea no consiste en hacer que el procesador realice ms de un trabajo al
mismo tiempo (un solo procesador no tiene esa capacidad), lo nico que realiza es presentar las
tareas de forma intercalada para que se ejecuten varias simultneamente. Por lo tanto en Linux es
posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecucin de cada
aplicacin.
C) Linux es Multiusuario
Para que pueda desarrollar esta labor (de compartir los recursos de un computador) es necesario
un sistema operativo que permita a varios usuarios acceder al mismo tiempo a travs de
terminales, y que distribuya los recursos disponibles entre todos. Entre ms usuarios se conecten
mayor es el control de seguridad. Linux es multiplataforma. Fue diseada para plataforma Intel
pero ha sido fcilmente exportado a diversos tipos de sistema. En conclusin, en el sistema
multiusuario, varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al
mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez
(multitarea).
D) Linux es Seguro
El concepto de seguridad en redes de computadoras es siempre relativo. Un sistema puede ser
seguro para un determinado tipo de actividades e inseguro para otras. Por ejemplo, no sera
recomendable guardar secretos de estado en un sistema Linux al que pudiera acceder mucha
gente y careciese de un administrador dedicado absolutamente a la tarea, ya que segn todos
Kernel de Linux
Kernel (Ncleo) es el programa que tiene control total de la mquina y administra sus recursos.
GNU/Linux, desde un punto estricto es un kernel, no un sistema operativo. El sistema operativo es
el kernel junto con todas las herramientas necesarias para que la computadora pueda operar. De
poco sirve un kernel sin un shell, ni ambiente grfico, ni herramientas de administracin. El kernel
es el encargado de que el software y el hardware de tu computadora puedan trabajar juntos.
Las funciones ms importantes son:
Administracin de la memoria, para todos los programas en ejecucin.
Administracin del tiempo de procesador, que estos programas en ejecucin utilizan.
Es el encargado de que podamos acceder a los componentes de la computadora de una
manera cmoda.
Existen dos versiones del Linux kernel:
Versin de produccin: La versin de produccin, es la versin estable hasta el momento. Esta
versin es el resultado final de las versiones de desarrollo o experimentales.
Cuando el equipo de desarrollo del kernel experimental, decide que ha conseguido un kernel
estable y con la suficiente calidad, se lanza una nueva versin de produccin o estable. Esta
versin es la que se debera utilizar para un uso normal del sistema, ya que son las versiones
consideradas ms estables y libres de fallos en el momento de su lanzamiento.
Versin de desarrollo: Esta versin es experimental y es la que utilizan los desarrolladores para
programar, comprobar y verificar nuevas caractersticas, correcciones, etc. Estos ncleos suelen
ser inestables y no se deberan usar, a no ser que sepas lo que haces.
Como interpretar los nmeros de las versiones:
Las versiones del kernel se numeran con 3 nmeros, de la siguiente forma: XX.YY.ZZ
XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y 2. Este
nmero cambia cuando la manera de funcionamiento del kernel ha sufrido un cambio muy
importante.
YY: Indica si la versin es de desarrollo o de produccin. Un nmero impar, significa que
es de desarrollo, uno par, que es de produccin.
ZZ: Indica nuevas versiones dentro de una versin, en las que lo nico que se ha modificado, son
fallos de programacin /bugs.
Unos ejemplos nos ayudaran a entenderlo mejor:
Ejemplo1: versin del kernel 2.0.0: Kernel de la serie 2 (XX=2), versin de produccin 0
(YY=0 par), primera versin de 2.0 (ZZ=0)
Ejemplo2: versin del kernel 2.0.1: Kernel de la serie 2, versin 0, en el que se han
corregido errores de programacin presentes en la versin 2.0.0 (ZZ=1)
Ejemplo3: versin del kernel 2.1.100: versin 100 del kernel de desarrollo 2.1. [1]
Metodologa
1. Conectado como usuario root. Mostrar los directorios del Sistema Operativo Linux
Como se puede ver, estando en el directorio / y con ls mostrar directorios, se pueden ver los
directorios importantes de Linux. Estos directorios en conjunto dan la funcionalidad y potencia que
un Sistema Linux posee.
4. Consultar el shell con el que trabaja, el usuario con el que se est conectado y el directorio
actual.
Como se puede ver en la segunda sesin /dev/pts/1 asignada, desde root se realiza una conexin
al usuario oracle consultado directorio y usuario particular y versin del Kernel. Ambas sesiones
trabajando en el mismo servidor o hostname.
Sugerencias didcticas
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
Objetivos
Comprende los componentes de la Arquitectura de Linux con el fin de identificar las funciones de
cada uno.
Introduccin
Es un sistema operativo de cdigo abierto, basado en la distribucin Red Hat Enterprise Linux,
operndose de manera similar, y cuyo objetivo es ofrecer al usuario un software de "clase
empresarial" gratuito. Se define como robusto, estable y fcil de instalar y utilizar. Desde la versin
5, cada lanzamiento recibe soporte durante diez aos, por lo que en su versin 7 recibir
actualizaciones de seguridad hasta el 30 de junio de 2024.
Equipo de cmputo
Trabajar con Sistema Operativo Linux
Metodologa
1. Realizar la Instalacin de Linux CentOS. Se mostraran los pasos a realizar para la instalacin
de Linux. El estudiante debe seguir paso a paso el procedimiento con apoyo del instructor.
CentOS usa los repositorios yum para bajar e instalar las actualizaciones de sistema.
Requisitos de Sistema
Sin entorno de escritorio:
Memoria RAM: 64 MB (mnimo).
Espacio en Disco Duro: 1024 MB (mnimo) - 2 GB (recomendado).
Arquitecturas
CentOS soporta casi las mismas arquitecturas que Red Hat Enterprise Linux
Intel i386-compatible (32 bit)
Intel X86_64 (64 bit)
Al realizar un boot en la computadora dan 2 opciones para instalar, la primera el sistema detectar
la tarjeta de vdeo y entrar en modo grfico (lo cual a veces falla) por lo tanto se recomienda elegir
la segunda opcin; la cual carga un driver bsico de vdeo que todos los equipos reconocen sin
problemas y presionar Enter.
Despus iniciar el instalador grfico, es sencillo seguir los pasos, en esta ocasin dar click en el
botn siguiente.
Despus de elegir el idioma del sistema operativo y el tipo de configuracin de teclado, seleccionar
el tipo de almacenamiento, que por lo regular se elige la forma bsica.
Generar una alerta de perder los datos en disco si continuamos, como anteriormente ya
realizaron su particionado de disco duro, no hay problema, dar click en el botn Yes, discard any
data.
El siguiente paso es elegir el nombre del servidor, hay que recordar que es hostname y dominio.
2. Particiones y seguridad
Particionar el disco duro es una manera de dividir el disco fsico en varios discos lgicos. O lo que es lo
mismo, al particionar un disco, dividimos el disco en varias particiones independientes unas de otras, creando
la ilusin de que tenemos diferentes discos, cuando en realidad lo que tenemos es un solo disco fsico dividido
en partes. Una particin es una de estas partes (divisiones) del disco.
Existen dos clases de particiones: primarias y extendidas. En un disco solo podrs tener como mximo 4
particiones primaria y 1 extendida. En la particin extendida se podrn definir unidades lgicas. Con este
sistema podemos tener una gran cantidad de particiones en el disco.
Cualquier disco que se tenga en la computadora tiene al menos una particin primaria, que en la mayora de
los casos tiene un tamao equivalente al total del disco.
Ejemplos:
Un disco de 1Gb con una sola particin, tendr una particin primaria de 1Gb (total del disco). Ese mismo
disco podra tener 4 particiones primarias de 0.25Gb cada una, dando la apariencia de tener 4 discos duros de
0.25Gb en vez de un solo disco de 1Gb. Otra combinacin posible podra ser 4 particiones primarias de
0.10Gb y 1 extendida con 6 unidades lgicas de 0.10Gb, en este caso parecera que tenemos 10 discos duros
de 0.10Gb cada uno.
Las combinaciones son mltiples y variadas y dependern de la seguridad y software instalado que se
maneje.
Casi todos los sistemas operativos traen un programa con el que podemos crear, modificar, borrar las
particiones de nuestro disco. En Linux se llama FDISK (/sbin/fdisk), es un programa potente, capaz de trabajar
y crear particiones tanto para Linux como otros sistemas operativos. Si se trabaja con Linux, es recomendable
el uso del FDISK que viene con la distribucin, para evitar problemas.
Al contrario que Ms-Dos, Windows, OS/2, las diferentes particiones en linux no se denominan C:, D:, E:, ....,
etc, existe una denominacin propia:
Si los discos son IDE:
/dev/hda: Disco duro IDE como master en el canal IDE 1.
/dev/hda1: Particin primaria 1 en /dev/hda
/dev/hda2: Particin primaria 2 en /dev/hda
/dev/hda3: Particin primaria 3 en /dev/hda
/dev/hda4: Particin primaria 4 en /dev/hda
4.Cargadores de arranque
En el apagado, Init es llamado a cerrar toda las funcionalidades del espacio de usuario de una
manera controlada, de nuevo a travs de secuencias de comandos, tras lo cual el Init termina y el
ncleo ejecuta el apagado.
LILO no entiende los sistemas de archivos, por lo que utiliza desplazamientos de disco sin
procesar y el BIOS para cargar los datos. Se carga el cdigo del men y, a continuacin, en
funcin de la respuesta, carga, o el sector MBR del disco de 512 bytes como en Microsoft
Windows, o la imagen del kernel de Linux.
GRUB por el contrario comprende los sistemas de archivos comunes ext2 , ext3 y ext4.
Debido a que GRUB almacena sus datos en un archivo de configuracin en vez de en el MBR
y a que contiene un interfaz de lnea de comandos, a menudo es ms fcil rectificar o modificar
GRUB si est mal configurado o corrupto.
GRUB soporta mtodos de arranque directo, arranque chain-loading, LBA, ext2, ext3, ext4 y hasta
"un pre-sistema operativo en mquinas x86 totalmente basado en comandos". Contiene tres
interfaces: un men de seleccin, un editor de configuracin, y una consola de lnea de comandos.
LILO
LILO es ms antiguo. Es casi idntico a GRUB en su proceso, excepto que no contiene una
interfaz de lnea de comandos. Por lo tanto todos los cambios en su configuracin deben ser
escritos en el MBR y luego reiniciar el sistema. Un error en la configuracin puede dejar el disco
inservible para el proceso de arranque hasta tal grado, que sea necesario usar otro dispositivo
(disquete, etc) que contenga un programa capaz de arreglar el error. Adems, no entiende el
sistema de archivos. En su lugar, la ubicacin de los archivos de imagen se almacenan
directamente en el MBR y el BIOS se utiliza para acceder a ellos directamente.
Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para
el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para el dispositivo
superando dicha limitacin del BIOS, y cargar Linux desde all.
El proceso de inicio
El trabajo de Init es "conseguir que todo funcione como debe ser" una vez que el kernel est
totalmente en funcionamiento. En esencia, establece y opera todo el espacio de usuario. Esto
incluye la comprobacin y montaje de sistemas de archivos, la puesta en marcha los servicios de
usuario necesarios y, en ltima instancia, cambiar al entorno de usuario cuando el inicio del
sistema se ha completado. Es similar a los procesos Init de Unix y BSD, de la que deriva, pero en
algunos casos se ha apartado o se hicieron a la medida. En un sistema Linux estndar, Init se
ejecuta con un parmetro, conocido como nivel de ejecucin, que tiene un valor entre 1 y 6, y que
determina que subsistemas pueden ser operacionales. Cada nivel de ejecucin tiene sus
propios scripts que codifican los diferentes procesos involucrados en la creacin o salida del nivel
de ejecucin determinado, y son estas secuencias de comandos los necesarios en el proceso de
arranque. Los scripts de Init se localizan normalmente en directorios con nombres como "/etc/rc...".
El archivo de configuracin de ms alto nivel para Init es /etc/inittab.
Durante el arranque del sistema, se verifica si existe un nivel de ejecucin predeterminado en el
archivo /etc/inittab, si no, se debe introducir por medio de la consola del sistema. Despus se
procede a ejecutar todos los scripts relativos al nivel de ejecucin especificado.
Despus de que se han dado lugar todos los procesos especificados, Init se aletarga, y espera a
que uno de estos tres eventos sucedan:- que procesos comenzados finalicen o mueran; un fallo de
la seal de potencia (energa); o una peticin a travs de /sbin/telinit para cambiar el nivel de
ejecucin.[1]
Sugerencias didcticas
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
1.http://www.seguridad.unam.mx/noticia/?noti=1271
Objetivos
Comprende la organizacin de directorios y comandos bsicos de Linux.
Aplica en la prctica los comandos bsicos de Linux.
Introduccin
El sistema Unix es un sistema operativo que admite mltiples usuarios, as como tambin mltiples
tareas, lo que significa que permite que en un nico equipo o multiprocesador se ejecuten
simultneamente varios programas a cargo de uno o varios usuarios. Este sistema cuenta con uno
o varios intrpretes de comando (shell) as como tambin con un gran nmero de comandos y
muchas utilidades (ensambladores, compiladores para varios idiomas, procesador de textos, correo
electrnico, etc.). Adems, es altamente transportable, lo que significa que es posible implementar
un sistema Unix en casi todas las plataformas de hardware.
Sesin
shutdown apagar el sistema
init 0 / power off apagar el sistema
reboot reiniciar.
logout cerrar sesin.
Archivos y directorios
cd /home entrar en el directorio home.
cd .. retroceder un nivel.
cd ../.. retroceder 2 niveles.4. cd: ir al directorio raz.
pwd mostrar el camino del directorio de trabajo.
ls ver los archivos de un directorio.
ls -l mostrar los detalles de archivos y directorios de un directorio.
ls -a mostrar los archivos ocultos.
tree mostrar los archivos y directorios en forma de rbol comenzando por la raz.(1)
mkdir dir1 crear una directorio o directorio con nombre dir1.
mkdir dir1 dir2 crear dos directorios a la vez.
mkdir -p /tmp/dir1/dir2 crear un rbol de directorios.
rm -f file1 borrar el archivo llamado file1.
rmdir dir1 borrar la directorio llamada dir1.
cp file1 copiar un archivo.
cp dir /* copiar todos los archivos de un directorio dentro del directorio de trabajo actual.
passwd user1 cambiar la contrasea de un usuario
Equipo de cmputo
Trabajar con Sistema Operativo Linux
Metodologa
1. Aplicando algunos de los comandos de Linux. Mostrar componentes del Sistema. Este comando
es muy potente y muestra todos los componentes del sistema. Revisar en grupo cada parte.
2. Crear dentro del directorio home, conectado como root, un directorio llamado curso. Mostrar
archivos y directorios.
3. Crear dentro del directorio curso un directorio d1 y dentro de 'este otro directorio d2 y mostrar la
estructura de rbol.
4. Crear dentro de curso un archivo llamado a1. Copiar a1 al directorio d2. Mostrar estructura
5. Dentro del directorio d2, copiar el archivo a1 al directorio d1. Hacer la copia utilizando direccin
absoluta y relativa
Sugerencias didcticas
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
El alumno deber entregar reporte por escrito y prctico del resultado de esta prctica de
laboratorio.
1.http://www.monografias.com/trabajos6/sisop/sisop2.shtml#ixzz4OmlMCAel
Objetivos
Introduccin
Nombre de usuario: Estos deben ser nicos en el sistema, adems de que debe contener 8
caracteres o menos dentro de la condicin que estos deben ser caracteres alfanumricos.
Contraseas: Estas se almacenan cifradas dentro del archivo, si dentro del archivo se encuentra
un * asignado el usuario, este no podr logearse dentro del sistema, pero podr realizar otras
actividades como ejecutar comandos remotos. En el caso de dejar vaco el campo, este no pedir
un password al intentar hacer inicio de sesin.
UID de Usuario: Este es el identificador de usuario para realizar cualquier accin, como ejecutar
procesos, ser dueo de archivos, etc.
Los rangos de uid definen el tipo de cuenta, los menores de 100 se reservan normalmente para
las cuentas del sistema. A los usuarios se les asignan cuentas con uid mayor que 100 o 1000,
dependiendo de la distribucin.
GID de grupo: Los grupos se usan para organizar a los usuarios. Los rangos de GID se definen
del 1 al 499 para grupos del sistema y del 500 en adelante suelen ser para grupos de usuario.
Comentarios: Este campo se utiliza para almacenar informacin general sobre los usuarios, por lo
regular nombre, departamento, telfono, etc.
Directorio HOME: Se especifica el directorio donde se situar el usuario al hacer login en el
sistema.
Interprete de comandos: Determina el comando que se ejecutar cuando el proceso de login
termine. La mayora de las veces ah se encontrara un intrprete de comandos. Si se deja este
campo en blanco, se ejecutar la Shell por defecto.
Para que realizar algn cambio al usuario se utiliza el comando usermod [opcin] usuario, en la
siguiente tabla se muestran algunos ejemplos.
Usuarios y grupos
Equipo de cmputo
Trabajar con Sistema Operativo Linux
Metodologa
2. Crear un usuario llamado usu1 que pertenezca al grupo nomina. Una vez creado cambiarle el
password. Mostrar archivo de configuracin.
Es importante siempre asignar un grupo a un usuario creado. En Linux si no se asigna grupo, por
default crea un grupo con el mismo nombre del usuario.
Los grupos son utilizados para organizar los usuarios y para otorgar permisos a los archivos.
Algunos de los ejemplos de grupos ms comunes son los grupos para acceder a dispositivos y los
grupos para acceder a partes del sistema de archivos.
El archivo donde se encuentra almacenada toda la informacin referente a los grupos es encuentra
en la ruta /etc/group y dentro de este podemos encontrar los siguientes campos:
3. Conectado como usuario root., conectarse con el usuario usu1. Comprobar conexin. El
directorio de trabajo (HOME). Crear un archivo a1 y mostrarlo.
Como se observa cuando el prompt es # significa el usuario con el que se est conectado es root.
Cuando es cualquier otro usuario el prompt es $. Tambin observa que al crear el archivo a1 el
propietario es usu1 (usuario creador) y pertenece al grupo nomina. Este tema se ver en prctica
posterior. La funcin del comando touch es crear un archivo vaco. Y finalmente al dar el logout
cierra la sesin del usuario usu1, regresando a la sesin de root.
Sugerencias didcticas
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
5. Crear un usuario usu1 con contrasea 123456, crear 3 directorios con los nombres de ventas,
contabilidad y sistemas, crear un grupo llamado administracin y asignarlo a la directorio de
sistemas.
1.https://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-1/
Objetivos
Introduccin
Variables de ambiente
Las variables son utilizadas para almacenar nmeros, secuencias de caracteres e informaciones
en general. Una Variable de Ambiente es una variable establecida por el sistema o por un usuario,
en la lnea de comando del sistema, y puede ser usada por cualquier programa. El Linux tiene
diversas variables predefinidas tales como, nombre de usuario, el directorio nombre y el nombre
del sistema. El comando env genera una lista de todas las variables persistentes definidas en su
shell, o sea, las variables que continan existiendo igual despus que el comando actual o script
finaliza. El resultado de algunas variables de ambiente se muestra con este comando:
La mayora de las variables son usadas para nombres de caminos de bibliotecas e informaciones
como tipo y plataforma del sistema operacional. No todas las variables aqu listadas estn
presentes en el sistema do usuario. Las variables de sistema ms comunes estn listadas en la
tabla 5-4.
NOMBRE_VARIABLE="valor";
export NOMBRE_VARIABLE o
exportNOMBRE_VARIABLE="valor"
Para configurar una variable de forma permanente se debe incluir en los archivos de inicializacin.
El archivo usado para tal es el .bash_profile. Para editarlo se puede usar cualquier editor de modo
texto que est disponible en nuestro Linux, como por ejemplo el vi.[1]
Cada shell tiene sus archivos de inicializacin. Existen varias formas de inicializar el shell, los
principales son, va login y va lnea de comando. Existen diferencias entre ellos en la forma como
inician los archivos de inicializacin. Durante un login la secuencia es:
/etc/profile
.bash_profile
.bashrc
/etc/bashrc
Equipo de cmputo
Trabajar con Sistema Operativo Linux
Metodologa
1. Conectarse con el usuario usu1. Y ver las variables de ambiente que tiene asignadas por
default.
Observe en primer lugar que los comando de Linux se dan en minsculas. Las variables de
ambiente en maysculas. Si la variable de ambiente se asigna en lnea de comando y se cierra la
sesin, entonces el valor la variable se pierde. Para evitar esto sigamos con la prctica.
El archivo que guarda de forma definitiva las variables de ambiente, es el archivo .bash_profile que
se ubica siempre en el directorio de trabajo del usuario. Debe agregarse la variable y grabar el
archivo.
5. Verificar que la variable de ambiente USUARIO este activada siempre que el usuario se conecte.
Observe que aunque la variable se defina en el .bash_profile, no toma efecto hasta que el usuario
se desconecta y vuelve a conectarse. Entonces se lee el archivo .bash_profile al momento de la
conexin, activando esta variable y todas las vistas en el punto 1.
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
1.http://www.mailxmail.com/curso-sistema-operativo-linux/variables-ambiente
2.https://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-1/
Objetivos
Introduccin
Al ser Unix un sistema multiusuario, los archivos de cada usuario deben ser protegidos del resto de
los usuarios. Lo mismo ocurre con los archivos del sistema (programas, configuraciones, etc.). Esto
tiene que ver no slo con la confidencialidad de la informacin, sino tambin con la proteccin de
errores involuntarios por parte de los usuarios. Para ello se utiliza un sistema de permisos de
archivos. Este mecanismo permite que archivos y directorios pertenezcan a un usuario en
particular. Por ejemplo, como diego cre archivos en su directorio home, diego es el propietario
de esos archivos y tiene acceso total a ellos.
Unix tambin permite que los archivos sean compartidos entre usuarios y grupos de usuarios.
Si diego lo desea, podra restringir el acceso a sus archivos de forma que ningn otro usuario
pueda acceder a ellos.
Tipo de permisos
Veamos un ejemplo del uso de permisos de archivos. Usando el comando ls con la opcin -l se
mostrara un listado largo de los archivos, el cual incluye los permisos.
$ ls -l a1
El primer campo representa los permisos del archivo. El tercer campo es el propietario del mismo
(curso), el cuarto es el grupo al cual pertenece el archivo (users) y el ltimo campo es el nombre
del archivo (a1). La cadena rwxrwxrwx nos informa, por orden, los primeros permisos rwx son del
propietario del archivo, los siguientes rwx son los permisos para grupo y el ultimo rwx son los
permisos para otros usuarios.
El primer carcter de la cadena de permisos (-) representa el tipo de archivo. El - significa que
es un archivo regular, d indicara que se trata de un directorio. r es permiso de lectura (read).
w es permiso de escritura (write). x es permiso de ejecucin (execute).
$ ls -l a1
Para este ejemplo. El propietario tiene los tres permisos, lectura, escritura y ejecucin. Los
usuarios que pertenezcan al grupo users solo tienen permisos de lectura y ejecucin. Y el resto de
los usuarios slo tienen permiso de ejecucin.Los grupos usualmente son definidos por el tipo de
usuarios que acceden al sistema. Por ejemplo, en un sistema Unix de una universidad, los usuarios
pueden ser divididos en los grupos estudiantes, direccin, profesores e invitados. Hay tambin
unos pocos grupos definidos por el sistema (como bin y daemon) que son usados por el propio
sistema para controlar el acceso a los recursos. Normalmente los usuarios comunes no pertenecen
a estos grupos.
Los permisos estn divididos en tres tipos: lectura, escritura y ejecucin. Estos permisos pueden
ser fijados para tres clases de usuarios: el propietario del archivo o directorio, los integrantes del
grupo al que pertenece y todos los dems usuarios. El permiso de lectura permite a un usuario leer
el contenido del archivo o en el caso de un directorio, listar el contenido del mismo (usando ls). El
permiso de escritura permite a un usuario escribir y modificar el archivo (inclusive, eliminarlo). Para
directorios, el permiso de escritura permite crear nuevos archivos o borrar archivos ya existentes
en el mismo. Por ltimo, el permiso de ejecucin permite a un usuario ejecutar el archivo si es un
programa. Para directorios, el permiso de ejecucin permite al usuario ingresar al mismo (por
ejemplo, con el comando cd). [1]
-rwxr-xr-x
El propietario del archivo puede leer, escribir y ejecutar el archivo. Los usuarios
pertenecientes al grupo del archivo y todos los dems usuarios pueden leer y ejecutar el
archivo.
-rw-------
El propietario del archivo puede leer y escribir. Nadie ms puede acceder al archivo.
-rwxrwxrwx
drwxr-xr-x
El propietario del directorio puede leer, escribir y entrar al mismo. Los usuarios
pertenecientes al grupo del directorio y todos los dems usuarios pueden leer e
ingresar al directorio.
Cambiaremos los permisos de cualquier archivo o directorio, usando el comando chmod (change
mode), cuya sintaxis es la siguiente:
Equipo de cmputo
Trabajar con Sistema Operativo Linux
Metodologa
2. Conectado como usuario usu1, crear un archivo a2. Verificar los permisos con los que ha sido
creado y describirlo.
3. Cambiar los permisos del archivo a2, permitiendo permisos de lectura, escritura y ejecucin a los
tres grupos de permisos. Mostrar y verificar. Despus de esto cambiar los permisos para que solo
el propietario pueda leer, escribir y ejecutar. Los usuarios que pertenezcan al grupo de nomina solo
puedan leer y ejecutar y el otros usuario solo puedan ejecutar.
Con el comando chmod podemos realizar el cambio de permisos a un archivo. Observe que el
propietario puede realizar este cambio ($). El primer cambio de permisos 777 asigna todos los
permisos a todos los usuarios. Sin embargo hacer esto es un grave error de seguridad, pues abre
cualquier posibilidad de modificarlo o hackearlo.
Los permisos siempre deben asignarse de menos a ms y de acuerdo a las necesidades. El
segundo cambio realizado 751, asigna todos los permisos solo al propietario del archivo. Lectura y
escritura al grupo y ejecucin a otros usuarios.
4. Eliminar los permisos de ejecucin para otros y para los usuarios del grupo nomina. Y Asignar
lectura a otros usuarios. Use el formato corto.
5. En este punto manejaremos cambios de propietario y grupo del archivo. Cambiar el propietario
del archivo a1 del usuario usu1 al usuario usu2 (crearlo primero). Comprobar que el usuario usu1
pierde el acceso al archivo a2.
Recuerde que para crear usuarios debemos estar conectado como usuario root. Una vez creado,
nos conectamos como usuario usu1. El comando chown (change owner) realiza el cambio de
propietario. En este punto genera un error, porque esta funcin por seguridad solo la puede realizar
el usuario root.
La sintaxis es muy simple chmod augo[+|-]rwx[,...] archivo[s], as por ejemplo, si queremos que
otros tengan permiso de escritura sera chmod o+w archivo, todos los usuarios con permisos de
ejecucin chmod a+x archivo.
En este modo de establecer permisos, solo hay que tomar en cuenta que partiendo de los
permisos ya establecidos se agregan o se quitan a los ya existentes. Vemoslo con ejemplos su
manera de trabajar:
Como se observa al editar el archivo a2 por el usuario usu1, marca el mensaje [readonly]. Esto
porque el usuario usu1 pertenece al grupo nomina que solo tiene permisos de lectura.
NOTA> Esta es la forma en la que se aplica la seguridad en los archivos de Linux y evitar que la
informacin sea usada solo por el usuario permitido y evitar robo de informacin.
Esta tabla muestra algunos ejemplos ms del funcionamiento de estos permisos.
Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.
https://smaldone.com.ar/documentos/misdocs/tutorial-gnu-linux/index-8.html