LOGIN y el fichero /etc/login.defs
******************************************************************************
Este fichero configura las opciones del login de usuarios, es un
fichero de texto en ASCII y los puntos más interesantes de éste son los
siguientes:
* Establecimiento de Logs de control de entradas al sistema
FAILLOG_ENAB yes
LOG_OK_LOGINS no
LASTLOG_ENAB yes
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
SULOG_FILE /var/log/sulog
* Comprobación de correo tras autentificarse
MAIL_CHECK_ENAB yes
*Restriccion de tiempos (/etc/portime)
PORTTIME_CHECKS_ENAB yes
* Permitir el establecimiento de ulimit, umask & niceness
QUOTAS_ENAB yes
* Dispositivos desde los que puede hacer login el root (se puede
seleccionar con el path de un fichero o con los dispositivos separados por ':')
CONSOLE /etc/securetty
#CONSOLE console:tty01:tty02:tty03:tty04
ejemplo: /etc/securetty
# These are the ttys on the physical console:
console
tty1
tty2
tty3
tty4
tty5
tty6
* Especificar el fichero de "message of the day", para poner varios
ficheros, separar los paths con ':'.El contenido de este fichero de texto
se muestra a todos los usuarios tras identificarse.
MOTD_FILE /etc/motd
* Establecer el fichero que se muestra antes del login.
ISSUE_FILE /etc/issue
* Determinar el fichero /etc/nologin (root es el único q puede
acceder al sistema)
NOLOGINS_FILE /etc/nologin
* Este campo es Necesario: Directorio donde están los buzones de
correo
MAIL_DIR /var/spool/mail
* Establecer los permisos del terminal
TTYGROUP tty
TTYPERM 0600
*Establecer las configuraciones de inicializacion de...
ERASECHAR Terminal ERASE character ('\010' = backspace).
KILLCHAR Terminal KILL character ('\025' = CTRL/U).
UMASK Default "umask" value.
ULIMIT Default "ulimit" value.
Ejemplo:
ERASECHAR 0177
KILLCHAR 025
UMASK 077
ULIMIT 2097152
Una cosa que quiero comentar sobre el UMASK es que puede ser que
esté siendo machacado por algún script de login tipo /etc/profiles. Así que,
écha un vistazo a ese tipo de ficheros a ver si está el comando umask. En
ese caso, se aplicará el umask del script ya que se ejecuta después. Cambia
los permisos del umask o comenta esa línea en el script.
Otra cosa importante cara al umask es a la hora de realizar
instalaciones. Recuerda que si pones 077 como máscara los permisos seran
700 en todos los ficheros nuevos. En las instalaciones de nuevos programas
es recomendable cambiar las mascara a 022 (activa permisos 755), para hacerlo
utiliza el comando "umask 022". Si luego quieres restringir el acceso a
esos ficheros cambia los permisos a éstos.
*Validez temporal de los passwords
PASS_MAX_DAYS Maximum number of days a password may be used.
PASS_MIN_DAYS Minimum number of days allowed between password changes
PASS_MIN_LEN Minimum acceptable password length.
PASS_WARN_AGE Number of days warning given before a password expires.
Ejemplo:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 8
PASS_WARN_AGE 7
* Una de las opciones de seguridad importante es:
SU_WHEEL_ONLY yes
Si está a yes, entonces sólo los usuarios que pertenezcan al grupo
del root (gid 0 *).En mi opinión es recomendable tenerla activada.
* Selección de los uid y gid mínimos y máximos que se utilizarán
en el comando de añadir usuarios 'useradd'
UID_MIN 1000
UID_MAX 60000
GID_MIN 100
GID_MAX 60000
* Algunas opciones sobre el login:
# Max number of login retries if password is bad
LOGIN_RETRIES 3
# Max time in seconds for login
LOGIN_TIMEOUT 60
# Maximum number of attempts to change password if rejected
(too easy\)
PASS_CHANGE_TRIES 5
# Warn about weak passwords (but still allow them) if you
are root.
PASS_ALWAYS_WARN yes
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# Ignored if MD5_CRYPT_ENAB set to "yes".
#PASS_MAX_LEN 20
#Esto sólo funciona si está compilado con la opción de usar
# el algoritmo MD5. El md5 soporta claves de longitud
#ilimitada. Desactivalo si usas otros sistemas que no soporten
#este algoritmo.
MD5_CRYPT_ENAB yes
* Opciones del Comando CHFN (Ver punto 'Cambiando la información de
los usuarios con chfn')
CHFN_AUTH yes
# Which fields may be changed by regular users using chfn - use
#any combination of letters "frwh"(full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
CHFN_RESTRICT frwh
*Algunas cosas más:
#Si activas lo siguiente un usuario podrá acceder a los recursos de los
#siguientes grupos.Por defecto está desactivado, y yo lo dejaría así
#CONSOLE_GROUPS floppy:audio:cdrom
#Si está definido, cuando borres un usuario se ejecutará el programa
que está ahi definido. Este programa debería borrar las entradas de
cron/at,etc... Lo más normal es que lo codifiques en un shell_script.
#USERDEL_CMD /usr/sbin/userdel_local
## Si está definido no solicitará passwords para los usuarios que
hagan login desde estas consolas excepto al root. Es conveniente
tenerlo desactivado
#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6
#La siguiente opción es interesante:
#Sirve para indicar el número máximo de asteriscos por caracter
# que aleatoriamente aparecerán cuando teclees el password. Por defecto
#está a -1, si está a 1 saldrá un asterisco
#por caracter pulsado pones otro número saldrán hasta ese número
#GETPASS_ASTERISKS 1
#Esto sirve desconcertar a todos aquellos que miran lo que escribes
#al teclear el password
#la siguiente opción sirve para poner los bits de permisos de grupo
igual a los bits de permiso del usuario.Yo creo que se debe de poner
que no, si un usuario compartir ficheros que cambie los permisos con
chmod, pero puede haber situaciones en las que si que haya que
activarlo.
USERGROUPS_ENAB no
MAN PAGES: login.defs,nologin,motd,issue