On Tue, Apr 07, 2020 at 04:56:31PM +0200, Martijn van Duren wrote:
> This came up during u2k20 while discussing tempfiles for gotweb inside a
> chroot. At the moment we don't include it by default and ports have to
> create it themselves. Since I assume we want web applications to run
> inside a /var/www chroot as much as possible and even some libc
> functions depend on /tmp being available I'd argue we should include it
> by default.

WIth FastCGI, perhaps I'm confused, but why do web applications need to
be inside the /var/www chroot? Can't they be anywhere, or even have a
seperate chroot directory? Should we be handling things things that
are not in base? 

> I also choose to make the directory 1777, similar to a normal /tmp,
> since both multiple slowcgi or php-fpm pools can run simultaneously
> under different users.
> 
> The cleanup functions don't reflect the current /tmp cleanup style, but
> we can move the existing find statements to -delete in a separate patch.
> 
> I already had some positive feedback during u2k20 on the concept.
> OK?
> 
> martijn@
> 
> Index: etc//daily
> ===================================================================
> RCS file: /cvs/src/etc/daily,v
> retrieving revision 1.93
> diff -u -p -r1.93 daily
> --- etc//daily        9 Sep 2019 20:02:26 -0000       1.93
> +++ etc//daily        7 Apr 2020 14:37:15 -0000
> @@ -55,6 +55,11 @@ if [ -d /tmp -a ! -L /tmp ]; then
>           ! -path ./.ICE-unix ! -name . \
>           -execdir rmdir -- {} \; >/dev/null 2>&1; }
>  fi
> +if [ -d /var/www/tmp -a ! -L /var/www/tmp ]; then
> +     cd /var/www/tmp && {
> +     find -x . -type f -atime +7 -delete 2>/dev/null
> +     find -x . -type d -empty -delete 2>/dev/null
> +fi
>  
>  # Additional junk directory cleanup would go like this:
>  #if [ -d /scratch -a ! -L /scratch ]; then
> Index: etc//rc
> ===================================================================
> RCS file: /cvs/src/etc/rc,v
> retrieving revision 1.543
> diff -u -p -r1.543 rc
> --- etc//rc   24 Jan 2020 06:17:37 -0000      1.543
> +++ etc//rc   7 Apr 2020 14:37:15 -0000
> @@ -532,7 +532,7 @@ if [[ -f /etc/ptmp ]]; then
>           'password file may be incorrect -- /etc/ptmp exists'
>  fi
>  
> -echo clearing /tmp
> +echo clearing temporary directories
>  
>  # Prune quickly with one rm, then use find to clean up /tmp/[lqv]*
>  # (not needed with mfs /tmp, but doesn't hurt there...).
> @@ -540,6 +540,7 @@ echo clearing /tmp
>  (cd /tmp &&
>      find . -maxdepth 1 ! -name . ! -name lost+found ! -name quota.user \
>       ! -name quota.group ! -name vi.recover -execdir rm -rf -- {} \;)
> +(cd /var/www/tmp && find . -x -delete)
>  
>  # Create Unix sockets directories for X if needed and make sure they have
>  # correct permissions.
> Index: etc//mtree/4.4BSD.dist
> ===================================================================
> RCS file: /cvs/src/etc/mtree/4.4BSD.dist,v
> retrieving revision 1.314
> diff -u -p -r1.314 4.4BSD.dist
> --- etc//mtree/4.4BSD.dist    29 Nov 2019 03:28:20 -0000      1.314
> +++ etc//mtree/4.4BSD.dist    7 Apr 2020 14:37:15 -0000
> @@ -749,6 +749,7 @@ var
>          ..
>          run                  type=dir uname=root gname=daemon mode=755
>          ..
> +        tmp                  type=dir uname=root gname=wheel mode=01777
>      ..
>  
>      # ./var/audit
> 
> 

Reply via email to