---
name: "setfilecon"
section: "3"
platform: "linux"
package: "libselinux1-dev"
version: "3.8.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/setfilecon"
---

# setfilecon(3)

set SELinux security context of a file

## NAME

setfilecon, fsetfilecon, lsetfilecon - set SELinux security context of a file

## SYNOPSIS

**#include \<selinux/selinux.h\>**

**int setfilecon(const char \****path***, const char \****con***);**

**int setfilecon\_raw(const char \****path***, const char \****con***);**

**int lsetfilecon(const char \****path***, const char \****con***);**

**int lsetfilecon\_raw(const char \****path***, const char \****con***);**

**int fsetfilecon(int** *fd***, const char \****con***);**

**int fsetfilecon\_raw(int** *fd***, const char \****con***);**

## DESCRIPTION

**setfilecon**() sets the security context of the file system object.

**lsetfilecon**() is identical to setfilecon, except in the case of a symbolic link, where the link itself has it's context set, not the file that it refers to.

**fsetfilecon**() is identical to setfilecon, only the open file pointed to by filedes (as returned by [**open**(2)](/open/2.md)) has it's context set in place of path.  Since libselinux 3.4 a file opened via *O\_PATH* is supported.

**setfilecon\_raw**(), **lsetfilecon\_raw**(), and **fsetfilecon\_raw**() behave identically to their non-raw counterparts but do not perform context translation.

## RETURN VALUE

On success, zero is returned. On failure, -1 is returned and *errno* is set appropriately.

## ERRORS

If there is insufficient space remaining to store the extended attribute, *errno* is set to either **ENOSPC**, or **EDQUOT** if quota enforcement was the cause.

If extended attributes are not supported by the filesystem, or are disabled, *errno* is set to **ENOTSUP**.

The errors documented for the [**stat**(2)](/stat/2.md) system call are also applicable here.

## SEE ALSO

**selinux**(3), [**freecon**(3)](/freecon/3.md), [**getfilecon**(3)](/getfilecon/3.md), [**setfscreatecon**(3)](/setfscreatecon/3.md)
