Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | chmod [2024/04/01 14:59] (текущий) – [Заключение] darkfire | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Chmod: Управляйте доступом к файлам и папкам в Linux ====== | ||
+ | ~~Title: Что такое chmod? Руководство по управлению правами доступа в Linux ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Узнайте, | ||
+ | }} | ||
+ | {{ :: | ||
+ | chmod — программа для изменения прав доступа к файлам и каталогам. Название происходит от программы ОС Unix chmod, которая, | ||
+ | |||
+ | * [[umask]] — функция изменяющая права доступа, | ||
+ | * [[find]] - наиболее эффективное средство поиска и «массовой обработки» файлов. Удобно использовать в связке с chmod. | ||
+ | |||
+ | Права устанавливаются командой chmod. Команда chmod поддерживает установку прав как в восьмеричном представлении, | ||
+ | |||
+ | * Назначение прав всем объектам текущего каталога, | ||
+ | chmod -R 755 * | ||
+ | </ | ||
+ | * Значениями по умолчанию являются (umask 0022):< | ||
+ | для файлов: | ||
+ | для директорий: | ||
+ | </ | ||
+ | * **Использование chmod.** Рекурсивно изменить права доступа файла_или_папки <file bash> | ||
+ | chmod -R 755 имя_файла_или_папки ( 7 - хозяин, | ||
+ | </ | ||
+ | * Сменить рекурсивно права на 640 на все файлы начиная с текущей директории: | ||
+ | </ | ||
+ | * Сменить рекурсивно права на 750 на все директории начиная с текущей директории:< | ||
+ | * Поиск файлов с установленным [[SUID]] -битом. Для GUID perm будет 02000< | ||
+ | find / -type f -perm -04000 -ls | ||
+ | 4335260 | ||
+ | 4326414 | ||
+ | ... | ||
+ | </ | ||
+ | * Рекурсивно удалить атрибуты [[SUID]] и SGID:< | ||
+ | chmod -R u-s,g-s directory | ||
+ | </ | ||
+ | |||
+ | **Популярные цифровые значения**: | ||
+ | |||
+ | * 777 (-rwxrwxrwx) Каждый пользователь может читать, | ||
+ | * 1555 (-r-xr-xr-t) Каждый пользователь имеет право читать и запускать на выполнение; | ||
+ | * 2555 (-r-xr-sr-x) **GUID** Каждый пользователь имеет право читать и запускать на выполнение с правами группы(user group) владельца файла. | ||
+ | * 2775 (drwxrwsr-x) **GUID** Созданные новые файлы всегда будут получать ту группу, | ||
+ | * 4555 (-r-sr-xr-x) **SUID** Каждый пользователь имеет право читать и запускать на выполнение с правами владельца файла | ||
+ | <panel type=" | ||
+ | Символ **s** - означает [[SUID]]-бит. Программа с этим битом выполняется от того пользователя, | ||
+ | chown user:users daemon | ||
+ | chmod ug+sx daemon | ||
+ | </ | ||
+ | |||
+ | * [[bash|Bash скрипт]] для рекурсивного изменения права доступа для вложенных файлов и каталогов.Cкрипт не понимает файлы и директории с пробелами. Для устранения ошибки, | ||
+ | <file bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | ROOT_DIR=$1 | ||
+ | DIR_PERM=$2 | ||
+ | FILE_PERM=$3 | ||
+ | |||
+ | for name in $(find ${ROOT_DIR}) | ||
+ | do | ||
+ | if [ -d $name ] | ||
+ | then | ||
+ | chmod ${DIR_PERM} ${name} | ||
+ | echo " | ||
+ | else | ||
+ | chmod ${FILE_PERM} ${name} | ||
+ | echo "FILE: ' | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | # | ||
+ | #/ | ||
+ | #/ | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | ====== Права доступа в Linux/Unux ====== | ||
+ | |||
+ | Поскольку [[Linux|Linux]] — система многопользовательская, | ||
+ | |||
+ | В основе механизмов разграничения доступа лежат имена пользователей и имена групп пользователей. В Linux каждый пользователь имеет уникальное имя, под которым он входит в систему (логируется). Кроме того, в системе создается некоторое число групп пользователей, | ||
+ | <alert type=" | ||
+ | |||
+ | В индексном дескрипторе каждого файла записаны имя так называемого владельца файла и группы, | ||
+ | |||
+ | Посмотреть права доступа на объекты можно командой ls или stat (которая выводим например права доступа сразу в символьном и цифровом виде). Утилита **ls**< | ||
+ | ls -l /bin/ls | ||
+ | -rwxr-xr-x 1 root root 110080 Янв 14 2015 /bin/ls | ||
+ | </ | ||
+ | stat /bin/ls | ||
+ | Доступ: | ||
+ | </ | ||
+ | |||
+ | <file bash> | ||
+ | | ||
+ | --- ----- ----- ----- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | Для назначения прав используются три группы флагов, | ||
+ | |||
+ | **Для файлов**: | ||
+ | |||
+ | **Для каталогов**, | ||
+ | |||
+ | |||
+ | <alert type=" | ||
+ | |||
+ | На практике для каталогов используется только три режима: | ||
+ | |||
+ | ===== Режим доступа к каталогу - 3 (-wx) ===== | ||
+ | |||
+ | Очень любопытный режим доступа к каталогу - 3 (-wx): он позволяет делать в директории все, что угодно, | ||
+ | |||
+ | В каталоге с режимом доступа 3 (-wx) можно создавать новые, переименовывать и удалять файлы и каталоги (если вы знаете их имя); читать, | ||
+ | |||
+ | Никакой рекурсивный поиск/ | ||
+ | |||
+ | В этом примере пользователь " | ||
+ | <file bash> | ||
+ | d-wx-wx-wx 2 user1 users 4096 Apr 1 12:00 my_directory | ||
+ | </ | ||
+ | Но не надо думать, | ||
+ | ===== Заключение ===== | ||
+ | Несколько команд, | ||
+ | * chown: Команда chown используется для изменения владельца и/или группы файла или директории. Пример использования:< | ||
+ | chown user:group my_file.txt | ||
+ | </ | ||
+ | * chgrp: Команда chgrp используется для изменения группы файла или директории. | ||
+ | * id: Команда id показывает информацию о текущем пользователе, |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга