Zakazani hardlinku - jak?

Leos Bitto bitto na kolej.mff.cuni.cz
Středa Únor 19 09:55:04 CET 1997


> > Hi,
> > 
> > > Hmmm uz se zacinam opakovat, ale: Tak jak to teda udelat?
> > 
> >    Melo by stacit oeditovat fs/namei.c, funkci sys_link()
> > stejnym zpusobem jako u zminovaneho symlink patche.
> >
> >
> >							Martin
> 
> Hmm taky jsem se tam mohl podivat nez se budu vyptavat v konferenci...
> 
> Nakonec jsem to udelal takhle:
> 
> --- namei.c.orig        Sat Nov 30 11:23:00 1996
> +++ namei.c     Tue Feb 18 21:44:42 1997
> @@ -802,6 +802,11 @@
> 		iput(oldinode);
> 		return -EPERM;
> 	}
> +	if (current->fsuid && inode->i_uid != current->fsuid) {
                              ^^^^^ 
                   tady ma byt oldinode, prominte

> +		iput(dir);
> +		iput(oldinode);
> +	return -EPERM;
> +	}
> 	dir->i_count++;
> 	if (dir->i_sb && dir->i_sb->dq_op)
> 		dir->i_sb->dq_op->initialize(dir, -1);
> 
> (na zacatku radku jsou tabulatory, mozna se prepisou na mezery tak si je
> zase nahradte zpatky)
> 
> Bohuzel ted zrovna nemam moznost to zkusit zkompilovat a overit. Ale verim
> ze by to melo delat to co po tom chci, tj. vytvoreni hardlinku se povoli
> pouze pokud jste root nebo vlastnite puvodni soubor.
> 
> Pripominky vitam.
> 
> 
> 
>                                                          Leos Bitto
>                                                   <bitto na kolej.mff.cuni.cz>



Další informace o konferenci Linux