https://900913.ru/2017/10/31/os-linux-bash/

chown

Команда смены владельца файла.


Чтобы сменить владельца файлов в директории и во всех поддиректориях (рекурсивно), выполните:

sudo chown -R user:group /home/user/path/to/directory/


Менять пользователя может только root, -R — рекурсивно.



==========

==========

\\\\\\\\\\\\\


https://webhamster.ru/mytetrashare/index/mtb0/1503040674ppahrkt4ni (Права доступа к каталогам)

Права доступа к каталогам


Права доступа, устанавливаемые на каталоги, имеют несколько иной смысл, чем права на файлы. Для каталогов используются следующие права:



Без наличия права search (х), установленного на каталог, операции обраще­ния к файлам, находящимся в нем, не могут быть осуществлены. Поэтому для каталогов права доступа должны быть либо нечетные (в трехчисловой нотации), либо отсутство­вать.



========================================


Источник: http://www.kryukov.biz/wiki/Права_доступа

========================================


У каждого файла в системе существуют свои собственные права доступа.


Внимание!

Права доступа не наследуются так, как это принято в Windows и Novell NetWare.

В Linux права доступа сохраняются в inode файла, и поскольку inode у каждого файла свой собственный, права доступа у каждого файла свои.

Пр.: вывод программы ls –l, в первом столбце показаны права доступа файла.

$ ls -l

итого 4:

-rw-r--r-- 1 artur users 28 2005-06-03 12:50 hardlink

lrwxrwxrwx 1 artur users 4 2005-06-03 12:51 slink -> test

-rw-r--r-- 1 artur users 0 2005-06-03 13:21 test

$

В первом поле десять символов. Первый символ — это тип файла, остальные девять показывают права.


Права доступа делятся на три группы:

(гл. ------->---------->)

r w x | r w x | r w x

user | group | other


Внимание!

Права доступа пользователя и группы не суммируются. Если программа выполняется с правами пользователя и группы, которым принадлежит файл — работают только права хозяина файла.


-- w (? --file) не дает права на удаление файла, только на изменение содержимого.


=====================================================

Права доступа к файлам

Права доступа к файлам и директориям имеют различное значение.

Для файлов:

В Linux является ли файл исполняемым или нет, определяется по правам доступа.

В Linux все исполняемые бинарные файлы в начале файла имеют заголовок ELF.

Если файл не бинарный, тогда считается, что это текстовый файл.

В начале первой строки файла ищется последовательность символов #!.

При указании интерпретатора можно писать аргументы командной строки. Например:

#! /bin/sed -f command

Если в файле в первой строке нет этих символов, тогда все зависит о программы оболочки, в которой запускается программа.

--------

=====================================================

Права доступа к директориям



Внимание!

Обратите внимание на то, что если вы имеете право на запись в директории — значит, вы можете удалить любые файлы в этой директории, даже те, которые вам не принадлежат. Правда, существуют дополнительные права доступа, которые позволяют ограничить право на запись в директорию, но их мы рассмотрим позднее.

Теперь о праве x для директории. Это право позволяет Вам войти в директорию: cd dir.


Внимание!

Право x на директорию среди других прав на доступ к файлу всегда проверятся в первую очередь!


При обращении к файлу система сначала проверяет право x у всех директорий, стоящих в пути этого файла, и только затем права на сам файл. Если хотя бы у одной директории право x отсутствует, доступ к этой директории и всему ее содержимому для Вас запрещается.

Например:

/ home/ user2/ bin/ programm

r-x r-x r-- r-x r-x

Как видно из примера, у директории /home/user2 отсутствует право на исполнение. Поэтому доступ к директориям /home/user2, /home/user2/bin и файлу program запрещен.

Предположим, что для вас права доступа к директории /usr/home/user - rw-. Что вы сможете сделать в этой директории? Вообщем то ничего серьезного, сначала надо зайти в директорию, а вам нельзя. Хотя список файлов вы сможете получить, но при этом на экран будет выведена куча предупреждений. А вот удалять, создавать, читать и редактировать файлы в директории вы точно не сможете.

Права доступа к символьным ссылкам

всегда выглядят так: rwxrwxrwx.

При использования ссылки драйвер файловой системы пересчитывает реальный путь к файлу и применяет права доступа, определенные для реального пути.

========================

Программа chmod предназначена для изменения прав доступа к файлам.


Внимание!

В Linux нет права на изменение права. Поэтому хозяин файла всегда может изменять права доступа на свои и только свои файлы. Суперпользователь может менять права доступа у любых файлов в системе.


Числовой формат записи прав доступа

Права доступа — это биты в inode файла. Биты делятся на три группы, каждую группу представляют в виде десятичного числа.


r

w

x

0

0

1

1

0

1

0

2

1

0

0

4

При вызове программы chmod можно указывать не все три числа. Тогда числа начинают считаться справа. Например:

( u <---<---<--- o)

$ chmod 66 test

$ ls -l test

----rw-rw- 1 artur users 12 2005-06-06 11:53 test

$

установит права rw- для группы и для всех остальных пользователей системы.

=============================================================

Символьный формат записи прав доступа

шаблон: [ugoa][[+-=][rwxst]][,...]


В отличии от числового формата записи прав, при помощи символьного можно устанавливать или сбрасывать только один бит, а не все биты.


Например, права доступа у файла были следующие: rw-rw----. После выполнения программы:

$ ls -l test

-rw-rw—- 1 artur users 12 2005-06-06 11:53 test

$ chmod o+r file

$ ls -l test

-rw-rw-r-- 1 artur users 12 2005-06-06 11:53 test

$

Права стали такими: rw-rw-r--. Как видно, был изменен всего лишь один бит. Таким же образом можно сбрасывать биты в ноль:

$ chmod g-w test

$ ls -l test

-rw-r--r-- 1 artur users 12 2005-06-06 11:53 test

$


Можно одновременно изменять права для, например, хозяина и группы:

$ chmod ug+x test

$ ls -l test

-rwxr-xr-- 1 artur users 12 2005-06-06 11:53 test*

$


При использовании символа = изменяются сразу три бита. После = описывают, какие биты должны быть установлены в единицу. Неуказанные биты будут сброшены в ноль:

$ chmod o=rw test

$ ls -l test

-rwxr-xrw- 1 artur users 12 2005-06-06 11:53 test*

$


Если не удается записать изменения прав при помощи одной записи, их можно написать несколько. В качестве символа разделителя используют запятую.

$ chmod o-rw,g-r test

$ ls -l test

-rwx--x--- 1 artur users 12 2005-06-06 11:53 test*

$

Копирование прав доступа

В новой версии программы chmod появился параметр --reference. При помощи reference можно указать файл, права доступа которого будут копироваться на другие файлы.

$ ls -l

итого 0

-rw-r--r-- 1 artur users 0 2005-06-07 12:21 newtest

-rwx--x--- 1 artur users 0 2005-06-07 12:20 test*

$ chmod --reference=newtest test

$ ls -l

итого 0

-rw-r--r-- 1 artur users 0 2005-06-07 12:21 newtest

-rw-r--r-- 1 artur users 0 2005-06-07 12:20 test

$