Ну и естественно опять нет (и не будет) такой штуки, как отдельный pid на каждый открытый файл, или другой механизм, позволяющий прибить блокировку на один отдельно взятый файл, и не трогать блокировки на другие файлы. Когда пользователь vasya логиниться на самба-сервер, на сервере появляется pid, ну...например Pid=9543. Когда vasya открывает, скажем файл ms-word, на него создается файл-блокировка средствами samba, а точнее тем самым pid'ом, с id=9543, если вася откроет еще и ms-excel, то на него тоже будет создана блокировка, с таким же pid, 9543. Блокировка позволяет Васе рабоать с этими документами, но если другой пользователь, скажем Glahsa попробует открыть эти же самые файлы - приложения скажут ей, что они открыты только для чтения, и редактировать она их уже не сможет. Тут внезапно Вася отошел по делам, а Глаше срочно нужно внести свои данные в открытый Васей файл экселя и отправить по почте. В виндах есть возможность прибить блокировку на файл и позволить другому пользователю открыть его на редактирование. В линуксе - или прибить всю пользовательскую сессию (а у пользователя может быть открыто несколько десятков файлов) или не прибивать ничего. На мой взгляд на каждый открытый файл, на стороне файлового сервера должен рождаться свой отдельный pid, который будет дочерним для того Pid'a, который принадлежит пользовательской сессии vasya.
|