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] http://users.livejournal.com/_slw/ 2009-07-10 01:52 pm (UTC)(link)
freebsd 7 -- не должен
elentin: ((anti) ski)

[personal profile] elentin 2009-07-10 01:58 pm (UTC)(link)
elentin@falcon:~$ mkdir test
elentin@falcon:~$ chmod 100 test 
elentin@falcon:~$ ls -ld test 
d--x------ 2 elentin 1002 4096 Июл 10 17:55 test
elentin@falcon:~$ 
elentin@falcon:~$ mv test test_mv
elentin@falcon:~$ ls -ld test_mv/
d--x------ 2 elentin 1002 4096 Июл 10 17:55 test_mv/
elentin@falcon:~$ uname -a
Linux falcon 2.6.26-1-openvz-686 #1 SMP Fri Mar 13 20:20:40 UTC 2009 i686 GNU/Linux
elentin@falcon:~$ cat /etc/debian_version 
5.0.1

[identity profile] svv.livejournal.com 2009-07-10 02:34 pm (UTC)(link)
Остроумно :-)

Вот и первоисточник http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=fs/namei.c;hb=HEAD
	/*
	 * If we are going to change the parent - check write permissions,
	 * we'll need to flip '..'.
	 */
	if (new_dir != old_dir) {
		error = inode_permission(old_dentry->d_inode, MAY_WRITE);
		if (error)
			return error;
	}

[identity profile] avnik.livejournal.com 2009-07-10 02:35 pm (UTC)(link)
Я подозреваю чтобы обновить ".." внутри a/

[identity profile] dado.livejournal.com 2009-07-10 03:44 pm (UTC)(link)
ну и желательно на той же файловой системе :)

[identity profile] bish0nen.livejournal.com 2009-07-10 04:08 pm (UTC)(link)
зачем топ-менеджерам юникс? «Windows 7» такая хорошая, и цифра счастилвая, и .. секретарше не видно! ты уэ совсем прям как гик какой-то!

[identity profile] bish0nen.livejournal.com 2009-07-10 04:26 pm (UTC)(link)
ответ "почему" в man link(2) конечно же. только там этого почти не написано Ж)

[identity profile] kamiram.livejournal.com 2009-07-10 09:50 pm (UTC)(link)
вобще невсегда.
но! ежели(а это 99%) происходит запись в данные нода, значит должен

[identity profile] ex-xaocuc.livejournal.com 2009-07-11 06:00 am (UTC)(link)
круто, никогда не задумывался. виндовз-админ в жизни не догадается =)