Команда Chown в Linux: Как да я използвате

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

Командата chown е най-полезният инструмент за това. За да не се бърка с chmod , chown може да променя собствеността на потребителя върху файлове и да ги присвоява на различни групи. Това е основна команда за овладяване за всеки сериозен потребител на Linux .

Ето ръководство, за да започнете.

Как да проверите собствеността(Ownership) върху файл(A File) ?

Преди да започнете да прехвърляте файлове между различни собственици и групи, първо трябва да научите как да проверявате текущия собственик на файл. Процесът е прост: добавянето на флаг -l към обикновена команда ls включва информация за собствеността на заявения файл или директория.

Да кажем(Say) , че имате файл, наречен example.txt. Ето как ще изглежда командата за преглед на информацията за собствеността:

ls -l example.txt

Използване на chown върху един файл

Най-лесният начин да използвате chown е да промените потребителя, притежаващ определен файл. Синтаксисът е sudo chown потребителско име име на файл, където потребителското име е името на потребителя, на когото искате да дадете файла, а името на файла е името на въпросния файл. Ето как изглежда на практика:

sudo chown someone_else example.txt

Обърнете внимание, че това не променя груповата собственост на файловете, а само потребителя. За да промените собственика на групата, трябва да използвате различен синтаксис – sudo chown :име на група име на файл

В този конкретен случай това става:

sudo chown :group2 example.txt

Можете също така да комбинирате двете команди в един ред, за да промените потребителя, както и груповата собственост на файл:

sudo chown me:group1 example.txt

Промяна на собствеността(Ownership) върху множество файлове(Multiple Files) с Chown

Промяната на собствеността на всеки файл поотделно е доста досадна, когато работите с по-голям брой файлове. За щастие, повечето команди на Linux(most Linux commands) ви позволяват да свържете няколко имена на файлове, разделени с интервали, в една команда. Като този:

sudo chown someone_else:group2 example1.txt example2.txt

Използвайте същия трик, за да проверите собствеността и върху множество файлове:

ls -l пример1.txt пример2.txt

Дори за комбиниране на няколко имена на файлове в една команда, процесът е твърде неудобен за повече от няколко файла. По-добър подход е да промените собствеността на цялото съдържание на директория наведнъж.

Това се постига чрез добавяне на флаг -R към командата chown. Това кара chown да премине през съдържанието на директорията и рекурсивно да промени собствеността на всеки файл вътре. Ето една демонстрация:

sudo chown -R some_else:group2 примери

Можем отново да използваме рекурсивния флаг, за да проверим собствеността върху файловете в папката с примери.

ls -l -R примери

Промяна на собствеността върху файла с UID

Системните администратори, управляващи много потребители, бързо ще се уморят да въвеждат потребителски имена многократно. Една единствена печатна грешка в някое от имената води до грешка при използването на chown, забавяйки значително нещата.

По-добра алтернатива е вместо това да използвате потребителския идентификатор. UID е четирицифрен номер, присвоен на всеки създаден потребител, започващ от 1000 и нагоре. Това е много по-лесно за въвеждане от низ и много по-малко податливо на грешки.

За да използвате този метод, просто заменете потребителското име с UID:

sudo chown 1001 example.txt

Ако не знаете UID на даден потребител, можете бързо да го проверите с командата id. Просто(Just) въведете id -u потребителско име, за да видите уникалния идентификатор на този потребител.

Този метод може да се разшири и за имена на групи. За да получите UID на групата за влизане на потребител и други групи, към които принадлежи, използвайте командата id без флага -u.

идентификационен номер на някой друг

Както можете да видите, имаме различни идентификатори на групи, към които принадлежи посоченият потребител. Събирайки всичко заедно, можем да използваме chown като този, за да зададем нов собственик и да променим групата на файл:

sudo chown 1001:1003 example.txt

Какво друго можете да правите с командата(Command) chown ?

Вече демонстрирахме повечето от обичайните употреби на chown. Вече можете да променяте потребители и групи, които притежават файл, чрез различни методи. Но това не е пълният предел на възможностите на командата.

Можете да се обърнете към официалните страници на ръководство за техническо описание и пълен списък с аргументи, които можете да използвате с командата. Просто(Just) въведете man chown в терминала, за да го видите.

Полезен ли е Chown?

Ако сте единственият потребител на вашия компютър, тогава никога няма да ви се наложи да използвате chown. Но ако използвате Linux система в професионална среда, било то търговски сървър или университетски компютър, тогава овладяването на командата chown (в допълнение към chmod ) е от изключително значение.

Възможността за присвояване и премахване на файлове на потребители и групи е от съществено значение за поддържането на строги граници в многопотребителски системи. Най-добрата част за chown е неговата гъвкавост – можете да работите с отделни файлове или цели директории с една и съща команда.

Можете също така да присвоите собственост на потребители и групи поотделно и в комбиниран отчет. Използван с по-удобните UID(UIDs) , той прави работата дори с най-сложните потребителски йерархии лесна.



About the author

Аз съм хардуерен инженер с над 10 години опит в работата с IOS и MacOS системи. Освен това бях учител във вечерен клас през последните 5 години и се научих да използвам Google Chrome. Уменията ми и в двете области ме правят перфектния кандидат за разработка на уебсайтове, графичен дизайн или работа по уеб сигурност.



Related posts