LinuxForum.Fans
Тема

Право на запись - модификацию

Автор: snatch 33 сообщений 4662 просмотров
#113684
anonymous.ru написал:
не согласен.

а... надоело спорить. пусть будет ОСОБАЯ запись. так пойдёт?

#113686
Правила форума написал:

3.1.4. Имя пользователя не должно содержать адреса электронной почты или веб-сайтов.

[console]
% ping -c3 anonymous.ru
PING anonymous.ru (88.212.221.46) 56(84) bytes of data.
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=1 ttl=119 time=149 ms
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=2 ttl=119 time=164 ms
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=3 ttl=119 time=156 ms

--- anonymous.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 149.227/156.852/164.611/6.297 ms
[/console]

#113690
anonymous.ru написал:
Системного вызова modification нет.

http://linuxforum.ru/viewtopic.php?pid=111956#p111956

anonymous.ru написал:
надо обладать правом модификации содержимого это родительской "папки"

Вы же уже употребляли слова модифицировать, хотя бы по отношению к правам директорий.

#113704
mogul82 написал:
Вы же уже употребляли слова модифицировать, хотя бы по отношению к правам директорий.

я там еще употреблял слово "папка" :)
Как я уже сказал, что бы модифицировать, нужно записать.

drBatty написал:
а... надоело спорить. пусть будет ОСОБАЯ запись. так пойдёт?

В момент удаления файла его содержимое не модифицируется, запись в его содержимое не происходит, даже mtime не меняется ;)
А потом, это уже не файл.

Lupo Alberto написал:
3.1.4. Имя пользователя не должно содержать адреса электронной почты или веб-сайтов.

Мне убица от стену?
Это мой ник еще со старого форума. Что предлагаете делать? Правила имеют обратную силу?
Домен не мой.

#113705

Кстати, темя для очередного флейма:
катАлог vs каталОг vs директория vs папка :lol:

#113707
anonymous.ru написал:
Это мой ник еще со старого форума. Что предлагаете делать? Правила имеют обратную силу?
Домен не мой.

поменяют

#113711
anonymous.ru написал:
В момент удаления файла его содержимое не модифицируется,

в момент открытия файла на запись он тоже не меняется.

anonymous.ru написал:
даже mtime не меняется

правильно. за то меняется dtime.

anonymous.ru написал:
А потом, это уже не файл.

не. файл. Мало того, бывают удалённые файлы, без имени, и тем не менее, они лежат на диске, занимают место, да ещё и работают. Такие дела...

anonymous.ru написал:
катАлог vs каталОг vs директория vs папка

было давеча на лоре. давай продолжим что-ли...

#113765
drBatty написал:
Такие дела...

В этом случае файл не является удаленным :)
Бывают кошки без хвостов, но хвост без кошки не бывает. :D
Если у файла нет не одной жесткой ссылки - это не повод его удалять.
Еще конечно система анализирует счетчик открытий.
Как всем известно ( и мне в том числе): если файл был открыт, и удалены все его имена (жесткие ссылки ) ( при удалении имен будет меняться ctime ), то в дальнейшем в этот файл можно и писать и читать.
Так что файл - остается файлом :) даже если у него нет имени.
А вот если он действительно удален, то он перестает существовать :) не является больше файлом
Ваш КО.

Можно ли модифицировать без записи?
-Мне кажется нет
Можно ли записать без модификации?
Пожалуйста:
echo cat > cat
echo cat > cat
Была ли информация в файле модифицирована после второй команды?

МОДИФИЦИ'РОВАТЬ, рую, руешь, сов. и несов., что (книжн.).
Произвести (производить) модификацию чего-н., внести (вносить) во что-н. видоизменения, не преобразуя внутренней сущности предмета.
#113766
drBatty написал:
было давеча на лоре. давай продолжим что-ли...

Не участвовал :)
Даже читать не тянет :)
Но мне кажется, что с точки зрения архитектуры системы, по русски правильней называть этот тип файлов каталОг :rolleyes:

#113850

anonymous.ru, так можно спорить сколько угодно. пока мы не понимаем, что такое "хвост" и что такое "кошка" спор о том, бывают-ли хвосты без кошек не имеет смысла.

ссылки на словарик, кстати, не являются аргументом в нашем споре. Причина проста - в словаре не описан термин "модификация файла", авторы словаря толкуют слово "модификация" относительно чего-то другого. Это становится очевидным, если учесть, что inode - часть "внутренней сущности", а при модификации файла inode меняется. При этом содержимое может и не изменятся. ИМХО в этом случае всё-же следует принять, что "сущность" поменялась, к ней применили "нулевое изменение", и растояние по Левинштейну от старого файла к новому равно нулю. (что не мешает существованию модификации. каноничный пример: файл сначала был сжат сжимателем, а потом разжат. Несмотря на то, что информация ни на бит не изменилась, файл потерпел целых 2 модификации).

Про удаление. Если определить команду rm как:

1) Команда rm уничтожает имя файла из каталога в котором хранится этот файл.
2) При этом счётчик имён файла декрементируется.
3) если счётчик имён при выполнении п2 переходит от 1 к 0, то
3.1) текущее время записывается в dtime
3.2) все блоки, которые содержат информацию в файле присоединяются к списку свободных блоков
3.3) область, в которой хранилось положение блоков с информацией обнуляется
3.4) сам inode присоединяется к списку свободных инодов.

На самом деле, всё так и происходит. за одним исключением - п3 выполняется ПОСЛЕ завершения команды rm. Это может занять довольно продолжительное время, но на работу Системы в целом не влияет (разве что свободное место появляется не сразу после удаления. Т.е. если мы прибили файл на 100500мб вовсе не говорит о том, что у нас появится ещё 100500мб. Впрочем нам этого никто и не гарантировал).

Однако на практике удаление происходит довольно быстро. Единственное исключение - исполняемые файлы. Вот здесь удаление может растянутся на бесконечно длительный строк.

anonymous.ru написал:
Как всем известно ( и мне в том числе): если файл был открыт, и удалены все его имена (жесткие ссылки ) ( при удалении имен будет меняться ctime ), то в дальнейшем в этот файл можно и писать и читать.
Так что файл - остается файлом smile даже если у него нет имени.

сейчас проверим...

#114122
drBatty написал:
ссылки на словарик, кстати, не являются аргументом в нашем споре.

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


Вот две Ваши цитаты.

drBatty написал:
inode - часть "внутренней сущности", а при модификации файла inode меняется. При этом содержимое может и не изменятся.
drBatty написал:
[quote=mogul82]2 = write (право на запись)

не на запись, а на модификацию.[/quote]

chmod 000 file1.txt -Убрали все права, в том числе и права на "модификацию"
"Модифицируем" файл:
touch file1.txt
chmod u+r file1.txt
ln file1.txt f1.txt
Все команды приведут к изменениям в inode, то есть по Вашему определению к модификации, хотя права w (по Вашей версии права на модификацию) у файла нет.
Попробуем записать:
echo 123 >> file1.txt
:( Не получилось записать (на самом деле не получилось открыть на запись ;) )
Вывод: w - право на запись.

#114218
anonymous.ru написал:
chmod 000 file1.txt -Убрали все права, в том числе и права на "модификацию"
"Модифицируем" файл:
touch file1.txt
chmod u+r file1.txt
ln file1.txt f1.txt
Все команды приведут к изменениям в inode, то есть по Вашему определению к модификации, хотя права w (по Вашей версии права на модификацию) у файла нет.

я думал, что по контексту ясно, что это модификация не содержимого файла, а некой информации о файле. Не?

Ладно, уточню - права файла (rw) применяются к содержимому файла. Для краткости часто файлом называется как раз таки содержимое. Как водкой называется водка. При этом подразумевается, что эта водка сама по себе существовать не может. В отрыве от бутылки, или какой-либо иной ёмкости. Так-же как и с файлом, бутылку можно уничтожить вместе с содержимым, а можно так-же менять бутылки и другие ёмкости, и при этом не менять содержимое. Запрет пить водку никак не касается бутылки.

В вашем примере вы взяли пустую бутылку, разрешили на неё посмотреть хозяину, потому откуда-то ещё одну пустую бутылку нашли... А водки в ваших экспериментах как не было, так и нет.

anonymous.ru написал:
Вывод: w - право на запись.

вы мне лучше покажите как из полной бутыли мне сделать пустую. С учётом того, что портить продукт мне жалко, а пить я бросил? :) (т.е. права на изменение водки у меня нет). И почему мне возбраняется переливать из пустого в порожнее?

#114222

Да чё вы спорите. Как кобылу не назови ездить лучше она не будет. :lol:
Но drBatty, прав больше, хоть все написанное не осилил.

Войдите или зарегистрируйтесь, чтобы ответить.