tobotras: (unix)
tobotras ([personal profile] tobotras) wrote2009-07-10 05:46 pm
Entry tags:

(no subject)

А я-то думал, что в «базовом» юниксе меня удивить нечем. Но что для «mv a/ b/» каталог «a» должен быть доступен на запись — меня сегодня удивило.

Ответ «почему» — в man rename(2) :)

[identity profile] bish0nen.livejournal.com 2009-07-14 12:54 am (UTC)(link)
на самом деле очень даже имеет. rename(2), как я уже поведал, неатомарный и сводится к link(2) в твоём случае в mv. у link(2) две функции - увеличить счётчик link count или обновить ".." для случая mv, если mv делается в пределах той же самой файловой системы. причина, по которой для случая (2) используется link(2) такая, что не-руту в явном виде запрещены манипуляции (на запись) с "." и ".." (через opendir, seekdir & write). проверка на разрешение записи здесь вторична и есть следствие униформности прав доступа в юниксе. я не возражаю, я дополняю Ж)

[identity profile] dserv.livejournal.com 2009-07-30 08:53 am (UTC)(link)
экий ты зануда, однако.. :)