Re: difference between setfiles and restorecon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Vit,

I can do it with:
 setfiles -v /etc/selinux/mcs/contexts/files/file_contexts /home/root/yolo                            
Relabeled /home/root/yolo from root:object_r:unlabeled_t:s0 to root:object_r:user_home_t:s0

when I use "restorecon -R -v  /home/root/yolo"
Relabeled /sysroot/home/root/yolo from root:object_r:user_home_t:s0 to root:object_r:root_home_t:s0

setfiles relabels yolo back to user_home_t
and
restorecon relabels yolo back to root_home_t

Should setfiles or restorecon be used for me?

---henry

On Mon, Jun 12, 2023 at 11:59 PM Vit Mojzis <vmojzis@xxxxxxxxxx> wrote:


On 6/12/23 17:20, Henry Zhang wrote:
Vit,

Thanks for the links.
I can use restorecon to recover to default value if file content is changed by the chcon command.
But setfiles does nothing when the file is changed by chcon.

May I change something and let setfiles recover it?

Sure. But you need to specify the full path (unlike when using restorecon, which uses "realpath" to get the full path on its own).

$ touch yolo
$ ls -lZ
total 0
-rw-r--r--. 1 root root unconfined_u:object_r:user_home_t:s0 0 Jun 12 13:05 yolo
# chcon -t unlabeled_t yolo
$ ls -lZ
total 0
-rw-r--r--. 1 root root unconfined_u:object_r:unlabeled_t:s0 0 Jun 12 13:05 yolo
# setfiles -v /etc/selinux/targeted/contexts/files/file_contexts /home/testuser/yolo
Relabeled /home/testuser/yolo from unconfined_u:object_r:unlabeled_t:s0 to unconfined_u:object_r:user_home_t:s0

Vit

---henry

On Mon, Jun 12, 2023 at 6:15 AM Vit Mojzis <vmojzis@xxxxxxxxxx> wrote:
Hi,
let me walk you through the steps to find this info on your own.

# dnf provides setfiles
policycoreutils-3.3-4.fc36.x86_64 : SELinux policy core utilities
# dnf provides restorecon
policycoreutils-3.3-4.fc36.x86_64 : SELinux policy core utilities

So both utilities are shipped as part of policycoreutils package.
The package is build from the following repository:
https://src.fedoraproject.org/rpms/policycoreutils
The spec file
(https://src.fedoraproject.org/rpms/policycoreutils/blob/rawhide/f/policycoreutils.spec#_18)
shows that the source code repository is
https://github.com/SELinuxProject/selinux

$ git clone https://github.com/SELinuxProject/selinux ; cd selinux
$ find -name setfiles.c
./policycoreutils/setfiles/setfiles.c

This is actually the source file for both tools. Their behavior changes
based on the executable name
https://github.com/SELinuxProject/selinux/blob/main/policycoreutils/setfiles/setfiles.c#L178

Hope this helps,
Vit

On 6/8/23 20:01, Henry Zhang wrote:
> Hi folks,
>
> I want to know the difference between setfiles and restorecon.
> Where can I get source codes of setfiles and restorecon?
>
> ---henry
>
> _______________________________________________
> selinux mailing list -- selinux@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to selinux-leave@xxxxxxxxxxxxxxxxxxxxxxx
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/selinux@xxxxxxxxxxxxxxxxxxxxxxx
> Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
_______________________________________________
selinux mailing list -- selinux@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to selinux-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/selinux@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

_______________________________________________
selinux mailing list -- selinux@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to selinux-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/selinux@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux