Laboratorio 6 - Privilegios - MA781U

Anuncio
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
v2.0
Sistemas Operativos
MA781U
LABORATORIO 6
Preparado por: Angel Chata Tintaya ([email protected])
Resumen
Se revisará la forma de ordenar los archivos, sus permisos y propiedades.
I. LINUX ES UN SABOR DE UNIX
Reconoceremos que sabor de unix están ejecutándose en el laboratorio. Unix no es un sistema
operativo, sino una familia de sistemas entre los cuales se encuentra el Linux
1. Muchos sistemas UNIX se anuncian así mismos con un anuncio antes del login como en
Solares, Linux y HP-UX que es el contenido de /etc/issue. Es modificable.
$ cat /etc/issue
2. Tambien después del login un mensaje describe el sistema a todos los usuarios; este mensaje
se encuentra en /etc/motd. En algunos casos esta vacío y ud puede cambiarlo.
$ cat /etc/motd
3. Se puede identificar la versión del sistema operativo y de la maquina con uname, que nos
indica el nombre del sistema operativo, el nombre de l maquina, la versión del sistema operativo
y su fecha y el tipo de procesador.
$ uname -a
4. Que muestran las siguientes opciones?
$ uname -m
$ uname -n
$ uname -v
$ uname
Con el comando uname se podrán diferenciar los diferentes sabores de UNIX para realizar
scripts de acuerdo al sabor.
II. ACCEDIENDO A LA CUENTA root
Usar la consola como el usuario root no es recomendable. El comando su es la forma correcta
de obtener los privilegios de root.
1. La forma correcta de obtener los privilegios de root es usando el comando su, con el cual te
puedes convertir en cualquier usuario.
Para ingresar como root basta lo siguiente:
$ su
Password : (invisible)
2. Para ingresar como otro usuario se debe indicar el usuario.
$ su ma781u
Password : (invisible)
3. Después de completar sus tareas con el privilegio del otro usuario, se cancela este sub-shell
de la siguiente manera:
# exit
(en el caso de root)
$ exit
(en el caso de cualquier otro usuario).
III. PROPIETARIOS Y GRUPOS
1. Conectate al sistema con tu propio usuario. Quien es el propietario de los archivos de tu
home directory? A que grupo pertenecen estos archivos?
$ ls -l
-rwxrwxrwx
propietario grupo
tamaño fecha-hora
archivo
2. Crea un nuevo archivo en tu home directory. A quien le pertenece? A que grupo le
pertenece?
$ touch newfile
$ ls -l
3. Conviértase en el súper usuario root, y cree un nuevo archivo en su home directory. Quien es
el propietario del archivo? Cual es el grupo al que pertenece el archivo?
$ su
Password : (invisible)
# touch rootfile
# ls -l
ma781.tripod.com
1 de 4
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
v2.0
Sistemas Operativos
MA781U
4. Use el comando chown para cambiar el propietario del archivo rootfile. Use el comando
chgrp para cambiar el grupo del archivo.
# chown rafael rootfile
# chgrp rafael rootfile
# ls -l
5. Todavía como súper usuario root cree un subdirectorio en tu home directory y cree un archivo
dentro de ese subdirectorio. Cambie con un solo comando los propietarios del subdirectorio y el
archivo creados.
# pwd
/home/rafael
(asegúrese que se encuentre en su home directory)
# mkdir rootdir
# touch rootdir/rootsubfile
# ls -lR
observe los permisos del subdirectorio y del archivo
# chown rafael -R rootdir
# ls -lR
observe los permisos del subdirectorio y del archivo
6. Salga de la sesion con privilegios root. Puede cambiar el propietario o grupo de los archivos?
# exit
$ pwd
/home/rafael
(asegúrese que se encuentre en su home directory)
$ chown root rootfile
$ chgrp root rootfile
IV. PERMISOS EN FORMA NUMERICA
Este es un repaso de permisos
1. Use touch equis para crear un archivo equis en tu home directory. Que permisos tiene por
defecto? Cree también los archivos ygriega y zeta.
$ touch equis
$ ls -l
2. A que permisos cambia el comando
$ chmod go-rw equis
$ ls -l
3. A que permisos cambia el comando
$ chmod ugo-w ygriega
$ ls -l
4. A que permisos cambia el comando
$ chmod ug+x zeta
$ ls -l
Los permisos también se pueden asignar en forma numérica como sigue:
permiso rwx = 4+2+1 = 7
permiso rw- = 4+2+0 = 6
permiso --x = 0+0+1 = 1
permiso r-- = 0+2+0 = 2
Y para todos los permisos de un archivo seria:
rw- rwx r-- = 6 6 4
r-- r-- r-- = 4 4 4
rwx --- --- = 7 0 0
5. Cambie los permisos del archivo equis para que todos puedan verlo, escribirlo y ejecutarlo.
$ ls -l
$ chmod 777 equis
6. A que equivalentes numérico corresponden los siguientes permisos:
r--r----r-xr-xr-x
rwxr-xr-x
7. Aplique los siguientes permisos al archivo zeta, a que permisos cambian?
$ chmod 755 zeta
$ chmod 400 zeta
$ chmod 644 zeta
ma781.tripod.com
2 de 4
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
v2.0
Sistemas Operativos
MA781U
V. USANDO chmod
Usaremos chmod para controlar los accesos.
1. Cree un subdirectorio xdir en su home directory en los cuales los archivos pueden ser
creados o borrados por cualquier usuario, así como puede ser investigado por cualquier
usuario.
$ cd
$ mkdir xdir
$ chmod 777 xdir
2. Cree un subdirectorio ydir en su home directory en los cuales los archivos pueden ser
creados y un usuario que conoce el archivo puede listarlos pero no pueden obtener todo el
directorio de ydir
$ cd
$ mkdir ydir
$ chmod 766 ydir
3. Cree un subdirectorio zdir de tal manera que solo ud. Tenga permisos mas nadie pueda
conocerlo ni manipularlo.
$ cd
$ mkdir .zdir
$ chmod 700 .zdir
V. DETERMINANDO TIPOS DE ARCHIVOS
1. Prueba las siguientes sentencias.
$ ls -F $HOME
$ ls -F /dev
$ ls -F /
Note que muestra los flags de diferentes tipos de archivos. Directorio (/), Ejecutable (*), Link
simbólico (@).
2. Se usa esta opción generalmente con las siguientes conjunciones.
$ ls -lF $HOME
$ ls -alF /dev
$ ls -lgF /
3. El comando file también muestra mas información acerca de los archivos.
$ file /*
$ file /dev/*
$ file $HOME/*
4. Use el comando file para listar todos los programas ejecutables.
$ file /dev/* | grep executable
$ file /bin/* | grep executable
5. Como obtendría los archivos que no son directorios?
$ file * | grep directory
$ file * | grep -v directory
6. Como obtendría la cantidad de subdirectorios?
$ file * | grep directory | wc -l
VI. USANDO LINKS SIMBOLICOS
Debemos ver a los links simbólicos como una manera de simplificar el mantenimiento del
software. Los links simbólicos son accesos directos a otros archivos.
1. Cree un subdirectorio llamado proyecto en su home directory. En este directorio cree un
archivo llamado rose.exe que contenga un texto como “Ultima versión 3.0 compilada”. Sera el
caso de la ultima versión de rose creado por los desarrolladores.
$ cd
$ mkdir proyecto
$ touch proyecto/rose.exe
$ vi proyecto/rose.exe
<i>Ultima versión 3.0 compilada
<Esc>:wq!
2. Cree otro subdirectorio en su home directory llamado bin. Para el ejemplo, este directorio será
de acceso publico y se ubicara en el PATH de los demás usuarios.
$ cd
$ mkdir bin
ma781.tripod.com
3 de 4
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
v2.0
Sistemas Operativos
MA781U
$ chmod 777 bin
3. Cree un link simbólico en bin hacia rose.exe
$ ln -s $HOME/proyecto/rose.exe $HOME/bin/rose.exe
$ ls -l $HOME/bin
La sentencia del comando ln es similar al del comando copy
4. Verifique que se ha realizado el enlace simbólico
$ cd $HOME/bin
$ ls -l
$ cat rose.exe
5. Ahora supongamos que actualizamos la versión de rose.exe
$ vi $HOME/proyecto/rose.exe
<i>Ultima versión 4.0 compilada
<Esc>:wq!
6. Revise nuevamente el contenido del directorio bin
$ cd
$ cd bin
$ ls -l
$ cat rose.exe
De esta forma puedes actualizar un archivo, y el contenido se actualizara en todos los lugares
donde exista un link simbólico.
7. Borre el archivo rose.exe, y liste el contenido de bin.
$ rm $HOME/proyecto/rose.exe
$ ls -l $HOME/bin
VII. BÚSQUEDA DE ARCHIVOS
1. Liste los 3 archivos mas nuevos de su directorio.
$ cd
$ ls -lt | head -4
2. Liste los 3 archivos mas antiguos de su directorio.
$ ls -lt | tail -3
3. Busque un archivo llamado adduser
$ find / -name adduser
4. Busque todos archivos con grep en su nombre
$ find / -name *grep*
ma781.tripod.com
4 de 4
Descargar