Вы можете использовать преимущества и / или структуру системы find
выражений для этого:
find /share/Multimedia/ -type f -exec chmod 644 {} \; -o -type d -exec chmod 755 {} \;
По сути, это имеет следующую логику:
IF: the item is a plain file AND the chmod 644 command succeeds on it OR the item is a directory AND the chmod 755 command succeeds on it THEN ... well, do nothing; normally it'd print the item's path, but since there's a -exec in the expression, that gets skipped
Но на самом деле есть гораздо более простой способ:
chmod -R u=rwX,go=rX /share/Multimedia/
Для этого используется chmod
разрешение «X», что означает «выполнить, но только если это имеет смысл». В основном это означает, что он устанавливает выполнение для каталогов, но не для простых файлов. Основная потенциальная проблема заключается в том, что если он видит разрешение на выполнение в простом файле, он предполагает, что оно является преднамеренным, и сохраняет его, поэтому он не будет очищен после того, как кто-то пройдет и назначит разрешение на выполнение для всего.