Сообщений: 0 | #1 - 29 февраля 2016 в 23:21 | |
Всем привет. С недавних пор начал изучать Linux Mint Cinnamon, который установил на VB и вот столкнулся с одной проблемой, никак не могу сделать так, что бы нельзя было удалить или переименовать папку, но добавлять, удалять и т.д. в ней можно было бы, т.е. данные права должны распространяться только на одну папку, пробовал различные варианты, как через Chmod так и через Chattr, желаемого не достиг, либо папка полностью блокировалась. Если кто то решал подобную задачу и знает как это сделать прошу поделиться секретом. |
|
|
Сообщений: 0 | #2 - 29 февраля 2016 в 23:58 | |
я думаю, что это нужно делать через группы |
Сообщений: 0 | #3 - 1 марта 2016 в 00:06 | |
Просто интересно. В чём смысл? Редактировалось: 1 раз (Последний: 1 марта 2016 в 00:07) |
Сообщений: 0 | #4 - 1 марта 2016 в 00:16 | |
Enriki: | Просто интересно. В чём смысл? | Смысл в том, что бы сделать в домашней папке, по принципу диска D и E которые нельзя было бы удалить и туда потом ложить всю необходимую информацию. |
Сообщений: 0 | #5 - 1 марта 2016 в 00:21 | |
sizonov_stas: | я думаю, что это нужно делать через группы | С правами я уже пробовал эксперементировать, что то пока эффекта нет. |
Сообщений: 0 | #6 - 1 марта 2016 в 00:25 | |
на папку - chattr +u, на файлы в ней - 766 или 777 - и удалить ее будет нельзя, в отличии от её содержимого. сhocobo@htpc:~$ sudo mkdir /tmp/test_folder # создадим папку chocobo@htpc:~$ sudo chmod 777 /tmp/test_folder/ # разграничим права chocobo@htpc:~$ ls -l /tmp/ | grep test_folder # проверим drwxrwxrwx 2 root root 4096 марта 1 00:07 test_folder chocobo@htpc:~$ sudo chattr +u /tmp/test_folder/ # + аттрибут undeletable chocobo@htpc:~$ rm -rf /tmp/test_folder # попробуем удалить rm: невозможно удалить «/tmp/test_folder»: Операция не позволена chocobo@htpc:~$ touch /tmp/test_folder/111 # создадим файл внутри chocobo@htpc:~$ ls -l /tmp/test_folder/111 # проверим -rw-rw-r-- 1 chocobo chocobo 0 марта 1 00:18 /tmp/test_folder/111 chocobo@htpc:~$ rm -rf /tmp/test_folder/111 # теперь удалим его chocobo@htpc:~$ ls -l /tmp/test_folder/ итого 0 # вуаля |
|
Сообщений: 0 | #7 - 1 марта 2016 в 08:30 | |
|
Сообщений: 0 | #8 - 2 марта 2016 в 00:07 | |
Ничего не выходит, на строке: chocobo@htpc:~$ rm -rf /tmp/test_folder | Всё удаляется, да и не совсем понятно как можно установить права на не существующие файлы внутри этой папки, вообщем похоже ситуация ведёт к тому, что бы на неё забить, так как похоже, что это просто не реализуемо в данной системе. |
Сообщений: 0 | #9 - 2 марта 2016 в 00:37 | |
Checks, вы в системе работаете от рута или от пользователя? sudo mkdir /home/test && sudo chmod 777 /home/test пользователь будет создавать/удалять файлы, но директорию удалить не сможет |
Сообщений: 0 | #10 - 2 марта 2016 в 01:39 | |
Checks: | Всё удаляется, да и не совсем понятно как можно установить права на не существующие файлы внутри этой папки, вообщем похоже ситуация ведёт к тому, что бы на неё забить, так как похоже, что это просто не реализуемо в данной системе. |
В общем ситуация ведет к тому, что Вы ни фига не разобрались - изучать ОС не пяти минут дело. Для освоения только основ нужно пару недель. Вы же, насколько я понимаю, в мире профессиональных Unix систем вообще не шарите. |
Сообщений: 0 | #11 - 2 марта 2016 в 09:13 | |
Checks, листинг кода в цитате я не из головы сочинял. Значит оно все-таки реализуемо. Проверь на любом другом файле запрет на удаление через chatrr +u |
|
|
Сообщений: 0 | #12 - 2 марта 2016 в 14:07 | |
Chocobo: | Checks, листинг кода в цитате я не из головы сочинял. Значит оно все-таки реализуемо. Проверь на любом другом файле запрет на удаление через chatrr +u | Возможно я что то делаю не так, но: Потом захожу в графический интерфейс, выделяю папку и она благополучно улетает в корзину. |
Сообщений: 0 | #13 - 4 марта 2016 в 00:24 | |
Я Вам давал ссылку на ман, прочитав который можно было допетрить что надо что бы у пользователя не было права на запись в родительский каталог. если у пользователя нет права писать в /home он не сможет переименовать или удалить содержимое /home |
555 для /home 777 для Диск D |
|
Сообщений: 0 | #14 - 28 марта 2016 в 13:28 | |
Уважаемый автор, Вам бы стоило разобраться с тем, как вообще работают права в *nix Итак Код BASH: mkdir -p FORUNDELETEDIR/D mkdir FORUNDELETEDIR/<another dir> ... chmod -R 777 FORUNDELETEDIR chmod 555 FORUNDELETEDIR
Для того, что бы удалить любую папку в FORUNDELETEDIR сначала придется делать chmod 755 или 777 для нее и тоько потом удалять то, что находится внутри, второй вариант удалить через sudo. Это же касается и добавления новых папок внутрь P.S. Только не пойму, для чего такие финты? Если Вы собираетесь раздавать содержимое по Samba, то там можно тоже аккуратно настроить права, вплоть до того, что у каждого юзера будет свой конфиг Редактировалось: 1 раз (Последний: 28 марта 2016 в 13:28) |