Как перезаписать файл в Linux без права на его прочтение?
Вообщем моя задача проста: от пользователя "sit" необходимо отредактировать текстовый файл пользователя "sit2". Данный пользователь разрешил только записывать какую-либо информацию в данный файл и запретил читать его. Вот у меня вопрос: какие команды необходимо ввести в консоль от пользователя "sit", чтобы записать свою информацию в файл пользователя "sit2"? И как прочитать содержимое файла от пользователя "sit2"?
Как всегда в подобных случаях, даже для того, чтобы понять суть вопроса (а уж для того, чтобы что-то посоветовать - и подавно), не хватает исходных данных. Сначала о типе информации в файле:
1. Шифрованная/не шифрованная.
2. Только текстовая или бинарная, т.е. вообще без разницы, что там внутри (соответственно дописывать можно что угодно).
Далее - о типе запрета: открыт доступ на запись, закрыт - на чтение, а как насчёт остальных файловых операций? Также мне непонятно, как это можно дописывать текст в файл, не открывая его в редакторе (с соответствующим разрешением).
ANABAM, nano или vi попытаются прочитать файл и у них ничего не выйдет.
если хочешь nano или vim, то создай отдельный временный файл, сделай в нем записи, а потом cat temp-file > write-only-file
У вас взаимоисключающие параграфы - прав на чтение файла нет, но вы хотите его прочитать. Так не получится. Перезаписать его содержимое, если есть права на запись, можно любым способом, хоть cat yourfile > write-only-file.
Чем больше знаю, тем лучше понимаю, как мало знаю.
А прочитать под пользователем sit2 можно великим множеством способов: cat write-only-file, more write-only-file, grep "" write-only-file, nano write-only-file, vi write-only-file
Обычная работа с текстовиком в скрипте как правило идет через cat somefile | sed/awk/grep чего и куда надо. Плохо только то, что когда исходный файл - это нечто громадное типа сквидового лога, приходится ухищрения применять, чтобы его обработать.