Для преобразования файла можно использовать иконкуv или перекодировку. Но вам нужно будет указать исходную кодировку.
Информация об исходной кодировке должна откуда-то исходить. Простой текстовый файл не содержит никакой информации о своей кодировке. Некоторые типы форматированного текста содержат указание (например, заголовки в HTML или в LaTeX), но в целом Вы сами по себе. Это зависит от окружения, чтобы знать, какую кодировку он использует для своего текстового файла.
Вы можете попытаться угадать исходную кодировку. Это возможно только в том случае, если у Вас есть некоторая информация о файле - либо Вы знаете, на каком языке он написан (например, Вы знаете, что он написан на польском или английском), либо есть лишь небольшое количество потенциальных кодировок (например, это либо UTF-8, либо Latin-1). См. Как проверить кодировку текстового файла... Действительна ли она и что это такое? и Как повторно закодировать смешанный текстовый файл для некоторых возможностей, включая Enca и Perl Encode::Guess. На основе набора данных вам необходимо выяснить, может ли один из этих инструментов работать на вас.
Обычно я использую следующее:
find . -type f -print0 | xargs -0 sudo chmod 440
find . -type d -print0 | xargs -0 sudo chmod 555
Однако это не учитывает исполняемые файлы. Я думал сделать что-то подобное для файлов:
find . -type f -print0 | xargs -0 sudo chmod ug+r ug-w o-rwx
Но это все еще две команды и я не уверен, что это лучший способ. Может быть, у кого-то есть предложение получше.
Только не устанавливайте одинаковые права доступа к каталогу и файлам в нем:
$ chmod g+rx directory/
$ chmod g= directory/*
Здесь члены группы могут вводить и просматривать каталог, но не смогут читать файлы в нем.
Правка: что касается вашего нового заголовка, я бы предложил:
$ chmod a+rx directory/
$ chmod u=rwX,g=rX,o= *
Для каталогов и файлов уже созданы:
Найти / start_directory -type d -exec chmod 755 {} \;
Найти / start_directory -type f -exec chmod 660 {} \;
Если ваши пользователи должны иметь возможность создавать новые файлы и / или подкаталоги, пожалуйста, дайте более подробную информацию, потому что решение зависит от точных требований.