2. Управление пользователями и правами доступа Вопросы: 1. Какой командой можно создать пользователя в системе? Какая опция создает пользователю каталог? Какая опция позволит выбрать пользовательскую консоль /sbin/nologin? 2. Какой командой можно задать/изменить пароль? Какой синтаксис данной команды? Как задать время действия пароля? 3. Какой командой можно задать владельца фалу/каталогу? 4. Какой командой можно задавать права на файлы/каталоги? Для чего нужны биты SGID и SUID, как они задаются? Что для файла будут означать права 2755? Команда useradd Добавить пользователя useradd user1 Добавить пользователя c созданием домашней директории useradd -m user1 Добавить пользователя с указанием id groupadd -g 1005 user1 useradd --uid 1005 --gid 1005 -m user1 Опции: -m : создать папку домашней директории по умолчанию -d : явно указать адрес домашней директории (-d /home/user1) -s : явно указать shell (-s /sbin/nologin) -M : не создавать домашнюю директорию Команда passwd passwd — утилита Unix-систем для управления паролями учётных записей.[1] Использование: passwd login После ввода команды последует запрос на ввод существующего пароля текущей учётной записи и запрос на новый пароль. В то время как администратор может изменять пароли от всех локальных учётных записей, пользователь может сменить только свой собственный пароль. Утилита также может изменить информацию об учётной записи, в том числе полное имя пользователя, пользовательскую оболочку и срок действия пароля. См. man passwd Команда chown chown (от англ. change owner) — UNIX‐утилита, изменяющая владельца и/или группу для указанных файлов. В качестве имени владельца/группы берётся первый аргумент, не являющийся опцией. Если задано только имя пользователя (или числовой идентификатор пользователя), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через двоеточие следует имя группы (или числовой идентификатор группы), без пробелов между ними, то изменяется также и группа файла. Использование -c, --changes Подробно описывать действие для каждого файла, владелец которого действительно изменяется. -f, --silent, --quiet Не выдавать сообщения об ошибках для файлов, чей владелец не может быть изменён. -h, --no-dereference Работать с самими символьными ссылками, а не с файлами, на которые они указывают. Данная опция доступна только если имеется системный вызов lchown. -R, --recursive Рекурсивное изменение владельца каталогов и их содержимого. -v, --verbose Подробное описание действия (или отсутствия действия) для каждого файла. --dereference Изменить владельца файла, на который указывает символьная ссылка, вместо самой символьной ссылки. --reference=rfile Изменить владельца файла на того, который является владельцем файла. Примеры использования Помните, что эти команды должны быть выполнены с правами доступа root Изменить владельца (owner) для /var/run/httpd.pid на 'root' (root — стандартное имя для суперпользователя (Superuser)). # chown root /var/run/httpd.pid Поменять владельца для strace.log в 'rob' и идентификатор группы в 'developers'. # chown rob:developers strace.log Поменять имя владельца для /tmp и /var/tmp на ‘nobody’ + поменять группу для /tmp и /var/tmp на ‘nogroup’ # chown nobody:nogroup /tmp /var/tmp Поменять идентификатор группы для /home на 512 # chown :512 /home Поменять имя владельца для base на us и выполнить это рекурсивно, т.е всех вложенных в каталог base файлов (-R). # chown -R us base Поменять владельца для noodlefrytasticy на mein. # chown mein noodlefrytasticy Команда chmod chmod (от англ. change mode) — программа для изменения прав доступа к файлам и директориям. Название происходит от программы ОС Unix chmod, которая, собственно, изменяет права доступа к файлам, директориям и символическим ссылкам. Использование Права записываются одной строкой сразу для трёх типов пользователей: владельца файла; других пользователей, входящих в группу владельца; всех прочих пользователей. Аргумент команды chmod, задающий разрешения, может быть записан в двух форматах: в числовом и в символьном. Пример — значение права «755» владелец группа остальные восьмеричное значение 7 5 5 символьная запись rwx r-x r-x обозначение типа пользователя u g o Таким образом, права «755» записываются в символьном виде как «rwxr-xr-x». При этом для понимания сути задания прав в Unix-системах полезно знать представление чисел в двоичной системе счисления. Три варианта записи прав пользователя двоичная восьмеричная символьная права на файл права на директорию 000 0 --- нет нет 001 1 --x выполнение чтение файлов и их свойств 010 2 -w- запись нет 011 3 -wx запись и всё, кроме чтения списка выполнение файлов 100 4 r-- чтение чтение имён файлов 101 5 r-x чтение и выполнение доступ на чтение 110 6 rw- чтение и запись чтение имён файлов 111 7 rwx все права все права Часть разрешений имеет смысл только в сочетании с другими. Из первых четырёх пунктов (не дающих права на чтение файла) для файлов обычно используется только «---», то есть полный запрет доступа к файлу данному типу пользователей. Для директорий из всего списка обычно применяются только 0, 5 и 7 — запрет, чтение и полный доступ. Суммировав эти коды для трёх типов пользователей, можно получить числовую или символьную запись. Например, chmod 444 {имяфайла}: 400+40+4=444 — все имеют право только на чтение (идентично «r--r--r--»). Помимо стандартных разрешений 'rwx', команда chmod осуществляет также управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно. Для SUID вес — 4000, а для SGID — 2000. Данные атрибуты имеют смысл при установленном соответствующем бите исполнения и обозначаются при символьной записи буквой «s»: «rwsrwxrwx» и «rwxrwsrwx» соответственно. Пример: chmod 4555 {имяфайла} — все имеют право на чтение и выполнение, но запускаться файл на исполнение будет с правами владельца. Установка SGID для директории приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. SUID для директории не имеет смысла[1]. t-бит используется только с директориями. Когда t-бит для директории не установлен, файл в данной директории может удалить любой пользователь, имеющий доступ на запись к данному файлу. Устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла. Следуя приведённой выше кодировке, tбит имеет вес 1000. Примечание: Право на запись (w) даёт пользователю возможность записывать или изменять файл, а право на запись для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Если на каталоге стоит возможность записи (w), то файл внутри этого каталога можно будет удалить, даже если право на запись для него не установлено. (В соответствии с концепцией файловой системы POSIX). http://wiki.enchtex.info/tools/console/useradd http://ru.wikipedia.org/wiki/Passwd_(%D1%83%D1%82%D0%B8%D0%BB%D0 %B8%D1%82%D0%B0) http://ru.wikipedia.org/wiki/Chown http://ru.wikipedia.org/wiki/Chmod