Повторная установка разрешений на RPM, похоже, не работает

С zsh:

zmodload zsh/mapfile
for i ($filelist) mapfile[$i]="$prefix
$mapfile[$i]$suffix
"

С ksh93 или bash (или zsh):

for file in "${filelist[@]}"; do
  {
    rm -- "$file" && {
      printf '%s\n' "$prefix"
      cat
      printf '%s\n' "$suffix"
    } > "$file"
  } < "$file"
done
2
05.10.2015, 17:57
1 ответ

Без подробностей о том, что происходит с ошибками, кто знает, поскольку некоторые проверки всегда будут терпеть неудачу и никогда не могут быть исправлены, если, например, / etc / aliases был изменен указать root mail в другом месте:

% rpm -qf /etc/aliases
setup-2.8.14-20.el6_4.1.noarch
% rpm -V setup
S.5....T.  c /etc/aliases
% 

В этом случае размер файла отличается (что - setperms ничего не сделает для исправления), дайджест отличается (опять же --setperms не имеет отношения), и mtime отличается, что опять же - setperms не будет делать никаких вещь для.

Однако разрешения, безусловно, могут быть нарушены и исправлены с помощью - setperms .

% sudo chmod 7001 /etc/aliases
% ls -l /etc/aliases
---S--S--t. 1 root root 1542 Aug  1  2014 /etc/aliases
% rpm -V setup
SM?....T.  c /etc/aliases
% sudo rpm --setperms setup
% rpm -V setup             
S.5....T.  c /etc/aliases
% ls -l /etc/aliases       
-rw-r--r--. 1 root root 1542 Aug  1  2014 /etc/aliases
% 

Обратите внимание на второй столбец для «режима» и то, как не удалось выполнить дайджест-проверку, учитывая, что разрешения были объединены.

(Обертка вокруг rpm -V может оказаться полезной для подробного разъяснения этого довольно загадочного вывода ...)

3
27.01.2020, 22:05

Теги

Похожие вопросы