Только владелец каталога, root , может изменять его разрешения, разрешая или запрещая другим пользователям использовать этот каталог (обратите внимание, что root , как суперпользователь, может в любом случае измените разрешения на что угодно, владелец или нет ).
Если пользователь jenkins находится в группе wheel , это может означать, в зависимости от конкретной ОС, что пользователю jenkins разрешено использовать su
или sudo
(, например:RHEL ), чтобы временно стать root . Так что это, возможно, потребуется jenkins пароль, должно работать:
sudo chmod -R a+rwx tmp/
или еще (требуется пароль root ):
su -c 'chmod -R a+rwx tmp/'
Нахождение в группе колесо , если оно особым образом обрабатывается вашей ОС, не дает прямого разрешения. Он дает право выполнять действия как root(или других пользователей ), используя различные механизмы, предназначенные для этого (, такие как su
и sudo
выше ), а не напрямую.
FORMAT="ERROR: path: '%s' group name: '%s' group perm: '%s'\n"
find /root/bin -perm -g+rX -printf "%p %g %M\n" | \
while read path group perm; do
if ! [[ ${group} == "users" && ${perm:4:3} == "r-x" ]]; then
printf "${FORMAT}" ${path} ${group} ${perm:4:3}
fi
done
ERROR: path: '/root/bin' group name: 'root' group perm: 'r-x'
ERROR: path: '/root/bin/script' group name: 'root' group perm: 'r-x'
Что он делает? Он перечисляет все пути в /root/bin
и проверяет, является ли группа «пользователями», а разрешение — «r -x».
Согласно Стандарту иерархии файловой системы , каталог /usr/local
и его подкаталоги (, например. подкаталог bin
)предназначен для «локальных данных, специфичных для этого хоста»,а /root
— домашний каталог пользователя root.
Домашний каталог root обычно должен быть недоступен для всех обычных пользователей.
Администраторы могут через учетную запись root устанавливать локальные сценарии в /usr/local/bin
, что сделает их доступными для всех пользователей, у которых есть этот каталог в ихPATH
(или которые знают, как их выполнять, учитывая их абсолютные пути ).
Сценарии не должны быть доступны для записи никому, кроме пользователя, который их поддерживает, которым, скорее всего, будет пользователь root. Это означает, что право собственности на эти файлы должно быть root
, и они, вероятно, также должны принадлежать к группе root
, если только у вас нет специальной группы для исполняемых файлов, такой как bin
или wheel
(, как в некоторых BSD. системы; проверьте другие исполняемые файлы, например,. /bin
и /usr/bin
). Разрешения должны быть r
и x
для всех, а также, возможно, w
для владельца (, если только копия с возможностью записи не хранится в другом месте, а установленная версия недоступна для записи всеми )..
Это означает установку разрешений 755
или 555
для файлов с chmod
, в зависимости от того, должны ли они быть доступны для записи владельцем(755
)или нет (555
).