Contenido   Archivos   Índice   Bugs   Ejemplos  

Referencia del Archivo namei.c

Contiene las funciones donde se implementaron los nuevos controles de acceso para ACLs. Más...

#include <linux/init.h>
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/quotaops.h>
#include <linux/pagemap.h>
#include <linux/dnotify.h>
#include <linux/smp_lock.h>
#include <linux/personality.h>
#include <asm/namei.h>
#include <asm/uaccess.h>

Funciones

int vfs_permission (struct inode *inode, int mask)
 Consulta permisos.

int permission (struct inode *inode, int mask)
 Es sinónimo de vfs_permission().

int link_path_walk (const char *name, struct nameidata *nd)
 Resolución de nombres.

int may_open (struct inode *inode, int perms)
 Determina si un archivo puede ser abierto por un sujeto o no. Usa permission() y mac_permission().

int may_delete (struct inode *dir, struct dentry *victim, int isdir)
 Verifica si es posible o no eliminar el enlace victim del directorio dir, verifica si el tipo de victim es correcto.

int may_create (struct inode *dir, struct dentry *child)
 Verifica si es posible crear un objeto con dentry child en el directorio dir.

asmlinkage long sys_mknod (const char *filename, int mode, dev_t dev)
 Llamada al sistema mknod. No fue modificada pero usa vfs_mknod() la cual usa may_create().

asmlinkage long sys_mkdir (const char *pathname, int mode)
 Llamada al sistema mkdir. No fue modificada pero usa vfs_mkdir() la cual usa may_create().

asmlinkage long sys_rmdir (const char *pathname)
 Llamada al sistema rmdir. No fue modificada pero usa funciones que usan may_delete()).

asmlinkage long sys_unlink (const char *pathname)
 Llamada al sistema unlink. No fue modificada pero usa funciones que usan may_delete().

asmlinkage long sys_symlink (const char *oldname, const char *newname)
 Llamada al sistema symlink. No fue modificada pero usa funciones que usan may_create().

asmlinkage long sys_link (const char *oldname, const char *newname)
 Llamada al systema link. No fue modificada pero usa vfs_link() que a su vez usa may_create().

asmlinkage long sys_rename (const char *oldname, const char *newname)
 Llamada al sistema rename. No fue modificada pero usa otras funciones que usan may_create() y may_delete().


Descripción detallada

Contiene las funciones donde se implementaron los nuevos controles de acceso para ACLs.

Se realizaron los siguientes cambios:

  1. Se modificaron las funciones vfs_permission() y permission() para que las verificaciones de permisos se realicen utilizando la ACL del inodo.
  2. Se agregó la función may_open() que será utilizada por las llamadas al sistema sys_open() y sys_creat().
  3. Se modificó la función link_path_walk() para que pida lectura de directorios en lugar de ejecutabilidad al recorrer un camino.
  4. Se cambiaron los permisos MAY_XXX por ACL_XXX_BIT.
  5. open_namei() ??

Documentación de las variables

struct inode_operations page_symlink_inode_operations
 

Valor inicial:

 {
    readlink:   page_readlink,
    follow_link:    page_follow_link,
}


Generado el Fri Jan 10 09:11:43 2003 para Lisex por doxygen1.3-rc2