Когато срещнете проблем с разрешенията за файлове в Linux, доста често източникът на вашето безсилие ще има нещо общо с настройките, отнасящи се или до собственика на файла, или до групата. До голяма степен е неизбежно, че ако използвате Linux редовно, в един или друг момент, ще трябва да промените собственика или настройката на групата на файл или директория, за да отстраните проблем.
В тази статия ще демистифицираме концепциите за собствениците и групите на Linux файлове и ще ви покажем как те влияят на това кой може да има достъп и да манипулира данните във вашата система.
Как да намерите собственик и група на файл в Linux
В командния ред на Linux можете да видите както настройките за разрешения на собственика, така и за групата, като използвате ls -l (това е тире с малка буква L) команда. В -л switch ще форматира списъка в колони, които ви дават повече подробности за вашите файлове от стандартната команда ls изход.
Първата колона показва типа на файла и неговите настройки за разрешения. Втората колона показва броя на връзките към файла (обикновено 1). Третият и четвъртият показват съответно собственика и групата. Те често (но не винаги) са еднакви.
Настройките, показани в първата колона, представляват битовете, които определят разрешенията за файлове в Linux. Първият знак представлява типа на файла. Например, "-" означава обикновен файл, а "d" представлява директория. Следните три бита (маркирани по-горе) представляват разрешенията на собственика на файла -r за четене, w за писане и х за изпълнение.
Всяко разрешение, което не е активирано, ще се покаже като тире. След това, в третата колона на списъка с директория, виждате потребителя, който притежава файла.
Вторият набор от три бита в тази първа колона (маркиран по-горе) представлява разрешенията за групата, която има достъп до този файл. Те работят по същия начин, както по-горе. Те ще бъдат или тире, или едно от r, w и x.
Как да промените собственика на файл в Linux
С повечето дистрибуции на Linux ще трябва да сте root потребител или a потребител с административни права (т.е. можете да използвате sudo), за да промените собственика на файл или директория.
Предоставянето на собственост върху файл или директория на всеки потребител ще даде на този потребител пълна свобода да прави каквото пожелае с файла. Те ще могат да го четат, променят, изтриват и променят разрешенията, които диктуват какво могат да правят другите потребители на системата с него.
За да промените собственика на файл или директория, използвайте chown команда със следния формат:
sudo chown
Промяната на собственика на файл няма да засегне груповите настройки или разрешенията за този файл.
Как да промените груповата настройка на файл в Linux
Ако сте собственик на файл, можете да промените неговите групови настройки на всяка съществуваща група. Ако не сте собственик, ще имате нужда от root или sudo привилегии.
За да промените груповия достъп до файл или директория, използвайте chgrp команда със следния формат:
chgrp
Това ще даде на всички членове на избраната група достъп до файла или директорията в съответствие с настройките за разрешение на групата на елемента.
Как да промените собственика и групата на файл едновременно
Ако трябва да промените настройките както на собственика, така и на групата на файл или директория, можете да го направите с една команда. Тъй като това включва смяна на собственика, ще трябва да имате привилегии на суперпотребител.
За да постигнете това, използвайте chown команда както по-горе, но посочете както новия собственик, така и новата група, разделени с двоеточие, без интервали.
sudo chown :
Как да създадете група с помощта на терминала на Linux
Групите ви позволяват бързо и лесно да зададете права за достъп на множество потребители. Потребителите на Linux система могат да бъдат членове на повече от една група едновременно. Ще трябва да сте root потребител или да имате sudo привилегии, за да създавате групи.
За да добавите нова група към системата, използвайте groupadd команда.
sudo groupadd
За да се уверите, че вашата група е създадена, можете да използвате getent команда, за да изброите всички групи или да я комбинирате с grep да потърся конкретна група.
getent група
getent група | grep
Ако изходът от командата показва името на групата, която се опитвате да създадете, това означава, че тя е създадена успешно и можете да добавяте потребители към нея. Можете също да разгледате нашето ръководство за управление на групи в Linux за по-подробна информация относно създаването на нови групи.
Как да добавите потребител към група в Linux
Добавянето на потребител към група се извършва с потребителски мод команда. Отново ще ви трябват привилегии на суперпотребител и и потребителят, и групата трябва вече да съществуват. Следната команда ще добави потребител към група:
sudo usermod -a -G
В -а switch в командата по-горе означава добавете и е важно. Ако добавите потребител към група, без да използвате -а флаг, потребителят ще бъде премахнат от всички други групи, в които вече може да е част. В -Г флагът означава, че искате да добавите потребителя към името на групата след превключвателя.
Как да премахнете потребител от група
Премахването на потребител от група става с gpasswd команда. Въведете командата (с помощта на sudo) в следния формат.
sudo gpasswd -d
Това ще изтрие посочения потребител от посочената група, оставяйки всички други членове на групата непокътнати.
Как да премахнете група с помощта на терминала на Linux
И накрая, последното нещо, което трябва да знаете, за да управлявате групи във вашата система, е да премахнете група. Първо, важно е да се отбележи, че групата трябва да е празна. Ако групата, която искате да премахнете, е малка, можете да използвате командата по-горе, за да премахнете ръчно всеки член.
Ако групата има повече от шепа членове и трябва да ги премахнете, преди да изтриете групата, можете да ги премахнете всички наведнъж с groupmems команда. Въведете командата със следния формат, за да премахнете всички потребители от конкретна група:
sudo groupmems -p -g
След като всички членове бъдат премахнати от групата, можете да изтриете групата от системата с groupdel команда, както следва.
sudo groupdel
Потребителските групи на Linux ви дават по-голям контрол
С командите по-горе ще можете да управлявате настройките за достъп на собственика и групата за всеки файл или директория във вашата Linux система.
Ако вие или потребител на вашата система имате проблеми с достъпа до нещо, уверете се, че разрешенията на собственика и групата са правилно зададени, често е добра първа стъпка към намирането на решението.
За начинаещи, които не обичат да си играят твърде често с командния ред, ето как да променяте разрешенията за файлове с помощта на графични настолни компютри на Linux.
Прочетете Следващото
- Linux
- Управление на файлове
- Linux команди
- Linux Elementary
- Потребителски групи
JT е ветеран в технологичната индустрия с повече от 25 години опит. От техническа поддръжка до програмиране и системна администрация, той е направил всичко. Той особено обича да учи новите потребители на свободата и силата на Linux.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате