Как мне остановить пользователя, подключенного к его собственному ftp, от удаления файла html.htm, а также с общедоступным каталогом, установленным в chmod 755. Я обнаружил, что он ничего не может сделать в каталоге, например, загрузить / удалить?
сделайте это кем-то другим, но я полагаю, что если у них есть права на запись, они могут удалить его. чтобы вы могли создать скрипт, чтобы, если файл не существовал, он его воссоздает.
barlop 11 лет назад
0
Если разрешение файла 755, вы не можете помешать пользователю удалить файл.
Ramhound 11 лет назад
0
3 ответа на вопрос
1
terdon
Who is the user connecting as? The way you have it set up, only the owner can write to public_html.
Also, you currently have it set up so that users can enter /home/testuser but not read it. You might want something like :
Традиционные разрешения Unix означают, что если пользователь может создавать файлы в каталоге, он также может удалять файлы в нем - даже если сам файл защищен от чтения и не принадлежит им. Таким образом, вы не можете защитить html.htm(что бы это ни было), если он находится в каталоге, к которому у них должен быть доступ на запись / выполнение. Возможно, ACL могут помочь, как предполагает @vonbrand (но я не знаком с ними, и @vonbrand не обещает, что это сработает).
Нет необходимости делать каталог глобально доступным для записи или глобально исполняемым, но вам нужно убедиться, что ваш демон веб-сервера имеет доступ для чтения к файлам. (Это, вероятно, работает как группа - www-dataно проверить). Поэтому убедитесь, что владелец каталога совпадает с uid, который пользователь получает при подключении, и вы можете сохранить его в режиме 750.
Если вам нужно разрешить нескольким uid записывать в один и тот же каталог, вам нужно включить доступ для групповой записи ( g+w). В этом случае я бы использовал группу, отличную от www-data, и предоставил бы доступ только для чтения apache как «прочее». Другими словами, режим 775.
Также следите за вашим umask, который контролирует права доступа к новым файлам, созданным пользователями. Если у вас есть отдельные учетные записи, используйте umask 022для соответствия. Если у вас есть общий каталог группы, используйте umask, 002чтобы пользователи могли редактировать файлы друг друга. (Так как они смогут удалять и заменять файлы, нет смысла их защищать).
0
vonbrand
Look for ACLs, that might solve your problem. Relevant manual entries are acl(5), setfacl(1), and getfacl(1). Support depends on the filesystem, though.
Не могли бы вы расширить свой ответ с деталями, а не только ссылки?
Canadian Luke 11 лет назад
0
@Luke - Что это за ссылки :-)
Ramhound 11 лет назад
0
@Ramhound Я не видел таблицы стилей в своей камере, когда я опубликовал это
Canadian Luke 11 лет назад
0
@Luke - я почти уверен, что есть ссылки.
Ramhound 11 лет назад
0