Автор: Stuffy
Основни Linux команди (втора част)

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

Създаване на лична директория за нов потребител. За целта трябва да влезете в системата като root и след това да извършите всичко необходимо. Обаче файловете и директориите, които създавате, ще бъдат собственост на root. За това след като свършите, трябва да направите новия потребител собственик на създадените за него файлове и директории-в противен случай, той няма да може да ги използва! (Това се извършва автоматично от командата adduser.) Командата chown променя собственика, а командата chgrp променя групата, асоциирана с даден файл. В Linux само потребителят root може да използва командата chown.
И така, ако сте инсталирали софтуер с име sampsoft, можете да промените собственика на файла и групата на bin, като използвате следната команда:
# chown bin.bin sampsoft
Синтаксисът на командата за промяна на правата за достъп е по-сложен. Правата за достъп се наричат още "file mode" (начин за използване на файла), затова командата за промяната им се нарича chmod. Един прост пример-написали сте програма на Perl или Tcl с име header и искате да имате право да я изпълните. Бихте могли да използвате следната команда:
$ chmod +x header
Знакът + означава "добави право за достъп", а x задава правото, което трябва да се добави. Можете да зададете право за изпълнение само за себе си с командата:
$ chmod u+x header
Символът, който се намира пред плюса, показва нивото на достъп, а символът след него-право за достъп. Нивото на достъп за собственика е u (от user permission), за групата е g (от goup permission), а за останалите потребители е o (от others permission).
За да зададете право за достъп едновременно на вас и на групата, трябва да въведете:
$ chmod ug+x header
Можете да зададете едновременно няколко права за достъп:
$ chmod ug+rwx header

Битовете в пълния синтаксис

Да предположим, че искате да дадете на себе си право за четене, а всички останали да нямат никакви права. Трябва да зададете само бита, който съответства на числото 400. Тогава командата chmod ще бъде:
$ chmod 400 header
За да зададете право на четене на всеки потребител, трябва да изберете съответните битове от всяко ниво- 400 за собственика, 40 за групата и 4 за останалите. Пълната команда е:
$ chmod 444 header
Действието на chmod е като аргумента +r, с изключение на това, че едновременно се премахват правата за писане и изпълнение. За да дадете право за четене и изпълнение на всеки потребител, трябва да изчислите сумата от битовете, които отговарят на правата за четене и правата за изпълнение (например 400 + 100 е 500). И така, съответната команда е:
$ chmod 555 header
което е същото като =rx. За да разрешите пълен достъп до някое ниво, трябва съответната му цифра да бъде 7 - сумата на 4, 2 и 1.
Една последна особеност: как се задават права за достъп, които се използват по подразбиране при създаване на файл(например с текстов редактор). Това се прави с командата umask
Да предположим, че искате вие да имате всички права за достъп(7), вашата група да има права за четене и изпълнение(5), а останалите да нямат никакви права(0). Командата, която трябва да изпълните е:
umask 027
Продължение скоро...(последната част).

back