Ana içeriğe atla

RHEL tabanlı işletim sistemlerinde dosya sahiplik yetkilerini yalnışlıkla değiştirirsek

örnek olarak /etc altındaki sistem dosyalarının sahiplik izinlerini (permissions) yalnışlıkla değiştirdiğimizde, sistemimiz çuvallayacaktır. Özellikle sonradan yapılan elle yapılandırma dosyaları ve sertifikalar, örneğin;
file /etc/pki/entitlement/1224079144007979188-key.pem is not owned by any package
file /etc/pki/entitlement/1224079144007979188.pem is not owned by any package
file /etc/pki/product/69.pem is not owned by any package

her hangi bir pakete dahil olmadığından,  bunlar veya benzeri dosyaların sahiplik yetkisini bilmediğimiz durumda yapılması gereken, en güncel sistem yedeğinden (dosya bazlı yedeklemeden daha çok, tam sistem yedeği) dönmemiz gerekir. Şayet yedeğimiz yok ve özel nedenlerle yedekten geri dönüş yapamadığımız durumlarda öncelikle sistemle gelen dosyaların sahip yetkisini rpm aracılığı ile geri yüklemek olmalı.

Bu işlemi nasıl yapacağız diye düşündüğümüzde, öncelikle sistemimize sistemle gelen  veya sonradan rpm veya yum ile yüklenmiş dosyaların sahip olduğu paketleri tespit etmemiz gerekiyor;

Aşağıdaki gibi paketleri tespit edebiliriz.

[root@rhel7lab01 ~]# find /etc -type f  -exec rpm -qf {} \; | sort |uniq |grep -v "is not owned by any package"
abrt-2.1.11-55.el7.x86_64
abrt-addon-ccpp-2.1.11-55.el7.x86_64
abrt-addon-kerneloops-2.1.11-55.el7.x86_64
abrt-addon-python-2.1.11-55.el7.x86_64
abrt-addon-vmcore-2.1.11-55.el7.x86_64
abrt-addon-xorg-2.1.11-55.el7.x86_64
abrt-dbus-2.1.11-55.el7.x86_64
alsa-lib-1.1.8-1.el7.x86_64
at-3.1.13-24.el7.x86_64
at-spi2-core-2.28.0-1.el7.x86_64
audit-2.8.5-4.el7.x86_64
audit-libs-2.8.5-4.el7.x86_64
authconfig-6.2.8-30.el7.x86_64
bash-4.2.46-33.el7.x86_64
bind-export-libs-9.11.4-9.P2.el7.x86_64
ca-certificates-2018.2.22-70.0.el7_5.noarch
coreutils-8.22-24.el7.x86_64
createrepo-0.9.9-28.el7.noarch
cronie-1.4.11-23.el7.x86_64
cronie-anacron-1.4.11-23.el7.x86_64
crontabs-1.11-6.20121102git.el7.noarch
crypto-utils-2.4.1-42.el7.x86_64
dbus-1.10.24-13.el7_6.x86_64
dconf-0.28.0-4.el7.x86_64
dhclient-4.2.5-77.el7.x86_64
dracut-033-564.el7.x86_64
dracut-config-rescue-033-564.el7.x86_64
e2fsprogs-1.42.9-16.el7.x86_64
ebtables-2.0.10-16.el7.x86_64
elinks-0.12-0.37.pre6.el7.x86_64
epel-release-7-12.noarch
file-5.11-35.el7.x86_64
fipscheck-lib-1.4.1-6.el7.x86_64
firewalld-0.6.3-2.el7_7.2.noarch
fontconfig-2.13.0-4.3.el7.x86_64
foomatic-filters-4.0.9-9.el7.x86_64
gdb-7.6.1-115.el7.x86_64
geoipupdate-2.5.0-1.el7.x86_64
geoipupdate-cron-2.5.0-1.el7.noarch
glibc-2.17-292.el7.x86_64
glibc-common-2.17-292.el7.x86_64
grep-2.20-3.el7.x86_64
groff-base-1.22.2-8.el7.x86_64
grub2-tools-2.02-0.80.el7.x86_64
grub2-tools-minimal-2.02-0.80.el7.x86_64
grubby-8.28-26.el7.x86_64
initscripts-9.49.47-1.el7.x86_64
iproute-4.11.0-25.el7.x86_64
iprutils-2.4.17.1-2.el7.x86_64
iptables-1.4.21-33.el7.x86_64
iputils-20160308-10.el7.x86_64
irqbalance-1.0.7-12.el7.x86_64
kbd-1.15.5-15.el7.x86_64
kernel-3.10.0-1062.1.1.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kexec-tools-2.0.15-33.el7.x86_64
kmod-20-25.el7.x86_64
krb5-libs-1.15.1-37.el7_7.2.x86_64
less-458-9.el7.x86_64
libnl3-3.2.28-4.el7.x86_64
libpaper-1.1.24-8.el7.x86_64
libpwquality-1.2.3-5.el7.x86_64
libreport-2.1.11-43.el7.x86_64
libreport-gtk-2.1.11-43.el7.x86_64
libreport-plugin-reportuploader-2.1.11-43.el7.x86_64
libreport-plugin-rhtsupport-2.1.11-43.el7.x86_64
libreport-plugin-ureport-2.1.11-43.el7.x86_64
libreport-rhel-2.1.11-43.el7.x86_64
libsemanage-2.5-14.el7.x86_64
libuser-0.60-9.el7.x86_64
logrotate-3.8.6-17.el7.x86_64
lvm2-2.02.185-2.el7_7.2.x86_64
mailcap-2.1.41-2.el7.noarch
mailx-12.5-19.el7.x86_64
man-db-2.6.3-11.el7.x86_64
mariadb-libs-5.5.64-1.el7.x86_64
mc-4.8.7-11.el7.x86_64
mercurial-2.6.2-10.el7.x86_64
NetworkManager-1.18.0-5.el7_7.1.x86_64
nginx-plus-19-1.el7.ngx.x86_64
nginx-plus-module-modsecurity-19+1.0.0-7.el7.ngx.x86_64
nss-3.44.0-4.el7.x86_64
nss-softokn-freebl-3.44.0-5.el7.x86_64
openldap-2.4.44-21.el7_6.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssl-1.0.2k-19.el7.x86_64
openssl-libs-1.0.2k-19.el7.x86_64
pam-1.1.8-22.el7.x86_64
passwd-0.79-5.el7.x86_64
perl-macros-5.16.3-294.el7_6.x86_64
plymouth-0.8.9-0.32.20140113.el7.x86_64
policycoreutils-2.5-33.el7.x86_64
policycoreutils-newrole-2.5-33.el7.x86_64
policycoreutils-python-2.5-33.el7.x86_64
polkit-0.112-22.el7_7.1.x86_64
polkit-pkla-compat-0.1-4.el7.x86_64
postfix-2.10.1-7.el7.x86_64
python-libs-2.7.5-86.el7.x86_64
python-syspurpose-1.24.13-3.el7_7.x86_64
qemu-guest-agent-2.12.0-3.el7.x86_64
qt3-3.3.8b-51.el7.x86_64
qt-settings-19-23.10.el7_7.noarch
redhat-lsb-core-4.1-27.el7.x86_64
redhat-lsb-cxx-4.1-27.el7.x86_64
redhat-lsb-desktop-4.1-27.el7.x86_64
redhat-lsb-languages-4.1-27.el7.x86_64
redhat-lsb-printing-4.1-27.el7.x86_64
redhat-release-server-7.7-10.el7.x86_64
rhn-client-tools-2.0.2-24.el7.x86_64
rhnsd-5.0.13-10.el7.x86_64
rhn-setup-2.0.2-24.el7.x86_64
rsync-3.1.2-6.el7_6.1.x86_64
rsyslog-8.24.0-41.el7_7.2.x86_64
screen-4.1.0-0.25.20120314git3c2946.el7.x86_64
selinux-policy-3.13.1-252.el7.1.noarch
selinux-policy-mls-3.13.1-252.el7.1.noarch
selinux-policy-targeted-3.13.1-252.el7.1.noarch
setools-gui-3.3.8-4.el7.x86_64
setroubleshoot-3.2.30-7.el7.x86_64
setroubleshoot-server-3.2.30-7.el7.x86_64
setup-2.8.71-10.el7.noarch
shadow-utils-4.6-5.el7.x86_64
sos-3.7-7.el7_7.noarch
subscription-manager-1.24.13-3.el7_7.x86_64
subscription-manager-rhsm-certificates-1.24.13-3.el7_7.x86_64
sudo-1.8.23-4.el7.x86_64
sysstat-10.1.5-18.el7.x86_64
systemd-219-67.el7_7.2.x86_64
teamd-1.27-9.el7.x86_64
trousers-0.3.14-2.el7.x86_64
tuned-2.11.0-5.el7_7.1.noarch
usermode-1.111-6.el7.x86_64
util-linux-2.23.2-61.el7.x86_64
vim-common-7.4.629-6.el7.x86_64
vim-enhanced-7.4.629-6.el7.x86_64
vim-minimal-7.4.629-6.el7.x86_64
wget-1.14-18.el7_6.1.x86_64
which-2.20-7.el7.x86_64
wpa_supplicant-2.6-12.el7.x86_64
xml-common-0.6.3-39.el7.noarch
yum-3.4.3-163.el7.noarch
yum-langpacks-0.4.2-7.el7.noarch
yum-plugin-priorities-1.1.31-52.el7.noarch
yum-plugin-ps-1.1.31-52.el7.noarch
yum-plugin-remove-with-leaves-1.1.31-52.el7.noarch
yum-plugin-show-leaves-1.1.31-52.el7.noarch
yum-plugin-upgrade-helper-1.1.31-52.el7.noarch
yum-rhn-plugin-2.0.1-10.el7.noarch
yum-updateonboot-1.1.31-52.el7.noarch
yum-utils-1.1.31-52.el7.noarch
[root@rhel7lab01 ~]#

Yapmamız gereken işlemleri basit bir kabuk programcığı ile yapabiliriz.



[root@rhel7lab01 ~]# cat  ./set-perms-from-rpms.sh 
#!/bin/bash
#  scripti sorumluluğu, çalıştıracak arkadaşlara aittir.  😄
# RHEL ve RHEL tabanlı sistemlerde çalışır.

echo "Lutfen Bekleyiniz, Bu Islem uzun surebilir!!!"

find /etc -type f  -exec rpm -qf {} \; | sort |uniq |grep -v "is not owned by any package" > paket-listesi.txt

while read -r paket
do

 # oncelikle  tespit ettigimiz paketin icindeki dosyalarin  izinlerini ayarliyoruz.
 echo  rpm --setperms  $paket
 rpm --setperms  $paket

# Sonrasinda grup/user sahiplikleri ayarlaniyor
 echo rpm --setugids  $paket
 rpm --setugids  $paket

done < paket-listesi.txt

echo "Islem tamamlandi, Gecmis olsun :-)"

[root@rhel7lab01 ~]# 

Veya daha kötüsünü yaptık ve tüm sistemin içine ettiysek, 😆

tüm paketlerin gelen içerikleri orjinal haline aşağıda görüldüğü şekilde çevrilebilir.

 # rpm -a --setperms 
 # rpm -a --setugids  


selinux kullanıyorsanız, autorelabel dosyasını oluşturup;

# touch /.autorelabel

sistemi yeniden başlatmamız gerekiyor.

Bu aşamadan sonra bol şans diliyorum.

                                   

Yorumlar

Bu blogdaki popüler yayınlar

ttnet tilgin hg1332 modem(router) kablosuz özelliğini güçlendirmek

Bu gün ttnetin hediyesi olan tilgin yönlendiriciyle biraz oynayayım dedim Matkap, ve rg316-rp-sma kablo alıp cihazın kapağını tekrar açtım. Matkapla usb çıkışın yanına bir delik açarak kaployu taktım. Sonra elimdeki antenlerden ikiti tanesini takıp test ettim. . Bu iki antenin, gözle farkedilir derecede sinyalleri kuvvetlendirdiğini fark ettim.. Normalde bu cihaz ile evin iki en uc noktaları arasında haberleşme olmaz iken şimdi en kör iki uç arasında sorun olmadan kablosuz kullanılabildiğini gördüm. Arada 4 tane kuvvetli beton duvar mevcut. Deneme bitti, tilgin rafa kalktı yine. Her nekadar ben bu cihazı kaldırsamda, kullanmak zorunda olan arkadaşlar, bir kablo ve ikitane anten takarak her herde kullanabilirler. İyi eğlenceler.

yerel ssl ca sertifikasını güvenli sertifika olarak kabul etmek. (özet tekrar)

  openssl s_client  -connect akyuz.tech:443 -showcerts > /tmp/akyuz.tech.cacrt keytool -import -alias akyuz.tech  -keystore  /etc/pki/ca-trust/extracted/java/cacerts -file /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/extracted/java/cacerts dosyası varsayılan java için varsayılan ca cert dosyasıdır.   cp -iv /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/source/anchors/ update-ca-trust     DOMAIN=akyuz.tech openssl s_client -showcerts -connect ${DOMAIN}:443 </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ${DOMAIN}.cert