Thechmod(режим на промяна) команда в Linux/UNIX се използва за задаване или промяна на разрешенията за файлове и директории. Всеки файл в Linux има собственик, група и свързани разрешения, които определят кой може да чете, пише или изпълнява файла. Използванеchmod Администраторите и потребителите могат да контролират тези разрешения, за да осигурят правилен достъп и сигурност. Нека разгледаме примера
Използвайте командата chmod, като дадете разрешение 745
команда:
chmod 745 newfile.txtИзход:
Разбивка на-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Таблица:
карти java
| Тип потребител | Разрешения | Двоичен | Стойност |
|---|---|---|---|
| Собственик | 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.txt (използва се за показване на всички разрешения, които a.txt има)След връщане или отмяна на промените:
Тук можем да видим, че са направени промениПрактическа реализация на това как да направите скрипт изпълним в Linux
В Linux скриптовете обикновено се пишат на езици като Bash Python или Perl. Въпреки че съдържанието на скрипта е от решаващо значение, също толкова важно е да се гарантира, че той има изпълними разрешения. Без разрешения за изпълнение Linux няма да позволи изпълнението на скрипта.
Стъпка 1: Навигирайте до директорията на скрипта
Отворете терминала и използвайтеcdкоманда за навигиране до директорията, където се намира вашият скрипт.
Например:
cd /path/to/your/scriptСтъпка 2: Проверете текущите разрешения
Използвайте ` ls` команда с ` -l` опция за изброяване на файловете в директорията заедно с техните разрешения. Тази стъпка ви помага да идентифицирате текущите разрешения на вашия скрипт:
ls -l
проверка на текущото разрешениеСтъпка 3: Направете изпълним файл на скрипта
За да направите изпълним скрипт, трябва да използвате `chmod`команда. Ако приемем, че вашият скрипт е наречен `example .sh` можете да го направите изпълним със следната команда:
java низ към цяло число
chmod +x example.shТази команда добавя разрешението за изпълнение (+x) към скрипта.
Стъпка 4: Проверете промените
Стартирайте ` ls -l` команда отново, за да проверите дали скриптът вече има разрешения за изпълнение. Трябва да видите 'x' в полето за разрешение за скрипта:
ls -l
проверка на промените след превръщането на скрипта в изпълнимСтъпка 5: Изпълнете скрипта
Сега, когато вашият скрипт има изпълними разрешения, можете да го стартирате с помощта на ` ./` нотация, последвана от името на скрипта. Например:
./example.sh
изпълнете скриптаТази нотация казва на Linux да търси в текущата директория (.) за посочения скриптexample.sh.
Кое цифрово разрешение гарантира, че само собственикът на файла може да чете и пише, докато групата и другите могат само да четат файла?
- А
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 ограничава изтриването на файлове до собствениците на файлове.
Тестът е завършен успешно Вашият резултат: 2/5Точност: 0%Влезте, за да видите обяснението 1/5 1/5 < Previous Следващ >