SELinux not allowing read files on ~/.cert
I'm new to Fedora 23 and SELinux. I use an OpenVPN client through NetworkManager. I stored all the files I needed OpenVPN to access (certificate, CA and private key) inside ~/.cert
and ran updatecon -R -v ~/.cert
. However, I'm still getting AVC errors from SELinux, who won't let OpenVPN access such files. This the relevant portion of the output of grep AVC /var/log/audit/audit.log | less
:
type=AVC msg=audit(1457179403.296:364): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.296:365): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.330:366): avc: denied { read } for pid=2611 comm="openvpn" name="lastline-ca.crt" dev="dm-2" ino=2888749 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:367): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.crt" dev="dm-2" ino=2888751 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:368): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
Since I've only been using SELinux for a few days, I have no clue where to start looking for this. Any hints?
Edit: It seems to me that the problem is in the svirt_sandbox_file_t
label. I believe those files should be labelled home_cert_t
.
Edit 2: In fact, my whole home directory has been labeled svirt_sandbox_file_t
for some reason. Is this a feature or a bug of Docker policies?
Update
Alright, this took a while. Let me further describe the issue, in case someone ends up going through the same. Turns out the svirt_sandbox_file_t
had been attributed by Docker when I mounted my home directory as a volume with the :Z
flag (as described here). Docker then recursively applied that label to my entire home dir, and somehow neither reconfiguring the FS labels nor applying restorecon
worked.
To restore my home to the original permissions, I rsync
'd it to a temporary folder, deleted everything in it and rsync
'd back. Not the brightest idea, but it worked. Hope this helps.
fedora openvpn selinux
add a comment |
I'm new to Fedora 23 and SELinux. I use an OpenVPN client through NetworkManager. I stored all the files I needed OpenVPN to access (certificate, CA and private key) inside ~/.cert
and ran updatecon -R -v ~/.cert
. However, I'm still getting AVC errors from SELinux, who won't let OpenVPN access such files. This the relevant portion of the output of grep AVC /var/log/audit/audit.log | less
:
type=AVC msg=audit(1457179403.296:364): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.296:365): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.330:366): avc: denied { read } for pid=2611 comm="openvpn" name="lastline-ca.crt" dev="dm-2" ino=2888749 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:367): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.crt" dev="dm-2" ino=2888751 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:368): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
Since I've only been using SELinux for a few days, I have no clue where to start looking for this. Any hints?
Edit: It seems to me that the problem is in the svirt_sandbox_file_t
label. I believe those files should be labelled home_cert_t
.
Edit 2: In fact, my whole home directory has been labeled svirt_sandbox_file_t
for some reason. Is this a feature or a bug of Docker policies?
Update
Alright, this took a while. Let me further describe the issue, in case someone ends up going through the same. Turns out the svirt_sandbox_file_t
had been attributed by Docker when I mounted my home directory as a volume with the :Z
flag (as described here). Docker then recursively applied that label to my entire home dir, and somehow neither reconfiguring the FS labels nor applying restorecon
worked.
To restore my home to the original permissions, I rsync
'd it to a temporary folder, deleted everything in it and rsync
'd back. Not the brightest idea, but it worked. Hope this helps.
fedora openvpn selinux
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37
add a comment |
I'm new to Fedora 23 and SELinux. I use an OpenVPN client through NetworkManager. I stored all the files I needed OpenVPN to access (certificate, CA and private key) inside ~/.cert
and ran updatecon -R -v ~/.cert
. However, I'm still getting AVC errors from SELinux, who won't let OpenVPN access such files. This the relevant portion of the output of grep AVC /var/log/audit/audit.log | less
:
type=AVC msg=audit(1457179403.296:364): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.296:365): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.330:366): avc: denied { read } for pid=2611 comm="openvpn" name="lastline-ca.crt" dev="dm-2" ino=2888749 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:367): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.crt" dev="dm-2" ino=2888751 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:368): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
Since I've only been using SELinux for a few days, I have no clue where to start looking for this. Any hints?
Edit: It seems to me that the problem is in the svirt_sandbox_file_t
label. I believe those files should be labelled home_cert_t
.
Edit 2: In fact, my whole home directory has been labeled svirt_sandbox_file_t
for some reason. Is this a feature or a bug of Docker policies?
Update
Alright, this took a while. Let me further describe the issue, in case someone ends up going through the same. Turns out the svirt_sandbox_file_t
had been attributed by Docker when I mounted my home directory as a volume with the :Z
flag (as described here). Docker then recursively applied that label to my entire home dir, and somehow neither reconfiguring the FS labels nor applying restorecon
worked.
To restore my home to the original permissions, I rsync
'd it to a temporary folder, deleted everything in it and rsync
'd back. Not the brightest idea, but it worked. Hope this helps.
fedora openvpn selinux
I'm new to Fedora 23 and SELinux. I use an OpenVPN client through NetworkManager. I stored all the files I needed OpenVPN to access (certificate, CA and private key) inside ~/.cert
and ran updatecon -R -v ~/.cert
. However, I'm still getting AVC errors from SELinux, who won't let OpenVPN access such files. This the relevant portion of the output of grep AVC /var/log/audit/audit.log | less
:
type=AVC msg=audit(1457179403.296:364): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.296:365): avc: denied { open } for pid=2608 comm="nm-openvpn-serv" path="/home/ggoncalves/.cert/ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.330:366): avc: denied { read } for pid=2611 comm="openvpn" name="lastline-ca.crt" dev="dm-2" ino=2888749 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:367): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.crt" dev="dm-2" ino=2888751 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
type=AVC msg=audit(1457179403.332:368): avc: denied { read } for pid=2611 comm="openvpn" name="ggoncalves.key" dev="dm-2" ino=2888752 scontext=system_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:svirt_sandbox_file_t:s0:c50,c545 tclass=file permissive=0
Since I've only been using SELinux for a few days, I have no clue where to start looking for this. Any hints?
Edit: It seems to me that the problem is in the svirt_sandbox_file_t
label. I believe those files should be labelled home_cert_t
.
Edit 2: In fact, my whole home directory has been labeled svirt_sandbox_file_t
for some reason. Is this a feature or a bug of Docker policies?
Update
Alright, this took a while. Let me further describe the issue, in case someone ends up going through the same. Turns out the svirt_sandbox_file_t
had been attributed by Docker when I mounted my home directory as a volume with the :Z
flag (as described here). Docker then recursively applied that label to my entire home dir, and somehow neither reconfiguring the FS labels nor applying restorecon
worked.
To restore my home to the original permissions, I rsync
'd it to a temporary folder, deleted everything in it and rsync
'd back. Not the brightest idea, but it worked. Hope this helps.
fedora openvpn selinux
fedora openvpn selinux
edited Mar 6 '16 at 0:57
Guilherme
asked Mar 5 '16 at 12:18
GuilhermeGuilherme
15517
15517
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37
add a comment |
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37
add a comment |
1 Answer
1
active
oldest
votes
Target context type of the files is still wrong:
svirt_sandbox_file_t
The files in ~/.cert
should be labeled as home_cert_t
. Give it a try once more with
restorecon -Rf ~/.cert
or try to force the type:
chcon -t home_cert_t ~/.cert/*
It might be possible that there is some bug in selinux-policy or docker selinux policy that causes wrong default labeling.
Nope, still restoring tosvirt_sandbox_file_t
. I believe this has happened when I installed Docker...
– Guilherme
Mar 5 '16 at 13:02
Give it a try withchcon
. I am not unfortunately didn't find such a bug, but I would blamedocker
.
– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?
– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
You can achieve complete relabel during reboot bytouch /.autorelabel
and then rebooting system.
– Jakuje
Mar 5 '16 at 13:33
|
show 5 more comments
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f267789%2fselinux-not-allowing-read-files-on-cert%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Target context type of the files is still wrong:
svirt_sandbox_file_t
The files in ~/.cert
should be labeled as home_cert_t
. Give it a try once more with
restorecon -Rf ~/.cert
or try to force the type:
chcon -t home_cert_t ~/.cert/*
It might be possible that there is some bug in selinux-policy or docker selinux policy that causes wrong default labeling.
Nope, still restoring tosvirt_sandbox_file_t
. I believe this has happened when I installed Docker...
– Guilherme
Mar 5 '16 at 13:02
Give it a try withchcon
. I am not unfortunately didn't find such a bug, but I would blamedocker
.
– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?
– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
You can achieve complete relabel during reboot bytouch /.autorelabel
and then rebooting system.
– Jakuje
Mar 5 '16 at 13:33
|
show 5 more comments
Target context type of the files is still wrong:
svirt_sandbox_file_t
The files in ~/.cert
should be labeled as home_cert_t
. Give it a try once more with
restorecon -Rf ~/.cert
or try to force the type:
chcon -t home_cert_t ~/.cert/*
It might be possible that there is some bug in selinux-policy or docker selinux policy that causes wrong default labeling.
Nope, still restoring tosvirt_sandbox_file_t
. I believe this has happened when I installed Docker...
– Guilherme
Mar 5 '16 at 13:02
Give it a try withchcon
. I am not unfortunately didn't find such a bug, but I would blamedocker
.
– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?
– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
You can achieve complete relabel during reboot bytouch /.autorelabel
and then rebooting system.
– Jakuje
Mar 5 '16 at 13:33
|
show 5 more comments
Target context type of the files is still wrong:
svirt_sandbox_file_t
The files in ~/.cert
should be labeled as home_cert_t
. Give it a try once more with
restorecon -Rf ~/.cert
or try to force the type:
chcon -t home_cert_t ~/.cert/*
It might be possible that there is some bug in selinux-policy or docker selinux policy that causes wrong default labeling.
Target context type of the files is still wrong:
svirt_sandbox_file_t
The files in ~/.cert
should be labeled as home_cert_t
. Give it a try once more with
restorecon -Rf ~/.cert
or try to force the type:
chcon -t home_cert_t ~/.cert/*
It might be possible that there is some bug in selinux-policy or docker selinux policy that causes wrong default labeling.
edited Mar 5 '16 at 13:09
answered Mar 5 '16 at 12:58
JakujeJakuje
16.5k53155
16.5k53155
Nope, still restoring tosvirt_sandbox_file_t
. I believe this has happened when I installed Docker...
– Guilherme
Mar 5 '16 at 13:02
Give it a try withchcon
. I am not unfortunately didn't find such a bug, but I would blamedocker
.
– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?
– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
You can achieve complete relabel during reboot bytouch /.autorelabel
and then rebooting system.
– Jakuje
Mar 5 '16 at 13:33
|
show 5 more comments
Nope, still restoring tosvirt_sandbox_file_t
. I believe this has happened when I installed Docker...
– Guilherme
Mar 5 '16 at 13:02
Give it a try withchcon
. I am not unfortunately didn't find such a bug, but I would blamedocker
.
– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?
– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
You can achieve complete relabel during reboot bytouch /.autorelabel
and then rebooting system.
– Jakuje
Mar 5 '16 at 13:33
Nope, still restoring to
svirt_sandbox_file_t
. I believe this has happened when I installed Docker...– Guilherme
Mar 5 '16 at 13:02
Nope, still restoring to
svirt_sandbox_file_t
. I believe this has happened when I installed Docker...– Guilherme
Mar 5 '16 at 13:02
Give it a try with
chcon
. I am not unfortunately didn't find such a bug, but I would blame docker
.– Jakuje
Mar 5 '16 at 13:12
Give it a try with
chcon
. I am not unfortunately didn't find such a bug, but I would blame docker
.– Jakuje
Mar 5 '16 at 13:12
chcon
does fix it. Will this persist across reboots and FS changes?– Guilherme
Mar 5 '16 at 13:17
chcon
does fix it. Will this persist across reboots and FS changes?– Guilherme
Mar 5 '16 at 13:17
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
Yes. It should persist over reboot, if you will not trigger relabel (or if Docker does not enforce it somehow).
– Jakuje
Mar 5 '16 at 13:18
2
2
You can achieve complete relabel during reboot by
touch /.autorelabel
and then rebooting system.– Jakuje
Mar 5 '16 at 13:33
You can achieve complete relabel during reboot by
touch /.autorelabel
and then rebooting system.– Jakuje
Mar 5 '16 at 13:33
|
show 5 more comments
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f267789%2fselinux-not-allowing-read-files-on-cert%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Don't mount your home directory as a Docker volume, only chosen subdirectories of the home directory.
– Michael Hampton
Feb 18 at 15:37