Выставление прав доступа на файлы и папки (CHMOD) после загрузки на сервер

SAW

Client
Регистрация
05.05.2011
Сообщения
134
Благодарностей
10
Баллы
18
Собственно учусь загружать на FTP сервер блоги. Соответственно возникла проблема - как выставлять прав доступа на файлы и папки/подпапки и файлы в них (CHMOD)?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Собственно учусь загружать на FTP сервер блоги. Соответственно возникла проблема - как выставлять прав доступа на файлы и папки/подпапки и файлы в них (CHMOD)?
Через C# сниппет
С использованием переменных:
Код:
ZennoPoster.FtpChmode(project.Variables["IP"].Value, 21, "FTP", project.Variables["login"].Value, project.Variables["password"].Value, project.Variables["proxy"].Value, project.Variables["ftp_path"].Value, "774");
Без переменных:
Код:
ZennoPoster.FtpChmode("IP_сервера", 21, "FTP", "login", "password", "proxy(можно оставить пустые кавычки)", "Путь_до_папки_или_к_файлу_на_сервере", "774");
 

SAW

Client
Регистрация
05.05.2011
Сообщения
134
Благодарностей
10
Баллы
18
Ой, :ah: а откуда этот снипет взять и куда вставить эту строку? Можно подробнее?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: SAW

SAW

Client
Регистрация
05.05.2011
Сообщения
134
Благодарностей
10
Баллы
18
Получается под каждый файл/папку нужно создавать отдельный экшн с такой строкой?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Получается под каждый файл/папку нужно создавать отдельный экшн с такой строкой?
Пути до папок или файлов можно брать из переменной (напр. ftp_path) и прописать так:
project.Variables["ftp_path"].Value
т.е. как в первом примере.
И далее возвращаться к этому экшену.
 
  • Спасибо
Реакции: SAW

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Через C# сниппет
С использованием переменных:
Код:
ZennoPoster.FtpChmode(project.Variables["IP"].Value, 21, "FTP", project.Variables["login"].Value, project.Variables["password"].Value, project.Variables["proxy"].Value, project.Variables["ftp_path"].Value, "774");
Без переменных:
Код:
ZennoPoster.FtpChmode("IP_сервера", 21, "FTP", "login", "password", "proxy(можно оставить пустые кавычки)", "Путь_до_папки_или_к_файлу_на_сервере", "774");
Здравствуйте! Воспользовался данным снипетом. При работе выдает такую ошибку:
"Ошибка изменение атрибутов на Ftp узел aiseka.noads.biz. Возможно FTP узел не поддерживает данную возможность. System.IndexOutOfRangeException: Индекс находился вне границ массива.
Что может быть не так?
Обычным FTP клиентом права меняются без проблем.
 
Последнее редактирование:

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Сорри, моя не внимательность. Значение у переменных были пустые.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
И все же есть вопрос. Как в снипете с использованием переменных указать что используется сокс прокси?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Я почему то прицепился к этой строке project.Variables["proxy"].Value вместо того что бы в переменной указать что прокси будет сокс. :-)
 

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18
Люди, подскажите по chmod, в общем у меня программа всё вроде пишет выполнено, но на сервере права на папку не меняются при этом. Кто-то с такой проблемой сталкивался? Код делаю такой:
Код:
ZennoPoster.FtpChmode("Ipсервера моего", 21, "FTP", "ЛогинФТП", "ПарольМой", "", project.Variables["server_Path"].Value, "777");
Где server_Path это переменная в которую я кладу путь вот такого вида: /www/{-Variable.Domen-}/oc-content/uploads/

Где uploads это как раз та папка которой надо выставить права 777.
Пустые кавычки это прокси, т.е. их отсутствие.
Где собственно ошибка? Может нужно как-то путь обрабатывать? Ну там слеши экранировать или что-то еще...
 
Последнее редактирование:

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18
Кстати, может вообще есть другой способ какой-то выставлять права на папки на сервере, не через код C# ?
 

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18
Людиии, есть тут кто живой?
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Обычным FTP клиентом права на папки на сервере меняются?
 

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18
Обычным FTP клиентом права на папки на сервере меняются?
Здравствуйте, спасибо что откликнулись, а ведь вы правы, похоже что обычным FTP клиентом я тоже не могу поменять права, ошибка выходит: "550 CHMOD 777 uploads: Operation not permitted"
Странно...
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Обращайтесь к хостеру почему так.
 

spy107

Client
Регистрация
19.08.2012
Сообщения
185
Благодарностей
14
Баллы
18
Обращайтесь к хостеру почему так.
Да у меня свой сервер. Я в общем через панель ISP manager обойти решил эту проблему. А вообще дело в том что надо заходить от имени рута, потому что даже в панели управления если не от рута, то права не могу поменять. А через SFTP я не знаю как в C# сделать. Там надо вместо FTP поставить SFTP или sFTP и порт наверное поменять на 22, да? Ну логин, пароль и так понятно что меняем.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
на директорию import пытаюсь поставить права 777

ZennoPoster.FtpChmode("IP", 22, "sFTP", "root", "pass", @"/../home/www/domain/import", "777");


Тип Время Сообщение
23:18:00 Компиляция кода Ошибка в действии "CS1501" "Ни одна из перегрузок метода "FtpChmode" не принимает "7" аргументов". [Строка: 0; Cтолбец: 1]
 

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
@sergodjan66 Пожалуйста, выделите чуть чуть время на тест установки прав на директорию
воспользовался данный кодом. ZennoPoster.FtpChmode("IP_сервера", 22, "sFTP", "login", "password", "proxy(можно оставить пустые кавычки)", "Путь_до_папки_или_к_файлу_на_сервере", "774");

У меня корневой каталог на сервере root поэтому пусть указываю так /../home/www/названиедомена/папка
но в логе

23:35:31 Ошибка изменение атрибутов на Ftp узел тут был айпи Объект /../home/www/тутбыладиректория не содержиться по указаному пути

попробовал для теста создать каталог под название "test" в директории /root и указал путь /test в итоге права установились, такое ощущение что баг зенки, не переходит на каталог ниже.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 309
Благодарностей
9 076
Баллы
113
@sergodjan66 Пожалуйста, выделите чуть чуть время на тест установки прав на директорию
воспользовался данный кодом. ZennoPoster.FtpChmode("IP_сервера", 22, "sFTP", "login", "password", "proxy(можно оставить пустые кавычки)", "Путь_до_папки_или_к_файлу_на_сервере", "774");

У меня корневой каталог на сервере root поэтому пусть указываю так /../home/www/названиедомена/папка
но в логе

23:35:31 Ошибка изменение атрибутов на Ftp узел тут был айпи Объект /../home/www/тутбыладиректория не содержиться по указаному пути

попробовал для теста создать каталог под название "test" в директории /root и указал путь /test в итоге права установились, такое ощущение что баг зенки, не переходит на каталог ниже.
Да, подтверждаю проблему.
В будни постараюсь спросить программистов.
 
  • Спасибо
Реакции: udder

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 309
Благодарностей
9 076
Баллы
113
на директорию import пытаюсь поставить права 777

ZennoPoster.FtpChmode("IP", 22, "sFTP", "root", "pass", @"/../home/www/domain/import", "777");


Тип Время Сообщение
23:18:00 Компиляция кода Ошибка в действии "CS1501" "Ни одна из перегрузок метода "FtpChmode" не принимает "7" аргументов". [Строка: 0; Cтолбец: 1]
Здесь пропущен аргумент для прокси.
 
  • Спасибо
Реакции: udder

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 309
Благодарностей
9 076
Баллы
113
  • Спасибо
Реакции: udder

realman

Client
Регистрация
01.10.2013
Сообщения
50
Благодарностей
4
Баллы
8
  • Спасибо
Реакции: udder

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
787
Благодарностей
136
Баллы
43
По поводу сроков решения пока не могу сказать.
Судя по всему, проблему так и не решили. А может ей никто и не занимается, потому что три месяца решать то, что за пару дней максимум можно поправить - это перебор.
А наличие проблемы подтверждаю - Объект domen/import не содержиться по указаному пути
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 309
Благодарностей
9 076
Баллы
113
Судя по всему, проблему так и не решили. А может ей никто и не занимается, потому что три месяца решать то, что за пару дней максимум можно поправить - это перебор.
А наличие проблемы подтверждаю - Объект domen/import не содержиться по указаному пути
В 5.23.0.0 версии этот момент программисты правили:
[*] Исправлена работа FtpChmode.
Проверю и если что, передам опять программистам.
 
  • Спасибо
Реакции: udder и avtostopshik

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
787
Благодарностей
136
Баллы
43
  • Спасибо
Реакции: udder

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)