Владельцем нового файла становится пользователь, который его создал. Владелец файла задает права на чтение, запись (изменение) или выполнение файла. Для изменения владельца файла предназначена команда chown.
Любой ИД пользователя относится к определенной группе с уникальным ИД группы. Группы пользователей создаются системным администратором при настройке системы. Во время создания файла операционная система задает права доступа для пользователя, создавшего файл, группы владельца файла, и группы, которая называется Другие и состоит из всех остальных пользователей. Команда id позволяет узнать ИД текущего пользователя (UID), ИД группы (GID) этого пользователя и имена всех групп, в которые он входит.
В списке файлов каталога (например, выводе команды ls) всегда указываются три класса пользователей в следующем порядке: пользователь, группа и другие. Если вам нужно узнать имя своей группы, введите команду groups, которая показывает список групп, в которые входит пользователь с данным ИД.
С помощью команды chown вы можете изменить владельца своих файлов.
Опция -R команды chown задает рекурсивный спуск по дереву каталогов, начиная с указанного каталога. При обнаружении символьной ссылки на файл или каталог их принадлежность изменяется, а принадлежность самой ссылки сохраняется.
Примечание: Только пользователь root может изменять принадлежность файлов, владельцем которых он не является. Если задана опция -f, то сообщение об ошибке не будет отправлено.
Например, для изменения владельца файла program.c введите:
chown jim program.c
Нажмите Enter.
Теперь права доступа пользователей к файлу program.c определяются пользователем jim. В качестве владельца пользователь jim может изменять права доступа других пользователей к файлу program.c. с помощью команды chmod.
Например, если для каталога /tmp/src необходимо заменить владельца и группу, к которой он относится, на владельца john и группу build, введите:
chown -R john:build /tmp/src
Нажмите Enter.
Полный синтаксис приведен в описании команды chown в книге AIX 5L Version 5.1 Commands Reference.
У каждого файла есть владелец. Владельцем нового файла становится пользователь, создавший этот файл. Права доступа к файлу определяет его владелец. Права доступа указывают для других пользователей системы, могут ли они читать, изменять и исполнять файл. Права доступа к файлу могут изменяться владельцем файла или пользователем root.
Существует три класса пользователей: пользователь/владелец, пользователи группы и все остальные пользователи. Этим классам пользователей выделяются права доступа трех типов: на чтение, на запись и на выполнение. При создании файла для пользователя, создавшего файл, по умолчанию устанавливаются права на чтение, запись и выполнение. Для остальных двух классов пользователей устанавливаются права на чтение и выполнение. В приведенной ниже таблице описаны права доступа к файлу, выделяемые по умолчанию для трех групп пользователей:
Классы | Чтение | Запись | Выполнение |
Владелец | Да | Да | Да |
Группа | Да | Нет | Да |
Другие | Да | Нет | Да |
Для файла могут быть установлены права доступа на чтение (r), запись (w) и выполнение (x). Для каждого класса пользователей система устанавливает права доступа в виде набора разрешений. Права доступа в системе задаются двумя способами: в символьном и численном виде.
Формат символьного представления
прав доступа описан ниже:
Например, для файла с правами доступа rwxr-xr-x установлены разрешения на чтение и выполнение для всех трех классов пользователей, а разрешение на запись задано только для владельца файла. Это символьное представление прав доступа по умолчанию.
Команда ls с флагом -l (строчная L) показывает подробный список файлов каталога. Первые 10 символов в списке команды ls-l задают тип файла и разрешения, установленные для каждого из трех классов пользователей. Кроме того, в списке команды ls -l указывается владелец и группа, связанная с каждым файлом или каталогом.
Первый символ задает тип
файла. Оставшиеся девять символов представляют собой информацию о
разрешениях, установленных для каждого из трех классов пользователей. В
качестве типа файла могут быть указаны следующие символы:
- | Стандартные файлы |
d | Каталог |
b | Специальный блочный файл |
c | Специальный символьный файл |
p | Специальный файл конвейера |
l | Символьная ссылка |
s | Сокет |
Ниже приведен пример простого списка ls -l:
-rwxrwxr-x 2 janet acct 512 01 марта 13:33 january
Здесь первый дефис (-) означает обычный файл. Второй, третий и четвертый символы rwx задают права доступа владельца (чтение, запись и выполнение). Пятый, шестой и седьмой символы rwx представляют собой права доступа группы (чтение, запись и выполнение). Восьмой, девятый и десятый символы r-x задают права на чтение и выполнение для всех остальных пользователей. Дефис, указанный вместо девятого символа, означает, что права доступа отсутствуют.
janet - это имя владельца файла, а acct - имя группы Janet. 512 - это размер файла в байтах, 01 марта 13:33 - дата и время последнего изменения, а january - имя файла. Значение 2 означает число ссылок на файл.
В численном виде разрешение на
чтение представляется в виде цифры 4, разрешение на запись - в виде цифры 2, а
разрешение на выполнение - в виде цифры 1. Суммарное значение из
интервала от 1 до 7 задает права доступа для каждого класса (пользователя,
группы и других). В приведенной ниже таблице приведены численные
значения прав доступа:
Суммарное значение | Чтение | Запись | Выполнение |
0 | - | - | - |
1 | - | - | 1 |
2 | - | 2 | - |
3 | - | 2 | 1 |
4 | 4 | - | - |
5 | 4 | - | 1 |
6 | 4 | 2 | - |
7 | 4 | 2 | 1 |
При создании файла для него по умолчанию устанавливаются права доступа 755. Это означает, что для пользователя установлены права на чтение, запись и выполнение (4+2+1=7), для группы - права на чтение и выполнение (4+1=5), и для всех остальных пользователей - права на чтение и выполнение (4+1=5). Владелец файла может изменить права доступа к этому файлу с помощью команды chmod.
С помощью команды lsgroup вы можете просмотреть атрибуты всех групп системы или только указанных групп. Если один или несколько атрибутов недоступны для чтения, то команда lsgroup показывает все доступные атрибуты. Информация об атрибутах выводится в виде пар Атрибут=Значение, разделенных пробелами.
Например, для просмотра атрибутов всех групп системы введите:
lsgroup ALL
Нажмите Enter.
Появится приблизительно следующий список, содержащий для каждой группы имя, ИД и описание всех пользователей группы:
system 0 arne,pubs,ctw,geo,root,chucka,noer,su,dea, backup,build,janice,denise staff 1 john,ryan,flynn,daveb,jzitt,glover,maple,ken gordon,mbrady bin 2 root,bin sys 3 root,su,bin,sys
Существует два способа просмотра отдельных атрибутов каждой группы:
lsgroup -a id users ALL | pg
Нажмите Enter.
Появится приблизительно следующий список:
system id=0 users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,build staff id=1 users=john,ryan,flynn,daveb,jzitt,glover,maple,ken
lsgroup -a -f id users ALL | pg
Нажмите Enter.
Появится приблизительно следующий список:
system: id=0 users=pubs,ctw,geo,root,chucka,noer,su,dea,backup,build staff: id=1 users=john,ryan,flynn,daveb,jzitt,glover,maple,ken bin: id=2 users=root,bin sys: id=3 users=root,su,bin,sys
Для просмотра всех атрибутов конкретной группы применяются те же способы, что и для просмотра отдельных атрибутов всех групп:
lsgroup system
Нажмите Enter.
Появится приблизительно следующий список:
system id=0 users=arne,pubs,ctw,geo,root,chucka,noer,su,dea, backup,build,janice,denise
lsgroup -f system
Нажмите Enter.
Появится приблизительно следующий список:
system: id=0 users=arne,pubs,ctw,geo,root,chucka,noer,su,dea, backup,build,janice,denise
Для просмотра отдельных атрибутов конкретной группы введите:
lsgroup -a Атрибуты Группа
Нажмите Enter.
Например, для просмотра ИД и списка пользователей группы bin введите:
lsgroup -a id users bin
Нажмите Enter.
Появится приблизительно следующий список:
bin id=2 users=root,bin
Полный синтаксис приведен в описании команды lsgroup в книге AIX 5L Version 5.1 Commands Reference.
Команда chmod позволяет изменить разрешения на чтение, запись и выполнение, установленные для указанных файлов, или разрешение на просмотр заданных каталогов.
Например, для того чтобы установить конкретные права доступа к файлам chap1 и chap2, введите:
chmod g+w chap1 chap2
Нажмите Enter.
В результате для пользователей группы будет установлено разрешение на запись в файлы chap1 и chap2.
Например, если вы хотите добавить или удалить несколько разрешений для каталога mydir, введите:
chmod go-w+x mydir
Нажмите Enter.
Для пользователей группы (g) и всех остальных пользователей (o) будет удалено (-) разрешение на создание и удаление файлов (w) в каталоге mydir и добавлено (+) разрешение на просмотр каталога mydir или использование его имени в качестве элемента пути (x). Те же самые действия выполняет следующая последовательность команд:
chmod g-w mydir chmod o-w mydir chmod g+x mydir chmod o+x mydir
Например, если права на выполнение процедуры оболочки с именем cmd должны быть предоставлены только владельцу, введите команду:
chmod u=rwx,go= cmd
Нажмите Enter.
В результате для владельца файла будут установлены разрешения на чтение, запись и выполнение (u=rwx). Для пользователей группы и всех остальных пользователей будет запрещен любой доступ к файлу cmd (go=).
Например, если вы хотите задать новые права доступа для файла text с помощью команды chmod, указав их в численном виде, то введите:
chmod 644 text
Нажмите Enter.
В результате для владельца будут установлены разрешения на чтение и запись, а для пользователей группы и всех остальных пользователей будут установлены права только на чтение.
Дополнительная информация и полный синтаксис приведены в описании команды chmod в справочнике AIX 5L Version 5.1 Commands Reference.