Apuntes Aso
Apuntes Aso
info:grub
Secciones de man
1)
2)
3)
4)
5)
6)
7)
8)
9)
man passwd
man k keyword
makewhatis
(como root)
man 5 passwd
man k passwd
Las pginas de man son de consulta rpida. Si deseamos informacin ms detallada tenemos los comandos info y pinfo.
Ejemplo: Observar la diferencia entre man tar y pinfo tar
pinfo
es un info mejorado, que permite mucha informacin en modo navegacin web (MUY EXTENSA)
En /usr/share/doc tambin suele haber mucha informacin que suelen poner ah los fabricantes de cada aplicacin o
dispositivo aadido al sistema.
Ayuda sobre la consola:
bind p
set o vi
set o emacs
Muestra los atajos de teclado disponibles en la consola (los de emacs, por defecto)
Establece los atajos de teclado de vi (o vim)
Establece los atajos de teclado de emacs
Algunos atajos de teclado tiles (en la consola. Todos estn descritos en bind -p)
^a Ir al inicio de la lnea de comando
^e Ir al final de la lnea de comando
^b Ir un carcter hacia atrs
^f Ir un carcter hacia adelante
Esc + b
Ir una palabra hacia atrs
^u Eliminar desde el cursor hasta el inicio de la lnea
^k Eliminar desde el cursos hasta el final de la lnea (corta el contenido borrado en memoria)
^y Pega lo que antes hemos cortado en el comando actual
Comando CD
Ir al home del usuario actual
cd .
Ir al directorio actual (es decir, quedarse donde estamos)
cd ..
Ir al directorio padre
cd ~
Ir al directorio por defecto del usuario (Va a /home/student si soy el usuario student)
cd ~visitor Ir al directorio del usuario visitor (aunque yo no sea visitor). Ir a /home/visitor
cd ~/visitor
Ir al directorio visitor que estar DENTRO del home del usuario actual. Por ejemplo, si yo soy
student, ir a /home/student/visitor
cd Vuelve al directorio donde estbamos justo antes
cd
Truco: Si queremos pasar como opcin un archivo que comienza con , qu podemos hacer para que el comando NO
interprete el nombre de archivo como opcin del comando sino como parmetro que comienza con -?
Solucin: Anteponiendo al nombre del archivo el parmetro -- que hace que lo siguiente NO se trate como opcin.
Ejemplo: cp archivo -- -file
Genera una copia de archivo con el nombre -file
Truco: Si escribimos un comando con el parmetro * y despus presionamos Esc *, el asterisco del comando se sustituye
por el patrn que corresponda a ese *.
Ejemplo: Si estamos en /home/user
ls * Esc *
--> Se transforma en ls Documents Desktop ... y se hace un ls de todos esos directorios.
Bloqueo de sesin: ^+Alt+L (Indispensable para Administradores) (*)
Bloquear terminal activo: vlock
Bloquear TODO:
vlock a
(*) Si hay terminales virtuales abiertas NO se bloquean con ^+Alt+L
pushd ruta
popd
cd -
Comando ls
ls lh directorio
ls lhd directorio
Permisos de usuario
(basados en texto)
chmod
u
g
o
a
+
-
Ejemplos:
r
w
x
chmod
chmod
4 : permiso de lectura
2 : permiso de escritura
1 : permiso de ejecucin
Teniendo en cuenta esa tabla, podemos asignar los permisos de usuario, grupo y otros slo con una combinacin de
nmeros adecuada a los permisos que queremos asignar, estableciendo la suma de permisos que queremos atribuir a
cada grupo.
Tambin se pueden asignar permisos valorando los permisos segn esta tabla:
Ejemplos:
chmod 740 archivo
chmod 645 archivo
Mscaras
Los ficheros se crean con mscara 666, mientras que los directorios se crean con la mscara 777
El comando umask permite visualizar (y cambiar) la mscara.
Si umask devuelve 0002, al crear el archivo se aplica 666-002 = 664
Si umask nos da 0022, al crear como root se aplica 777-022 = 755
Nota: La mscara se establece durante el inicio de sesin y no se recomienda alterarlo sin conocimiento suficiente. Si se
desea alterar de manera permanente hay que hacerlo dentro del archivo /etc/bashrc para que se aplique a todos los
inicios de sesin. Para cambiar la mscara: man umask
Cambiar propietario de un archivo o directorio
chown
(solo root)
Ej: chown
student foofile
Nota: Si hacemos a alguien propietario de un directorio, se cambia la propiedad del directorio, pero NO de su contenido.
Si queremos propagar la propiedad a su contenido hay que utilizar el parmetro r
Ej: chown R student directorio
chgrp:
Cambia el grupo de un fichero o directorio. No se suele utilizar, ya que con chown se puede cambiar el usuario y
grupo a la vez:
chown R student:student directorio
Bloquear usuarios
usermod L usuario
(desde root)
Creacin de usuarios
El comando para crear usuarios es useradd, aunque tambin suele estar disponible un script con el nombre adduser. El
script adduser suele tener distinto comportamiento segn la versin de Linux. En Ubuntu, por ejemplo, inicia un dilogo
interactivo con el administrador para solicitar los distintos datos necesarios u opcionales para la creacin del usuario. En
Red Hat y derivados, sin embargo, el comportamiento es exactamente igual al de useradd ya que crea tambin el
directorio home del usuario recin creado, pero no genera los directorios de home habituales Desktop, Downloads
La lista de usuarios se puede ver examinando el fichero /etc/passwd, que tiene el siguiente formato
usuario
:
x
:
0
:
0
:
gcos(1) :
home(2) :
shell(3)
nombre
Huella de password
uid
gid
datos usuario home del usuario
(Ya no se usa)
gcos(1):
home(2):
shell(3):
Son los datos extendidos del usuario: Nombre completo, extensin y ms cosas
Es el directorio home del usuario
Shell preferida o predeterminada del usuario. Si la Shell es /sbin/nologin o /bin/false quiere decir que el
usuario no puede abrir una Shell.
Nota: El fichero /etc/passwd NUNCA se debe manipular a mano con un editor.
Cuando se crea un usuario se le asigna un nmero de usuario (uid) y un nmero de grupo (gid). Si no se indica, se realiza
la asignacin de manera automtica. Sin embargo, el comando useradd se puede completar con opciones adecuadas
para forzar cada una de las opciones de creacin. La sintaxis completa sera:
useradd g grupo d /home/user s /bin/bash m k /etc/skel usuario p password
-g:
-d:
-s:
-m:
-k:
-p:
genera el usuario en el grupo grupo (pero hay que indicar el gid numrico, no el nombre)
Indica el directorio home que va a tener el usuario
Indica la Shell por defecto del usuario
Obliga a crear el directorio home del usuario, si an no existe
Copia el contenido del directorio indicado al home del usuario (para definir un perfil por defecto)
Establece la password del usuario (pero hay que pasar la huella cifrada de la misma, no la propia password)
Debido a estas dificultades del comando useradd, lo ms habitual es crear el usuario con el parmetro de su nombre y
despus cambiar su contrasea con el comando passwd (o usar adduser, que suele ser menos complejo)
useradd pepe
passwd pepe
Lista de grupos
Lista de usuarios y huella digital de su password
Lista de grupos y huella digital de los grupos
Nota: Aunque hay un editor (vipw) especial para editar los ficheros /etc/passwd y /etc/shadow NO SE DEBE UTILIZAR.
Muchas ms opciones (con ejemplos) sobre la creacin de usuarios se pueden examinar en el siguiente
documento: http://www.tecmint.com/add-users-in-linux/
Curiosidad: Para crear un usuario que pertenezca a varios grupos: useradd
G grp1,grp2,grp3 usuario
Creacin de grupos
Para crear un grupo (aparte de los que se crean con el mismo nombre del usuario si se utiliza la opcin por
defecto) se puede utilizar el comando groupadd.
groupadd [opciones] grupo
Se le puede aadir tambin una contrasea al grupo, aunque esta opcin est deshabilitada por defecto
groupadd
-p password grupo
8 groupadd
da lugar a confusin)
8 usermod)
Eliminar un usuario
Para borrar un usuario del sistema, se utiliza el comando userdel, pero por defecto NO borra su directorio home.
userdel pepe
userdel R pepe
Truco: Si queremos borrar TODO lo que tenga que ver con un usuario concreto, podemos ejecutar el siguiente comando:
find / -uid 18733 exec run rf { } \;
siendo 18733 el uid del usuario borrado (en este, caso, pepe). Esto se hara tras userdel
R pepe
(anotando su uid)
configura este bit, el efecto es que se aplican los permisos de ejecucin del propietario del fichero
y no los del usuario que ejecuta.
El bit s relacionado con grupos se conoce como sgid (o sguid). Aplicado a ficheros, tiene el
mismo efecto que el suid, pero para el grupo. Aplicado a directorios tiene un efecto muy
diferente: Est orientado al trabajo colaborativo y su efecto es que los ficheros que se crean el
directorio pertenezcan de manera automtica al grupo propietario del directorio y NO al usuario
que crea el fichero o su grupo original.
El bit t relacionado con otros es el conocido como Sticky bit. Su efecto es tambin diferente
segn se aplique a ficheros o a directorios. Aplicado a ficheros no tiene ningn efecto (no tiene
sentido). Aplicado a directorios hace que los ficheros creados en un directorio slo puedan ser
borrados por el propietario del fichero o el propietario del directorio que lo contiene (podran ser
distintos).
{ fichero | directorio }
lhd
Nos da info sobre fecha de expiracin, mnimo das sin cambiar password...
Obliga a student a cambiar el password en el prximo login
warn days
(-W)
min days
(-m)
time
last change date (-d)
Ejercicio:
Explicar el significado del siguiente comando:
chage m 0 M 90 W 7 I 14 student
nomina
pepe
becarios
Para comprender cmo funcionan las ACL hay que pensar en este esquema de reglas:
ACL
U(1)
usuarios
grupos
Standard
(4)
G(3)
rw-
O(5)
---
Teniendo en cuenta que, si se aplican ACLs, el orden en que se revisan los permisos es (1), (2), (3), (4) y (5), si se establecen
esos permisos vemos que, aunque antonio pertenece al grupo nminas, que tiene permiso de lectura y escritura, como se
aplica antes el permiso ACL del usuario, que le ofrece slo permiso de lectura, no alcanzar a tener permiso de escritura.
Por otra parte, aunque pepe est en el grupo otros, que no tiene ningn permiso, como la ACL le otorga permiso de lectura
y escritura en el paso (2), s que podr acceder al fichero.
Problema: Slo se pueden configurar ACLs si las particiones estn marcadas para usar ACL. Por defecto, las particiones que
se configuran durante la instalacin estndar (con anakonda), s que estn marcadas. Pero cualquier otra particin (o disco)
adicional que aadamos debemos que configurarla expresamente para que soporte ACLs con la herramienta tune2fs.
Los permisos ACL slo afectan al usuario ACL (no propietario) y al grupo ACL (no propietario). No afecta NUNCA al usuario
propietario ni a OTROS.
Cuando se trabaja con ACL nos olvidamos del comando chmod, excepto para cambiar los permisos especiales (suid, sgid y
sticky bit)
Para consultar los permisos ACL, disponemos del comando getfacl
Para establecer los permisos ACL, tenemos el comando setfacl
Ejemplos:
setfacl m d:g:interns:rx
/shared/profs
Establece herencia de ACL por defecto (d = defaults) a un directorio para todos los archivos y directorios que se creen a
partir de ese momento.
Si queremos establecer esos permisos tambin para lo que ya existe en el directorio hay que utilizar el siguiente comando:
setfacl R m d:g:interns:rx /shared/profs
Si no ponemos la d: (de defaults), tambin se pueden aplicar permisos ACL recursivos, pero sin establecer herencia.
(*)
(**)
(**)
(*) chmod 2770 es equivalente a chmod 770 + chmod g+s sobre /opt/research
(**) Cuando se establece herencia sobre subdirectorios, SIEMPRE se debe dar permiso de ejecucin (navegacin)
Si se quieren copiar archivos de un sitio a otro, manteniendo permisos y ACLs hay que hacerlo con el comando
cp a origen destino