Използването на файлове и директории в Linux е задача, която работим ежедневно или на сървъри, или на настолни компютри, и нещо важно, което трябва да знаем за това е, че всеки от файловете и директориите в операционните системи Linux има собственик, който е собственик. човек, който е създал споменатия обект и има специални разрешения за тях, това е мярка за сигурност, която не позволява на други хора да правят промени в тях.
Най-често срещаният проблем със сигурността в Linux среди е, че като многопотребителска система можем да създаваме желаните от нас потребителски акаунти и тези хора ще имат достъп до системата и с необходимите знания ще имат достъп до файловете на други потребители на система, за да предотврати това, системата Linux използва свойството на обект, който се състои от потребители и групи, които създават и редактират файловете, това свойство може да се приеме като потребителски идентификатор и идентификатор на група (GID).
В някои специфични случаи може да искаме да променим свойството на обект и за това командата chown е идеална, тъй като ни позволява да дефинираме нов собственик, нова група или и двете едновременно (нов собственик и нова група).
ЗабележкаСамо собственикът на файл може да промени собствеността на групата, но само главният потребител може да промени собствеността на потребителя.
Може да изглежда като не толкова важен въпрос, но в конкретни ситуации би било идеално да редактирате свойството на файл, например:
- Ако отидете на почивка и трябва да помолите приятел да редактира файлове вместо вас.
- Ако потребител напусне компанията, е необходимо да прехвърли това собственост на новия потребител.
- Създаване на скриптове, които ще бъдат изпълнени от конкретен потребител.
- Прехвърляне на обекти и така нататък.
В Linux имаме три основни типа разрешения, свързани с файлове, които са:
- Потребителски разрешения: тези разрешения се прилагат към един потребител, който има пълен достъп до файла, това е потребителят собственик.
- Групови разрешения: с тези разрешения можем да позволим на група потребители да имат достъп до файла, това се нарича група собственици.
- Други разрешения могат да бъдат приложени към други потребители на системата с определени ограничения.
Погледнато по този начин, когато се създава файл, собственикът е потребителят, който го е създал, а собствената група е текущата група на потребителя, който е създал файла.
Общият синтаксис за използване на командата chown е следният:
chown [-c | --changes] [-v | --verbose] [-f | --silent | --quiet] [--dereference] [-h | --no-dereference] [--preserve-root ] [--от = текущ собственик: текуща група] [--no-консервиране-корен] [-R | --рекурсивен] [--preserve-root] [-H] [-L] [-P] {нов собственик | --reference = ref-file} файл…
1. Как да преглеждате групи, UID и GID в Linux
Етап 1
Нека започнем със същественото нещо, което е да определим групите, UID и GID, налични в операционната система, да изброим наличните групи, просто изпълнете следното:
групи
Стъпка 2
Сега за достъп до списъка с групи, техните цифрови идентификатори и съответните им UID и GID, трябва да използваме командата id:
отивам
Стъпка 3
Някои параметри за използване с командата id са:
илиИзбройте UID.
-gИзбройте текущия GID
-гнуИзбройте потребителското име.
-ngОбщо име на текущата група.
2. Как да видите собственика и разрешенията на Linux файл
Ако искаме да покажем собственика на файл или директория, просто използваме параметъра -l (дълъг списък) с ls:
ls -l (файл)
Можете да видите определени букви и цифри, които означават:
Няма достъп
0 = ---
Екзекуция
1 = --x
Писане
2 = -w-
Писане и изпълнение
3 = -wx
Четене
4 = r--
Четене и изпълнение
5 = r-x
Четене и писане
6 = rw-
Четете, пишете и изпълнявайте
7 = rwx
В показания ред името вляво се отнася до собственика на файла, а името отдясно се отнася до факта, че файлът принадлежи към група с изведеното име.
3. Как да смените собственика на Linux файл
Етап 1
За да променим собственика на файл, трябва да знаем потребителското име и след това да изпълним следния синтаксис:
sudo chown "нов собственик" "файл"
Стъпка 2
Ако отново използваме ls -l, проверяваме дали собственикът на въпросния файл е променен:
Стъпка 3
Със същия метод можем да променим собственика на няколко файла едновременно:
sudo chown "Нов потребител" "Файл" "Файл1" "Файл2"Практичен начин за установяване на нови собственици е използването на заместващи символи, които ни позволяват да избираме групи файлове, например, ако искаме да сменим собственика на всички файлове, които започват с буквата „s“, която изпълняваме:
sudo chown "Нов потребител" s *. *Стъпка 4
След това можем да проверим разрешенията на споменатия потребител, като изпълним:
ls -l Solvertic1 S *. *
Стъпка 5
Ако нашата цел сега е да променим собствеността на директория, трябва да въведем името на директорията заедно с командата chown, както следва:
sudo chown "потребител" "./directory/"
Стъпка 6
За да проверим свойствата на ниво собственик на директорията, ще комбинираме параметъра ls с опцията -d (dir), за да изброим свойствата на директорията, но не и файловете, хоствани в нея:
ls -l -d ./Solvetic3/
Стъпка 7
Ако искаме да променим собствеността на всички файлове в директория в Linux, трябва да използваме опцията -R (рекурсивна), която ще промени собствеността на потребителя, присвоен на файловете в избраната директория:
sudo chown -R решет./Solvetic3/
4. Как да промените собствената група на Linux
Друга възможност, предлагана от командата chown, е да промените групата на файл или директория.
Етап 1
Например, можем да променим собствеността на групата едновременно с потребителя, за това въвеждаме новото име на собственика и новото име на групата с двоеточие ":", както следва:
sudo chown solutiontic: SolveticTest Solvetic.docxМожем да проверим разрешенията, като изпълним:
ls -l Solvetic.docx
Стъпка 2
Друга налична опция за дефиниране на нова група собственици е като въведете двоеточие и пропуснете името на групата по следния начин:
sudo chown solutiontic: Solvetic.docxТова ще предостави групата по подразбиране на текущия потребител:
Стъпка 3
За да променим само свойството на групата, но не и потребителя, трябва да въведем двоеточие и да пропуснем името на потребителя:
sudo chown: SolveticTest Solvetic.docx
Променете собственика, като използвате UID и GIDДруг начин, по който трябва да променим собствениците, е да използваме UID или GID на потребителя или групата, които познаваме чрез изпълнение на командата id, например, потребителят и групата Solvetic имат UID 1000, присвоен на двата обекта, така че това действие ще изпълним следното:
sudo chown 1000: 1000 Solvetic.docx
5. Общи опции за използване на командата chown Linux
Ето някои от параметрите, които можем да използваме с chown в Linux, за да оптимизираме използването на командата:
Показва информацията за променените файлове
-c, - промени
Показва подробна информация за всеки обработен файл
-v, - многословен
Не генерира никакъв изход
-f, --silent, --quiet
Не прилага никаква препратка към символни връзки
-изключение
Никога не пренебрегвайте символните връзки
-h, --no-dereference
Променете собственика или групата на всеки файл само ако настоящият собственик или група съвпада с настоящия собственик и / или текущата група
--от = текущ собственик: текуща група
Това не засяга основната директория
--no-консервиране-корен
Използвайте собственика и групата от файла ref-файл, вместо да присвоявате собствеността с нов собственик.
--reference = ref-файл
Действа на файлове и директории рекурсивно
-R, --рекурсивно
В случай, че файл в командния ред е символична връзка към директория, той ще работи и върху тези файлове и директории.
-Х
Показва използваната версия на chown
--версия
Показва помощната команда
--помогне
Можем да видим как редактирането на собственика на потребител или група обекти в Linux е лесно благодарение на chown.