---
name: "findcon"
section: "1"
platform: "linux"
package: "setools"
version: "3.3.8-3.1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/findcon"
---

# findcon(1)

SELinux file context search tool

## NAME

findcon - SELinux file context search tool

## SYNOPSIS

**findcon** FCLIST \[OPTIONS\] \[EXPRESSION\]

## DESCRIPTION

**findcon** allows the user to search for files with a specified context. Results can be filtered by object class as described below.

## FCLIST

The **findcon** tool operates upon a file context list source.  There are three valid file context lists.

- directory

  If **FCLIST** is a name of a directory then begin the search at that directory and recurse within it.  Be sure there are no circular mounts within it.

- file\_contexts

  If **FCLIST** is the name of a file\_contexts file (e.g., /etc/selinux/strict/contexts/files/file\_contexts) then open that file and find matching entries.

- database

  If **FCLIST** is the name of a database as created by a previous run of **indexcon** or **apol** then open the database and execute queries into it.

## EXPRESSION

The following options allow the user to specify which files to print. A file must meet all specified criteria. If no expression is provided, all files are printed.

- \-t TYPE, --type=TYPE

  Search for files with a context containing the type TYPE.

- \-u USER, --user=USER

  Search for files with a context containing the user USER.

- \-r ROLE, --role=ROLE

  Search for files with a context containing the role ROLE.

- \-m RANGE, --mls-range=RANGE

  Search for files with a context with the MLS range of RANGE.  Note that **findcon** ignores the SELinux translation library, if present.  In addition, this flag is ignored if the **FCLIST** has no MLS information.

- \--context=CONTEXT

  Search for files matching this partial context.  This flag overrides -t, -u, -r, and -m.

- \-p PATH, --path=PATH

  Search for files which include PATH.

- \-c CLASS, --class=CLASS

  Search only files of object class CLASS.

## OPTIONS

The following additional options are available.

- \-R, --regex

  Search using regular expressions instead of exact string matching. This option does not affect the --class flag.

- \-h, --help

  Print help information and exit.

- \-V, --version

  Print version information and exit.

## PARTIAL CONTEXT

The **--context** flag specifies a partial context, which is a a colon separated list of user, role, and type.  If the system supports MLS, the context may have a fourth field that gives the range.  If a field is not specified or is the literal asterisk, then the query will always match the field.

## OBJECT CLASSES

Valid object class strings are

block, char, dir, fifo, file, link, or sock.

## NOTE

The findcon utility always operates on "raw" SELinux file contexts. If the system has an installed translation library (i.e., libsetrans), those translations are ignored in favor of reading the original contexts from the filesystem (if FCFILE is a directory).

## EXAMPLES

- **findcon .**

  Find every context in the current directory and all of its subdirectories.

- **findcon -u user\_u .**

  Find every context whose user is user\_u in the current directory and all subdirectories.

- **findcon -u system\_u -t bin\_t file\_contexts**

  Find entries user system\_u and type bin\_t within a file\_contexts file, assuming that file\_contexts is a file contexts file.

- **findcon --context=system\_u::bin\_t file\_contexts**

  This is equivalent to the previous example.

- **findcon --context=system\_u:\*:bin\_t:\* file\_contexts**

  This is also equivalent to the above example.

## AUTHOR

This manual page was written by Jeremy A. Mowery \<jmowery@tresys.com\>.

## COPYRIGHT

Copyright(C) 2003-2007 Tresys Technology, LLC

## BUGS

Please report bugs via an email to setools-bugs@tresys.com.

## SEE ALSO

[replcon(1)](/replcon/1.md), [indexcon(1)](/indexcon/1.md)
