Объяснение является довольно раздражающим: сам удар является причиной. strace
наш друг (должен быть сам корень SUID, чтобы это работало):
getuid() = 1000
getgid() = 1001
geteuid() = 0
getegid() = 1001
setuid(1000) = 0
setgid(1001) = 0
удар обнаруживает, что был запущен корень SUID (UID! =EUID) и использование его корневое питание выбросить это питание, сбрасывая EUID к UID. И позже даже FSUID, только чтобы быть уверенным...:
getuid() = 1000
setfsuid(1000) = 1000
getgid() = 1001
setfsgid(1001) = 1001
В конце: никакой шанс. Необходимо запустить удар с корня UID (т.е. sudo).
Редактирование 1
В странице справочника говорится это:
Если оболочка запускается с эффективного пользователя (группа) идентификатор, не равный реальному пользователю (группа) идентификатор, и-p опция не предоставляется, никакие файлы запуска не читаются, окружают функции, не наследованы от среды, SHELLOPTS, BASHOPTS, CDPATH, и переменные GLOBIGNORE, если они появляются в среде, проигнорированы, и эффективный идентификатор пользователя установлен на идентификатор реального пользователя. Если-p опция предоставляется при вызове, поведение запуска является тем же, но эффективный идентификатор пользователя не сбрасывается.
Но это не работает на меня. -p
даже не упоминается среди опций запуска. Я также попробовал --posix
; не работал также.
Причина была ошибочной опцией [1
в MDADM.conf
:
# definitions of existing MD arrays
ARRAY /dev/md0 UUID=621d5f15:cce75825:60273c48:78a7dac7
spares=1
Я не уверен, как Это закончилось там, но я полагаю, что это произошло, когда устройство не удалось и было заменено.
Удаление запчастей = 1
опция или просто воссоздание MDADM.conf
с нуля Исправлена проблема:
/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
Я получил сообщение, однако у меня есть запасной диск. Ответ выше меня немного озадачил. Решение оказалось простым.
В моем mdadm.conf
было spares=2
. Странно то, что -я этого не настроил. Это должно быть сделано каким-то установочным скриптом. У меня есть два RAID с одним запасным каждый. Первый получил правильно «spares=1», а второй — spares=2
.