Я думаю, мне нужно лучше понять, ПОЧЕМУ это не работает:
У меня есть существующий PHP-скрипт, в котором я использую команду «exec» для выдачи «net use», передавая имя пользователя и пароль службы, чтобы смонтировать общий файловый ресурс UNC в нашей внутренней сети здесь в букву диска.
Исторически сценарий использовался только для чтения файлов в нескольких ключевых каталогах, которые мы хотим просмотреть в этом общем ресурсе. Я добавил возможность создавать новые, пустые файлы успешно (через «fopen») на прошлой неделе.
Но теперь мне нужно иметь возможность удалять или переименовывать эти файлы с помощью сценария PHP. (Но я еще не пытался сохранять в них новую информацию.)
Каждый раз, когда я пытаюсь выполнить команду PHP «unlink» или «rename», я получаю сообщение об ошибке: «Доступ запрещен»
Я подумал, что, возможно, ошибка была связана с учетной записью службы, которая смонтировала диск, потому что, если я смотрю на право собственности на созданные файлы, он говорит, что пользователь службы владеет ими.
Итак, я изменил эту учетную запись, чтобы быть моей собственной. Я ЗНАЮ, что у меня есть полное разрешение на любые файлы в каталоге ключей, которые я тестирую. Однако это ничего не изменило.
Я нашел здесь несколько ссылок для выполнения команды whoami из сценария. Что ж, я сделал это за одну строку до попытки «отсоединить», и там говорится, что это пользователь IIS.
Итак, я не уверен, действительно ли пользователь IIS пытается «отсоединить» … и если да, то почему файл был создан как пользователь службы, а не как пользователь IIS? Или здесь что-то еще происходит?
У меня нет прав администратора на сервере, где эти файлы существуют, поэтому я не могу пойти туда и поиграться с пользователями и разрешениями или даже посмотреть журналы … в противном случае, я бы сделал это дальше.
Полагаю, я просто ошеломлен тем фактом, что … какой бы пользователь ни использовался … он может создать файл, но не может удалить или переименовать его? Похоже, разрешение WRITE является ключевым требованием для всего этого.
Какие-нибудь мысли?
Задача ещё не решена.
Других решений пока нет …