Внезапно обнаружил, что g_file_set_contents() наглым и бесцеремонным образом херит права доступа к файлу. В частности, за счет того, что сначала создается временный файл, затем удаляется существующий и временный помещается на его место, напрочь выпиливается взведенный исполнимый бит. Так что это омерзительное поведение стоит учитывать при написании своего кода