---
name: "wndex"
section: "1"
platform: "linux"
package: "wn"
version: "2.2.9-2"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/wndex"
---

# wndex(1)

create access control file for wn HTTP server

## NAME

wndex - create access control file for wn HTTP server

## SYNOPSIS

**wndex** \[**-a**\] \[**-q**\] \[**-r**\] \[**-v**\] \[**-V**\] \[**-x**\] \[**-c** *file*\] \[**-d** *directory*\] \[**-i** *file*\] \[**-s all**\|**index**\]

## DESCRIPTION

**wndex** is a **C** program that is part of the [**wn**(1)](/wn/1.md) HTTP server package. [**wn**(1)](/wn/1.md) will not serve files in a directory without an *index.cache* file. **wndex** is used to produce the *index.cache* files from *index* files.

Executing **wndex** with no arguments in a directory containing an *index* file will produce the *index.cache* file for that directory. This file contains all the information in the *index* file plus additional information gathered automatically about the files to be served. In particular the *index.cache* file will list the names of the files given in the "File=" directives (see **http:/doc/wn/appendixB.html**) of the *index* file.  Any file on the server whose name is not listed in an *index.cache* file will not be served.  This is the basis of [**wn**(1)](/wn/1.md) security.  For security reasons the server will refuse to use any *index.cache* file which is in reality a symbolic link to another file.

## OPTIONS

- **-a**

  Using the **-a** option is equivalent to putting the directive "Attributes=serveall" (see **http:/doc/wn/appendixB.html**) at the beginning of the *index* file (or files) being processed, with one important exception.  If **wndex** is used with this option in a directory which contains no *index* file, it will behave as if there were an *index* file containing only the line "Attributes=serveall".  This allows the creation of an *index.cache* file permitting access to all files in a directory without first creating an *index* file.  This can be used with **-r** option to grant access to a directory hierarchy without the need to create an *index* file in each directory.

- **-c** *file*

  Use *file* for name of database file instead of *index.cache* default.

- **-d** *directory*

  Process the directory *directory* rather than the current directory.  It will use the *index* file in *directory* and write the file *directory/index.cache* for the database file.

- **-i** *file*

  Read input from *file* rather than the default *index* file.

- **-q**

  Suppress any warning messages (except fatal errors) sent to **stderr** as well as other informational messages.

- **-r**

  Recursively descend through some subdirectories and process them as well.  By default it processes only those subdirectories listed in the "Subdirs=" directive (see **http:/doc/wn/appendixB.html**). However, this can be changed to be either all subdirectories or all subdirectories containing an *index* file by use of the **-s** option described below.  If the **-r** and **-a** are used together then the default is to use all subdirectories.

**-s all**\| **index**

Using the **-s index** option with an *index* file containing no "Subdirs=" directive (see **http:/doc/wn/appendixB.html**) is equivalent to having such a directive whose value is a list of all subdirectories which contain an *index* file.  Using the  **-s all** option with an *index* file containing no "Subdirs=" directive is equivalent to having such a directive whose value is a list of all subdirectories of the directory being processed.  If the **-r** and **-a** are used together then **-s all** is automatically assumed.  This can be overridden by using a real "Subdirs=" directive or using the **-s index** option.

- **-v**

  Be verbose while processing.

- **-V**

  Print version and exit.

- **-x**

  Read from standard input instead of the file *index* and write to standard output rather than the file *index.cache* database.

## FILES

- *index*

  Input file to **wndex** program.

- *index.cache*

  Output file from **wndex** program which defines access control for directory.

## SEE ALSO

[**wn**(1)](/wn/1.md), [**wn\_mkdigest**(1)](/wn_mkdigest/1.md), [**wn\_uncache**(1)](/wn_uncache/1.md), [**wnindexmaker**(1)](/wnindexmaker/1.md), [**wnpnuts**(1)](/wnpnuts/1.md), [**wnauth**(3)](/wnauth/3.md), [**wncat**(3)](/wncat/3.md), [**wnhtmlify**(3)](/wnhtmlify/3.md), [**wnredir**(3)](/wnredir/3.md), [**wnsectsearch**(3)](/wnsectsearch/3.md), [**wnseven\_m**(3)](/wnseven_m/3.md), [**wn\_md5passwd**(8)](/wn_md5passwd/8.md), [**wn\_mkpasswd**(8)](/wn_mkpasswd/8.md), [**wnconfig**(8)](/wnconfig/8.md), [**wnd**(8)](/wnd/8.md), [**wnsd**(8)](/wnsd/8.md), [**wnupdatewww**(8)](/wnupdatewww/8.md), [**wnv2c**(8)](/wnv2c/8.md)\
 **http:/doc/wn/manual.html**\
 **http:/doc/wn/appendixA2.html**\
 **http:/doc/wn/appendixB.html**\
 **http://hopf.math.nwu.edu/**

## AUTHOR

**wn** is written by John Franks \<john@math.nwu.edu\>.  Modified by Jean Pierre LeJacq \<jplejacq@quoininc.com\> as part of packaging for the Debian GNU/Linux distribution. Manual page also added by Jean Pierre LeJacq.
