setfilecon(3) SELinux API documentation setfilecon(3)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;selinux/selinux.h&gt;**

**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](#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)](/man/os/libselinux/open.2)) 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](#RETURN_VALUE)

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

# [ERRORS](#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)](/man/os/libselinux/stat.2) system call are also applicable here.

# [SEE ALSO](#SEE_ALSO)

[**selinux**(3)](/man/os/libselinux/selinux.3), [**freecon**(3)](/man/os/libselinux/freecon.3), [**getfilecon**(3)](/man/os/libselinux/getfilecon.3), [**setfscreatecon**(3)](/man/os/libselinux/setfscreatecon.3)

1 January 2004 russell@coker.com.au

---

Document: setfilecon_raw(3) from libselinux 3.11-r2 (Chainguard OS)
Source: https://github.com/SELinuxProject/selinux.git
