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

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

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

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

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

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

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

chmod 674 [file_name]

тук

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

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

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

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

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

Синтаксис:

chmod 766 filename

Таблица:

карти java
Тип потребителРазрешенияДвоиченСтойност
Собственик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` можете да го направите изпълним със следната команда:

java низ към цяло число
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 file.txt

  • б

    chmod 664 file.txt

  • В

    chmod 644 file.txt

  • г

    chmod 600 file.txt

Обяснение:

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

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

python rstrip
  • А

    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 (само изпълнение).

java формат низ

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

  • А

    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 Следващ >