unix permissions file permissions unix with examples
Разрешения на Unix: Научете какви са различните разрешения за файлове в Unix
Unix е многопотребителска система, при която едни и същи ресурси могат да се споделят от различни потребители.
Всички разрешения в Unix се основават на ограничаване на достъпа до конкретни файлове и папки до конкретни потребители или потребителски групи.
=> Щракнете тук за пълната серия на уроците за Unix
Какво ще научите:
- Разрешения на Unix: Разрешения за файлове с примери
- Инструменти на командния ред на Unix за промяна на разрешенията за достъп
- Заключение
- Препоръчително четене
Разрешения на Unix: Разрешения за файлове с примери
Достъпът до файл има три нива:
- Разрешение за четене - Ако е упълномощен, потребителят може да прочете съдържанието на файла.
- Разрешение за писане - Ако е упълномощен, потребителят може да модифицира файла.
- Изпълнение на разрешение - Ако е упълномощен, потребителят може да изпълни файла като програма.
Всеки файл е свързан с набор от идентификатори, които се използват, за да се определи кой има достъп до файла:
- User ID (UID) - Посочва потребителя, който притежава файла. По подразбиране това е създателят на файла.
- Идент. № на групата (GID) - Посочва потребителската група, към която принадлежи файлът.
И накрая, има три набора разрешения за достъп, свързани с всеки файл:
- Потребителско разрешение - Указва нивото на достъп, предоставено на потребителя, съответстващо на UID на файла.
- Разрешение за група - Указва нивото на достъп, предоставено на потребители в групи, съответстващи на GID на файла.
- Разрешение на други - Указва нивото на достъп, предоставено на потребителите без съответстващ UID или GID.
Заедно тази схема за контрол на достъпа прави системата Unix изключително сигурна, като същевременно осигурява гъвкавостта, изисквана от многопотребителска система.
The ls -l команда може да се използва за преглед на разрешенията, свързани с всеки от файловете в текущата папка.
Примерен изход на тази команда е даден по-долу.
Пример:
знамена връзки собственик размер на групата модифицирана дата име
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
В този изход „общо 24“ показва общия брой блокове, заети от изброените файлове.
Останалите колони са:
- знамена - Колекция от флагове, указващи файловия режим и разрешенията на файла.
- връзки - Броят на връзките, свързани с файла.
- собственик - UID, който притежава файла.
- група - GID, свързани с файла.
- размер - Размерът на файла в байтове.
- модифицирана дата - Месецът, датата, часът и минутата на последната модификация на файла.
- име - Името на файла или директорията.
Флаговете в първата колона указват файловия режим и различните набори разрешения:
# 1) Първият знак показва вида на файла:
най-добрият текстов редактор за прозорци на python
- -: представлява обикновен файл
- d: представлява директория
- c: представлява файл с устройство на символи
- b: представлява файл на блоково устройство
# 2) Следващите три знака показват потребителски разрешения:
- Първият от тези три показва дали потребителят има разрешение за четене:
-
- -: показва, че потребителят няма разрешение за четене.
- r: показва, че потребителят има разрешение за четене.
-
- Вторият знак показва дали потребителят трябва да напише разрешение:
-
- -: показва, че потребителят няма разрешение за запис.
- w: показва, че потребителят трябва да напише разрешение.
-
- Последният знак показва дали потребителят е изпълнил разрешение:
-
- -: показва, че потребителят не трябва да изпълнява разрешение.
- x: показва, че потребителят е изпълнил разрешение.
-
# 3) Следващите три знака показват групови разрешения, подобно на потребителските разрешения по-горе.
# 4) Последните три знака показват публични разрешения, подобно на потребителските разрешения по-горе.
В случай, че файлът е обикновен файл, разрешението за четене позволява на потребителя да отвори файла и да провери съдържанието му. Разрешението за запис позволява на потребителя да променя съдържанието на файла. И разрешението за изпълнение позволява на потребителя да стартира файла като програма.
В случай, че файлът е директория, разрешението за четене позволява на потребителя да изброи съдържанието на директорията. Разрешението за запис позволява на потребителите да създават нов файл в директорията и да премахват файл или директория от него. Разрешението за изпълнение позволява на потребителя да извърши търсене в директорията.
Инструменти на командния ред на Unix за промяна на разрешенията за достъп
Unix предоставя редица инструменти за команден ред за промяна на разрешенията за достъп:
Имайте предвид, че само собственикът на файла може да промени разрешенията за достъп.
1. chmod : промяна на разрешенията за достъп до файлове
- описание: Тази команда се използва за промяна на разрешенията за файлове. Тези разрешения се четат, пишат и изпълняват разрешения за собственика, групата и други.
- синтаксис (символен режим) :
chmod (ugoa)((+-=)(mode)) file
- Първият незадължителен параметър показва кой - това може да бъде (u) ser, (g) roup, (o) thers или (a) ll
- Вторият незадължителен параметър посочва opcode - това може да бъде за добавяне (+), премахване (-) или присвояване (=) разрешение.
- Третият незадължителен параметър показва режима - това може да бъде (r) ead, (w) rite или e (x) ecute.
Пример :Добавете разрешение за писане за потребител, група и други за файл1
$ ls -l
-rw-r – r– 1 потребителски персонал 39 юни 21 15:37 файл1
-rw-r – r– 1 потребителски персонал 35 юни 21 15:32 file2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 потребителски персонал 39 юни 21 15:37 файл1
-rw-r – r– 1 потребителски персонал 35 юни 21 15:32 file2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 потребителски персонал 39 юни 21 15:37 файл1
-rw-r – r– 1 потребителски персонал 35 юни 21 15:32 file2
- синтаксис (цифров режим) :
chmod (mode) file
- Режимът е комбинация от три цифри - първата цифра показва разрешението за потребителя, втората цифра за групата, а третата цифра за останалите.
- Всяка цифра се изчислява чрез добавяне на свързаните разрешения. Разрешението за четене е „4“, разрешението за запис е „2“, а разрешението за изпълнение е „1“.
- Пример :Дайте разрешение за четене / запис / изпълнение на потребителя, разрешение за четене / изпълнение на групата и изпълнение на други.
$ ls -l
-rw-r – r– 1 потребителски персонал 39 юни 21 15:37 файл1
-rw-r – r– 1 потребителски персонал 35 юни 21 15:32 file2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 потребителски персонал 39 юни 21 15:37 файл1
-rw-r – r– 1 потребителски персонал 35 юни 21 15:32 file2
2. чауун : промяна на собствеността върху файла.
- описание : Само собственикът на файла има права да промени собствеността на файла.
- синтаксис : chown (собственик) (файл)
- Пример :Променете собственика на файл1 на потребител2, като приемете, че в момента той е собственост на текущия потребител
$ chown user2 file1
3. chgrp : промяна на собствеността на групата върху файла.
- описание : Само собственикът на файла има права да промени собствеността на файла.
- синтаксис : chgrp (група) (файл)
- Пример :Променете групата на файл1 на група2, ако приемете, че в момента е собственост на текущия потребител.
$ chgrp group2 file1
Докато създава нов файл, Unix задава разрешенията за файлове по подразбиране. Unix използва стойността, съхранена в променлива, наречена umask, за да реши разрешенията по подразбиране. Стойността umask казва на Unix кой от трите набора разрешения трябва да бъде деактивиран.
Флагът се състои от три осмични цифри, всяка от които представлява маските за разрешения за потребителя, групата и други. Разрешенията по подразбиране се определят чрез изваждане на стойността на umask от „777“ за директории и „666“ за файлове. Стойността по подразбиране на umask е ‘022’.
4. umask : промяна на разрешенията за достъп по подразбиране
генератор на случайни числа 0-1
- описание: Тази команда се използва за задаване на разрешенията за файлове по подразбиране. Тези разрешения се четат, пишат и изпълняват разрешения за собственик, група и други.
- синтаксис : umask (режим)
- Режимът е комбинация от три цифри - първата цифра показва разрешението за потребителя, втората цифра за групата, а третата цифра за останалите.
- Всяка цифра се изчислява чрез добавяне на свързаните разрешения. Разрешението за четене е „4“, разрешението за запис е „2“, а разрешението за изпълнение е „1“.
Пример :Дайте разрешение за четене / писане / изпълнение на потребителя и няма разрешения за група или други. т.е. разрешението за файлове ще бъде 600, а за директориите ще бъде 700.
$ umask 077
- Пример :Дайте разрешение за четене / запис / изпълнение на потребителя, разрешения за четене / изпълнение на група или други за директории и разрешение само за четене на група или други за други файлове. т.е. разрешението за файлове ще бъде 644, а за директориите ще бъде 755.
$ umask 022
Заключение
Разрешенията в Unix могат да бъдат за „потребител“, „група“ и за всички потребители, наречени „Други“.
Подробностите като знамена за разрешение, брой връзки, собственик, група, размер, дата на последната модификация, файл и т.н., могат да бъдат получени просто с командата „ls-l“
=> Щракнете тук за пълната серия на уроците за Unix
Препоръчително четене
- Разрешения за достъп до файлове на Unix: Unix Chmod, Chown и Chgrp
- Изрежете командата в Unix с примери
- Файлова манипулация в Unix: Преглед на файловата система Unix
- Команди на Unix: Основни и разширени команди на Unix с примери
- Команда за намиране в Unix: Намиране на файлове с Unix Find File (примери)
- Урок за UNIX за начинаещи (20+ задълбочени видеоклипове за обучение на Unix)
- Команди на Unix за обработка на текст: Unix филтри с примери
- Специални символи или метасимволи на Unix за манипулиране с файлове