logo

Як зробити сценарій виконуваним у Linux | Команда chmod

В операційних системах Unix chmod Команда використовується для зміни режиму доступу до файлу. Назва є абревіатурою від змінити режим . У якому сказано, що кожен файл і каталог мають набір дозволів, які контролюють дозволи, наприклад, хто може читати, писати або виконувати файл. У цьому дозволи мають три категорії: читання, запис і виконання, одночасно представлені `r`, `w` і `x`. Ці літери поєднуються, щоб сформувати окремий дозвіл для групи користувачів.

Команда `chmod` використовується для зміни цього дозволу, щоб він міг надавати або обмежувати доступ до каталогів і файлів. Давайте розглянемо синтаксис і параметри команди `chmod` в операційній системі Linux.

Зміст



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

chmod [options] [mode] [File_name]>

тут,

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

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

Опції опис
`-R` Застосуйте зміну дозволу рекурсивно до всіх файлів і каталогів у вказаному каталозі.
`-v` Він відображатиме повідомлення для кожного обробленого файлу. вказуючи зміну дозволу, яку було зроблено.
`-c` Він працює так само, як `-v` але в цьому випадку він відображає лише повідомлення для файлів, дозвіл на які змінено.
`-f` Це допомагає уникнути відображення повідомлень про помилки.
`-h` Змініть дозволи для символічних посилань замість файлів, на які вони вказують.

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

Режими в команді chmod в Linux

Режим допомагає встановлювати нові дозволи, які мають бути застосовані до файлів або каталогів.

Цей режим можна вказати кількома способами, ми обговоримо два режими: символічний і вісімковий.

1) Символічний режим

Якщо говорити про символьний режим, то можна сказати, що це найпоширеніший метод, який використовується для вказівки дозволів ялиці. У цьому ми повинні зробити комбінацію листи і оператори встановити або сказати, що робити з дозволами.

У символьному режимі можна використовувати такі оператори:

Оператори Визначення
`+` Додайте дозволи
`-` Видалити дозволи
`=` Встановіть дозволи на вказані значення

У символьному режимі можна використовувати такі літери:

Листи Визначення
`r` Дозвіл на читання
`w` Написати дозвіл
`x` Виконати дозвіл

Використовуються наступні посилання:

довідка Клас
в Власник
g Група
О інші
a Усі (власник, групи, інші)

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

  • Дозволи власника файлу на читання, запис і виконання:
  chmod u+rwx [file_name]>
  • Скасувати дозвіл на запис для групи та інших:
  chmod go-w [file_name]>
  • Читання та запис для власника, лише читання для групи та інше:
  chmod u+rw,go+r [file_name]>

2) Вісімковий спосіб

Це також метод визначення дозволів. У цьому методі ми вказуємо дозвіл за допомогою тризначного числа. Де..

  • Перша цифра вказати дозвіл для Власника.
  • Друга цифра вкажіть дозвіл для групи.
  • Третя цифра вкажіть дозвіл для Інших. Цифри

ПРИМІТКА: Цифри обчислюються додаванням значень окремих дозволів.

Значення Дозвіл
4 Дозвіл на читання
2 Дозвіл на запис
1 Дозвіл на виконання

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

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

 chmod 674 [file_name]>

тут

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

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

Розуміння виконання сценаріїв у Linux

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

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

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

Наприклад:

cd /path/to/your/script>

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

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

ls -l>
перевірка поточного дозволу

перевірка поточного дозволу

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

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

chmod +x example.sh>

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

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

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

ls -l>
перевірка змін після створення сценарію для виконання

перевірка змін після створення сценарію для виконання

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

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

./example.sh>
виконати сценарій

виконати сценарій

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

Часті запитання щодо chmod – поширені запитання

Як переглянути поточні права доступу до файлу чи каталогу?

ls -l>

усі дозволи, які має поточний каталог

Щоб переглянути всі дозволи, які має певний каталог або файл.

ls -l example>

перелічено всі дозволи, які має цей файл.

Ось приклад file_name.

ubuntu яка команда

Які існують різні типи дозволів у Linux і що вони означають?

У Linux є три типи дозволів:

читати (`r`)

писати (`w`)

виконувати ('x')

1 мільйон номер

Вони застосовуються до:

власник ('in')

група (`g`)

інший (`о`)

Що таке chmod 777, chmod 755 і chmod +x або chmod a+x?

chmod 777 [file_name]>

Ця команда надає всі три дозволи всім (власнику, групі та іншим)

chmod a+x [file_name]>

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

chmod 755 [file_name]>

У цьому випадку власник може писати, читати та виконувати файл, група та інші можуть лише читати та виконувати файл.

Як ми можемо скасувати зміни, зроблені командою 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 (використовується для відображення всіх дозволів, які має a.txt)

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

    Тут ми бачимо, що зміни внесено

    Висновок

    The `chmod` Команда в Linux використовується для зміни дозволів і режиму доступу до файлів і каталогів. Це дозволи, які контролюють, хто може читати, писати та виконувати файл. Ми обговорили два типи режимів для визначення дозволу: символічний і вісімковий режим. У символьному режимі для визначення дозволу використовуються літери та оператори. Тоді як у вісімковому є тризначне число для визначення дозволу. The `chmod` Команда також надає деякі параметри для групових змін, наприклад: `-R` для рекурсивного і `-v` і `-c` для відображення повідомлення. Загальний висновок такий `chmod` Команда в Linux є дуже важливим інструментом для керування дозволами на файли та каталоги.

    ?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L