Команда chmod в Linux с примери

Команда chmod в Linux с примери

The chmod (режим на промяна) команда в Linux/UNIX се използва за задаване или промяна на разрешенията за файлове и директории. Всеки файл в Linux има собственик, група и свързани разрешения, които определят кой може да чете, пише или изпълнява файла. Използване chmod Администраторите и потребителите могат да контролират тези разрешения, за да осигурят правилен достъп и сигурност. Нека разгледаме примера

Използвайте командата chmod, като дадете разрешение 745

команда:

 chmod 745 newfile.txt  

Изход:

chmod

Разбивка на -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 r-x --- Екипно изпълним файл; скрити от другите.
754 rwx r-x р-- Exec за група само за четене за други.
755 rwx r-x r-x Често: всеки може да стартира само вие да редактирате.
775 rwx rwx r-x Споделено в рамките на група (и собственикът, и групата могат да редактират/изпълняват).

Забележка: Опциите в `chmod` се използват основно за извършване на групови промени и модифициране на разрешения за множество файлове или директории наведнъж.

Ключови типове разрешения:

В Linux разрешения определя кой има контрол върху файл или директория. Тези разрешения указват кой може да чете (достъпва), пише (редактира или изтрива) или изпълнява (изпълнява) файл въз основа на потребителски роли: група собственици и други.

  • Прочетете ( r ): Позволява преглед на съдържанието на файла.
  • Напиши ( w ): Позволява модифициране на файл или директория.
  • Изпълнение ( x ): Позволява стартиране на файла като програма или влизане в директорията.

Примери за използване на осмичен режим:

Да предположим, че дадем разрешение за четене и запис на собственика на файла. Разрешение за четене и запис на групата. Разрешение само за четене за Другия. Те ще бъдат нашата команда.

 chmod 674 [file_name]  

тук

  • 6 представляват разрешение на собственика на файла, които са (rw-).
  • 7 представляват разрешение на групата, които са (rwx).
  • 4 представляват разрешение на Други, което е (r--).

Забележка: Можете да преглеждате и изчислявате разрешения за файлове, като например кой има достъп за четене, запис (изтриване или модифициране) или изпълнение на файл за групата собственици и други (обществени), като използвате chmod калкулатор.

калкулатор

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

Еквивалентно цифрово разрешение:

Синтаксис:

 chmod 766 filename  

Таблица:

Тип потребител Разрешения Двоичен Стойност
Собственик rwx 111 7
Група rw- 110 6
други rw- 110 6

Пример за връщане на промени, направени от командата '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.txtls -l a.txt   (използва се за показване на всички разрешения, които a.txt има)

След връщане или отмяна на промените:

връщане на промените в chmod в 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 .

Предложен тест Редактиране на тест 5 въпроса

Кое цифрово разрешение гарантира, че само собственикът на файла може да чете и пише, докато групата и другите могат само да четат файла?

  • А

    chmod 777 file.txt

  • б

    chmod 664 file.txt

  • В

    chmod 644 file.txt

  • г

    chmod 600 file.txt

Обяснение:

644 > собственик: rw- група: r-- други: r--.

Коя команда в символен режим отменя разрешението за изпълнение от само други без да докосвате правата за собственик или група?

  • А

    chmod a-x скрипт.sh

  • б

    chmod o-x скрипт.sh

  • В

    chmod go-x script.sh

  • г

    chmod u-x скрипт.sh

Обяснение:

o-x премахва правата за изпълнение само от „други“.

Коя конфигурация на chmod правилно кодира схема за разрешение, където собственикът има пълни оперативни права, групата има възможност само за извикване, а други могат просто да проверяват без модификация?

  • А

    chmod 751 app.sh

  • б

    chmod 754 app.sh

  • В

    chmod 715 app.sh

  • г

    chmod 571 app.sh

Обяснение:

751 > собственик: rwx група: r-x други: --x (само изпълнение).

Коя команда прилага модел на разрешение, гарантиращ, че всеки файл, създаден в директория, автоматично наследява групата на директорията, независимо от собствеността на потребителя?

  • А

    chmod +t споделена_директория/

  • б

    chmod g+s shared_dir/

  • В

    chmod u+s shared_dir/

  • г

    chmod 777 shared_dir/

Обяснение:

g+s (setgid) принуждава новите файлове да наследяват групата на директорията.

Скриптът трябва да бъде изпълним за всички потребители и да може да се променя само от собственика му, а директорията трябва да не позволява на всеки, освен на действителния собственик на файла, да изтрива или преименува файлове. Коя двойка команди удовлетворява този модел на сигурност?

  • А

    chmod 777 deploy.sh; chmod +t /var/скриптове

  • б

    chmod 755 deploy.sh; chmod +t /var/скриптове

  • В

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

  • г

    chmod 755 deploy.sh; chmod 777 /var/скриптове

Обяснение:

755 > собственикът пише всичко може да се изпълни; +t ограничава изтриването на файлове до собствениците на файлове.

Команда chmod в Linux с примериТестът е завършен успешно Вашият резултат:   2 /5 Точност:  0% Влезте, за да видите обяснението 1 /5 1 /5 < Previous Следващ >