logo

Команда chmod у Linux із прикладами

ThechmodКоманда (змінити режим) у Linux/UNIX використовується для встановлення або зміни прав доступу до файлів і каталогів. Кожен файл у Linux має власника, групу та відповідні дозволи, які визначають, хто може читати, записувати або виконувати файл. Використанняchmod Адміністратори та користувачі можуть контролювати ці дозволи, щоб забезпечити належний доступ і безпеку. Розглянемо приклад

Використовуйте команду chmod, надавши дозвіл 745

Команда:

chmod 745 newfile.txt

Вихід:



chmod' title=

Розбивка-rwxr--r-x:

  • Власник (7):rwx> читання, запис, виконання
  • Група (4):r--> тільки для читання
  • інші (5):r-x> прочитати та виконати

Ось файл:

  • Повністю доступний (читання/запис/виконання) власником
  • Тільки для читання для групи
  • Читати + виконувати для інших

Синтаксис команди chmod

chmod [options] [mode] [File_name] 

тут

  • Опції: Додаткові позначки, які змінюють поведінкуchmodкоманда.
  • режим: Дозволи, які потрібно встановити, представлені тризначним вісімковим числом або символьним позначенням (наприклад, u=rwgo=rx).
  • Ім'я_файлу: Ім'я файлу або каталогу, для якого потрібно змінити дозволи.

Параметри, доступні в chmod Command Linux

Ось кілька корисних варіантівchmodКоманда в Linux

РежимВласникГрупаіншіТипове використання для сценаріїв
700 rwx------Приватний скрипт (тільки ви можете запускати/редагувати).
711 rwx--x--xВиконуваний/тільки траверс; вміст не читається.
744 rwxр--р--Ви редагуєте та запускаєте; інші можуть читати (не виконувати).
750 rwxр-х---Виконуваний файл лише для команди; приховані від інших.
754 rwxр-хр--Exec для групи лише для читання для інших.
755 rwxр-хр-хЗагальне: усі можуть запускати редагування, лише ви.
775 rwxrwxр-хНадано спільний доступ у групі (і власник, і група можуть редагувати/запускати).

Примітка: Параметри в `chmod` в основному використовуються для масового внесення змін і зміни дозволів для кількох файлів або каталогів одночасно.

Основні типи дозволів:

У Linux дозволи визначити, хто має контроль над файлом або каталогом. Ці дозволи визначають, хто може читати (отримувати доступ), писати (редагувати або видаляти) або виконувати (запускати) файл на основі ролей користувачів: група власників та інші.

  • Прочитати ( r ): Дозволяє переглядати вміст файлу.
  • Напишіть ( w ): Дозволяє змінювати файл або каталог.
  • Виконати ( x ): Дозволяє запускати файл як програму або входити в каталог.

Приклади використання вісімкового режиму:

Припустімо, якщо ми надамо дозвіл на читання та запис власнику файлу. Дозвіл на читання та запис для групи. Дозвіл лише на читання для Іншого. Вони будуть нашим командуванням.

chmod 674 [file_name]

тут.

хеш-таблиця java
  • 6 представляють дозвіл власника файлу, який є (п-р-).
  • 7 представляють дозвіл групи, яка є (rwx).
  • 4 представляють дозвіл Іншого, який є (р--).

Примітка: За допомогоюchmodкалькулятор.

калькулятор' loading='lazy' title=

Тут ми використовуємо калькулятор для перегляду дозволів. Наприклад, власник має дозволи на читання, запис і виконання, тоді як група та інші (публічні) мають лише дозволи на читання та запис, але не можуть виконувати файл.

Еквівалентний числовий дозвіл:

Синтаксис:

chmod 766 filename

Таблиця:

хто такий фредді мерк'юрі
Тип користувачаДозволиДвійковийЗначення
Власникrwx1117
Групаrw-1106
іншіrw-1106

Приклад повернення змін, зроблених командою 'chmod' у Linux

Щоб скасувати або повернути зміни, внесені командою 'chmod' у Linux, ми можемо використати `chmod` команду знову, але цього разу ми повинні згадати правильний дозвіл, який нам потрібен. 

 Нижче наведено кроки для скасування чи повернення змін.

  • Визначте правильний дозвіл, який вам потрібен, і знову скористайтеся командою `chmod`. 
    Наприклад: якщо ми хочемо повернути зміни до «rw-r--r--» (дозвіл на читання та запис для дозволу власника лише на читання для групи та інших), відповідно до цього наше вісімкове значення буде «644» (читання = 4 запис=2).
  • Тепер відкрийте каталог і напишіть дану команду:
    chmod 644 [file_or_directory_name]   

Тут замість '[file_or_directory_name]' використовуйте назву вашого файлу або каталогу.

Припустімо, що наш файл називається "a.txt"

Перед поверненням або скасуванням змін:

ls -l a.txt' loading='lazy' title=ls -l a.txt   (використовується для відображення всіх дозволів, які має a.txt)

Після повернення або скасування змін:

повернення змін chmod у Linux' loading='lazy' title=Тут ми бачимо, що зміни внесено

Практична реалізація того, як зробити сценарій виконуваним у Linux

У Linux сценарії зазвичай пишуться такими мовами, як Bash Python або Perl. Хоча вміст сценарію має вирішальне значення, не менш важливим є забезпечення дозволів на його виконання. Без дозволів на виконання Linux не дозволить запустити сценарій.

Крок 1. Перейдіть до каталогу сценарію

Відкрийте термінал і використовуйтеcdкоманду для переходу до каталогу, де розташований ваш сценарій.

Наприклад:

cd /path/to/your/script

Крок 2. Перевірте поточні дозволи

Використовуйте ` ls` команда з ` -l` опція для переліку файлів у каталозі разом із їхніми дозволами. Цей крок допоможе вам визначити поточні дозволи вашого сценарію:

ls -l
перевірка поточного дозволу' loading='lazy' title=перевірка поточного дозволу

Крок 3: Зробіть сценарій виконуваним

Щоб зробити сценарій виконуваним, вам потрібно використовувати `chmod`команда. Припустимо, що ваш сценарій має назву `example .sh` ви можете зробити його виконуваним за допомогою такої команди:

анотації для пружинного завантаження
chmod +x example.sh

Ця команда додає до сценарію дозвіл на виконання (+x).

Крок 4: Перевірте зміни

Запустіть ` ls -l` команду ще раз, щоб переконатися, що сценарій тепер має дозволи на виконання. Ви повинні побачити «x» у полі дозволу для сценарію:

ls -l
перевірка змін після створення сценарію для виконання' loading='lazy' title=перевірка змін після створення сценарію для виконання

Крок 5: Виконайте сценарій

Тепер, коли ваш сценарій має дозволи на виконання, ви можете запустити його за допомогою ` ./` нотація, за якою йде назва сценарію. Наприклад:

./example.sh
виконати сценарій' loading='lazy' title=виконати сценарій

Ця нотація вказує Linux шукати в поточному каталозі (.) для сценарію під назвоюexample.sh.

Запропонована вікторина Редагувати вікторину 5 Питань

Який числовий дозвіл гарантує, що лише власник файлу може читати та писати, тоді як група та інші можуть лише читати файл?

  • А

    файл chmod 777.txt

  • Б

    файл chmod 664.txt

  • C

    файл chmod 644.txt

  • Д

    файл chmod 600.txt

Пояснення:

644 > власник: rw- група: r-- інші: r--.

Яка команда символічного режиму скасовує дозвіл на виконання тільки інші не торкаючись прав власника чи групи?

конкатенація рядка Java
  • А

    chmod a-x script.sh

  • Б

    chmod o-x script.sh

  • C

    chmod go-x script.sh

  • Д

    chmod u-x script.sh

Пояснення:

o-x позбавляє права виконання лише від «інших».

Яка конфігурація chmod правильно кодує схему дозволів, де власник має повні операційні повноваження, група має можливість лише виклику, а інші можуть лише перевіряти без змін?

  • А

    chmod 751 app.sh

  • Б

    chmod 754 app.sh

  • C

    chmod 715 app.sh

  • Д

    chmod 571 app.sh

Пояснення:

751 > власник: rwx група: r-x інші: --x (лише виконання).

клас математики java

Яка команда застосовує модель дозволу, яка гарантує, що кожен файл, створений у каталозі, автоматично успадковує групу каталогу незалежно від власності користувача?

  • А

    chmod +t спільний_каталог/

  • Б

    chmod g+s shared_dir/

  • C

    chmod u+s shared_dir/

  • Д

    chmod 777 shared_dir/

Пояснення:

g+s (setgid) змушує нові файли успадковувати групу каталогу.

Сценарій має бути виконуваним для всіх користувачів, і його може змінювати лише його власник, а каталог має забороняти будь-кому, крім фактичного власника файлу, видаляти або перейменовувати файли. Яка пара команд задовольняє цю модель безпеки?

  • А

    chmod 777 deploy.sh ; chmod +t /var/scripts

  • Б

    chmod 755 deploy.sh ; chmod +t /var/scripts

  • C

    chmod 700 deploy.sh ; chmod g+s /var/scripts

  • Д

    chmod 755 deploy.sh ; chmod 777 /var/scripts

Пояснення:

755 > власник пише, що всі можуть виконуватися; +t обмежує видалення файлів власникам файлів.

Команда chmod у Linux із прикладамиВікторина виконана успішно. Ваш результат:  2/5Точність: 0%Увійдіть, щоб переглянути пояснення 1/5 1/5 < Previous Далі >