1

Есть файл, хозяин указан root. Я не имею прав root, только пользователь. У файла атрибуты -r-xr-xr-x.
Как отредактировать этот файл? Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

2

winda пишет:

Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

Да.

Был, был и весь вышел...

3

Lupo Alberto пишет:

Да.

спасибо!

4

winda пишет:

Как отредактировать этот файл? Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

можно отредактировать и без +w и прав рута.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

drBatty пишет:
winda пишет:

Как отредактировать этот файл? Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

можно отредактировать и без +w и прав рута.

drBatty, как??)

6

winda, http://drbatty.ru/sed/ch02s04.html#bugs_i

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7 (11.03.2012 12:18:07 отредактировано drBatty)

Lupo Alberto пишет:

Да.

теперь дайте список программ, которые изменяют файл, а не создают его по новой. Я, кроме временных p2p файлов, других не знаю. Если вы знаете - делитесь.

Да, ещё логи, там append.

ЗЫЖ в итоге - ответ неверный по сути, хотя и формально правильный.

- дяденька, можно спрыгнуть с этой крыши?
- да, мальчик
- а...ааааааа...ааааааааа
- ...но только один раз.

Ну как обычно bx

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

8

drBatty,  в «слова» я и сам играть умею.  wink  Прочитайте полностью моё сообщение в контексте приведённой там цитаты ТС.

Был, был и весь вышел...

9

drBatty, к сожалению, Интернет у меня сейчас никакой, не могу открыть вашу ссылку. Хотя бы парой слов поясните, о чём там речь.

Был, был и весь вышел...

10

Lupo Alberto пишет:

в «слова» я и сам играть умею.

ага. Я заметил. Отличный ответ, и даже формально правильный. А то, куда он заведёт вопрошающего - его половые трудности.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11

Lupo Alberto пишет:

к сожалению, Интернет у меня сейчас никакой, не могу открыть вашу ссылку. Хотя бы парой слов поясните, о чём там речь.

sed, как и _все_ известные мне программы, при редактировании на месте создают временный файл, который затем переименовывается так, как назывался старый. Старый при этом тоже переименовывается, либо в архивную копию, либо в /dev/null.
Как вы можете заметить, для всех этих действий ваш флаг +w глубоко параллелен. Т.е. +w вовсе не обеспечивает возможности редактирования, а -w вовсе не запрещает такую возможность.
(правда продвинутые редакторы могут и предупредить, что дескать -w, по настоятельным просьбам мигрантов с другой ОС).

А если у вас не открывается ссылка - откройте info sed, часть "баги", там правда не по-русски.

`-i' clobbers read-only files
     In short, `sed -i' will let you delete the contents of a read-only
     file, and in general the `-i' option (*note Invocation: Invoking
     sed.) lets you clobber protected files.  This is not a bug, but
     rather a consequence of how the Unix filesystem works.

     The permissions on a file say what can happen to the data in that
     file, while the permissions on a directory say what can happen to
     the list of files in that directory.  `sed -i' will not ever open
     for writing  a file that is already on disk.  Rather, it will work
     on a temporary file that is finally renamed to the original name:
     if you rename or delete files, you're actually modifying the
     contents of the directory, so the operation depends on the
     permissions of the directory, not of the file.  For this same
     reason, `sed' does not let you use `-i' on a writeable file in a
     read-only directory, and will break hard or symbolic links when
     `-i' is used on such a file.

у меня - вольный перевод. (конечно "вольный" не в техническом плане).

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12

То есть вы хотите сказать, что не обладая привилегиями root, с помощью sed измените — удалите старый и создадите новый файл с теми же правами доступа?

Был, был и весь вышел...

13

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

Был, был и весь вышел...

14

drBatty пишет:

А то, куда он заведёт вопрошающего - его половые трудности.

Право «выстрелить себе в ногу» — неотъемлемое право любого человека. Нельзя сделать счастливым насильно.
Почти любой правильный ответ (я не имею в виду данный случай), домыслив за ТС условия его применения, можно свести к ложному.

Был, был и весь вышел...

15

Lupo Alberto пишет:

То есть вы хотите сказать, что не обладая привилегиями root, с помощью sed измените — удалите старый и создадите новый файл

да. Причём не обязательно юзать sed, можно юзать и любой другой редактор, например kate из KDE. Попробуйте сами, вам понравится  wink

Lupo Alberto пишет:

с теми же правами доступа?

а вот эту часть условия вы только-что сами придумали. Демагогия называется  ac

Lupo Alberto пишет:

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

поймите, для редактирования файла достаточно только права чтения этого файла, и права модификации каталога (право чтения тоже в общем-то не обязательно, если нам плевать, что там было написано)
все ваши владельцы/группы файла тут мимо кассы. Самое смешное в том, что лично вас на этом не провести, но своё Тайное Знание вы почему-то скрываете  ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

Lupo Alberto пишет:

Право «выстрелить себе в ногу» — неотъемлемое право любого человека. Нельзя сделать счастливым насильно.
Почти любой правильный ответ (я не имею в виду данный случай), домыслив за ТС условия его применения, можно свести к ложному.

в данном случае это стандартная ошибка. В другой ОС нельзя редактировать файлы Read Only, а такие как ВЫ ставят знак эквивалентности между маздайным RO и обычным -w. Вы просто дали винтовку неопытному юноше из города не той стороной. Так, что дуло направлено ему в глаз. За что вы так ненавидите неопытных юношей? Вы таким не были?  ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty пишет:

В другой ОС нельзя редактировать файлы Read Only, а такие как ВЫ ставят знак эквивалентности между маздайным RO и обычным -w. Вы просто дали винтовку неопытному юноше из города не той стороной. Так, что дуло направлено ему в глаз. За что вы так ненавидите неопытных юношей? Вы таким не были?  sad

Скорее уж «неопытной девушке»  wink
Поверьте мне, я Windows вижу только случайно, так что не силён, признаю.
Повторюсь: я не люблю решать за других, что для них правильно. Спросили, можно ли изменить права доступа к файлу, имея root-привилегии — да, можно.

Был, был и весь вышел...

18

К стати,

winda пишет:

Есть файл, хозяин указан root.

...не удивлюсь, если и групповые права файла аналогичные. Иначе бы и вопрос не возник.

Был, был и весь вышел...

19

Lupo Alberto пишет:

Поверьте мне, я Windows вижу только случайно, так что не силён, признаю.

таких вопросов вы тоже не видели?

winda пишет:

Как отредактировать этот файл? Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

выделенную часть вопроса вы "не заметили". Специально?
Кстати, ваш ответ тоже неверен:

Lupo Alberto пишет:

   

Если раздобыть права root, то можно ли будет изменить атрибуты и открыть доступ +w?

Да.

с правами рута оно конечно можно всё, но эти права вовсе не необходимы. Достаточно просто быть хозяином файла. И апеллировать к исходному сообщению не нужно, а то странно получается - некоторые вещи вы там замечаете, а некоторые не видите. Демагогия на марше.  ac 

ЗЫЖ

Lupo Alberto пишет:

Скорее уж «неопытной девушке»

ну тут не в курсе.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

Lupo Alberto пишет:

...не удивлюсь, если и групповые права файла аналогичные. Иначе бы и вопрос не возник.

ну я же говорю - демагогия.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

21

много интересного

с sed попробовал но получилось только очистить файл, а исходная инфа потерялась.

в своем вопросе я имел ввиду следующее:
корректно ли выполнится команда chmod +w namefile если выполнить ее из-под хозяина файла то есть root, так что прошу прощения за формулировку

как я понял, не все методы редактирования файла с запрещенными правами безопасны

22

winda пишет:

с sed попробовал но получилось только очистить файл, а исходная инфа потерялась.

а что вы хотели-то?

winda пишет:

в своем вопросе я имел ввиду следующее:
корректно ли выполнится команда chmod +w namefile если выполнить ее из-под хозяина файла то есть root

хозяин файла (не обязательно root) может менять любые стандартные UNIX-права. В т.ч. право модификации w.
root может менять права на любые файлы, даже на те, которым он не хозяин.

winda пишет:

как я понял, не все методы редактирования файла с запрещенными правами безопасны

не о том думаете. Важно то, что право w файла, не имеет почти никакого отношения к редактированию файла. Т.е., то, что вы его ставите/снимаете никого не волнует. Просто файлы при редактировании НЕ меняются, всё проще - создаётся новый файл из старого. Что-бы это запретить, очевидно необходимо запретить модификацию каталога, и тогда юзер не сможет создавать/удалять файлы. Конечно w на сам файл тоже нужно снять, а то юзер может ведь извратиться, и отредактировать таки этот файл (хоть так никто не делает, это не говорит о том, что так нельзя делать).

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

23

drBatty пишет:
winda пишет:

с sed попробовал но получилось только очистить файл, а исходная инфа потерялась.

а что вы хотели-то?

хотел изменить информацию в файле, как и написал сначала

drBatty пишет:

хозяин файла (не обязательно root) может менять любые стандартные UNIX-права. В т.ч. право модификации w.
root может менять права на любые файлы, даже на те, которым он не хозяин.

все ясно

drBatty пишет:

не о том думаете. Важно то, что право w файла, не имеет почти никакого отношения к редактированию файла. Т.е., то, что вы его ставите/снимаете никого не волнует. Просто файлы при редактировании НЕ меняются, всё проще - создаётся новый файл из старого. Что-бы это запретить, очевидно необходимо запретить модификацию каталога, и тогда юзер не сможет создавать/удалять файлы. Конечно w на сам файл тоже нужно снять, а то юзер может ведь извратиться, и отредактировать таки этот файл (хоть так никто не делает, это не говорит о том, что так нельзя делать).

это если смотреть на вопрос с точки зрения установления прав на создаваемые файлы для обеспечения дальнейшей безопасности их. у меня сейчас подход с другой стороны - разгадать причину уже установленных прав и грамотно обойти ее, не нарушив взаимосвязи в готовой системе.

24 (13.03.2012 07:59:27 отредактировано drBatty)

winda пишет:

хотел изменить информацию в файле, как и написал сначала

перефразирую вопрос: ЧЕМ вы хотите редактировать файл?

winda пишет:

это если смотреть на вопрос с точки зрения установления прав на создаваемые файлы для обеспечения дальнейшей безопасности их. у меня сейчас подход с другой стороны - разгадать причину уже установленных прав и грамотно обойти ее, не нарушив взаимосвязи в готовой системе.

если у вас есть права рута, то можете не теряться в догадках, выполните

 Консоль:
# stat file.txt

и сохраните вывод
Потом измените файл как угодно и чем угодно, а затем восстановите его права командой chmod, вы можете также поменять владельца файла и каталога на вашего нерута, отредактировать в графике, и поменять владельца обратно командой chown (права тоже). Временные штампы тоже подделываются командой touch. Локальный рут может подделать что угодно, кроме нелокальной ЭЦП.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)