double arrow

Команда ls с опциями -al. Использование команд chmod и umask.

Посмотреть подробную информацию о файлах в некоторой директории, включая имена хозяина, группы хозяев и права доступа, можно с помощью уже известной нам команды ls с опциями -al. В выдаче этой команды третья колонка слева содержит имена пользователей хозяев файлов, а четвертая колонка слева - имена групп хозяев файла. Самая левая колонка содержит типы файлов и права доступа к ним. Тип файла определяет первый символ в наборе символов. Если это символ ' d ' - то тип файла - директория, если там стоит символ ' - ', то это - регулярный файл. Следующие три символа определяют права доступа для хозяина файла, следующие три - для пользователей, входящих в группу хозяев файла, и последние три - для всех остальных пользователей. Наличие символа (r, w или x), соответствующего праву, для некоторой категории пользователей означает, что данная категория пользователей обладает этим правом.

Вызовите команду ls -al для своей домашней директории и проанализируйте ее выдачу. Хозяин файла может изменять права доступа к нему, пользуясь командой chmod.
Создайте новый файл и посмотрите на права доступа к нему, установленные системой при его создании. Чем руководствуется операционная система при выставлении этих прав? Для этого она использует маску создания файлов для программы, которая файл создает. Изначально для программы-оболочки она имеет некоторое значение по умолчанию. Изменить текущее значение маски для программы-оболочки или посмотреть его можно с помощью команды umask. Если вы хотите изменить его для Midnight Commander, необходимо выйти из mc, выполнить команду umask и запустить mc снова. Маска создания файлов не сохраняется между сеансами работы в системе. При новом входе в систему значение маски снова будет установлено по умолчанию.

Системные вызовы getuid и getgid.

Узнать идентификатор пользователя, запустившего программу на исполнение, - UID и идентификатор группы, к которой он относится, - GID можно с помощью системных вызовов getuid() и getgid(), применив их внутри этой программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: