Руководство по системному администрированию: контейнеры в Solaris - управление ресурсами и зонами

Администрирование проектов

ProcedureОпределение проекта и просмотр текущего проекта

В этом примере показано добавление записи проекта командой projadd и изменение этой записи командой projmod.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. раздел Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Отобразите файл /etc/project по умолчанию командой projects -l.


    # projects -l
    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
  3. Добавьте проект с именем booksite. Назначьте проект пользователю с именем mark и укажите идентификатор проекта 4113.


    # projadd -U mark -p 4113 booksite
    
  4. Снова просмотрите файл /etc/project.


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    booksite
            projid : 4113
            comment: ""
            users  : mark
            groups : (none)
            attribs: 
  5. Добавьте в поле комментария описание проекта.


    # projmod -c `Book Auction Project' booksite
    
  6. Просмотрите изменения в файле /etc/project .


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    booksite
            projid : 4113
            comment: "Book Auction Project"
            users  : mark
            groups : (none)
            attribs: 
См. также

Инструкции по связыванию проектов, задач и процессов с пулом приведены в Установка атрибутов пулов и связывание с пулом.

ProcedureУдаление проекта из файла /etc/project

В этом примере показан способ удаления проекта командой projdel.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. раздел Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Удалите проект booksite командой projdel.


    # projdel booksite
    
  3. Просмотрите файл /etc/project.


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
  4. Войдите в систему как пользователь mark и введите команду projects для просмотра проектов, назначенных этому пользователю.


    # su - mark
    # projects
    default

Проверка допустимости содержимого файла /etc/project

При отсутствии параметров редактирования команда projmod проверяет допустимость содержимого файла project.

Для проверки допустимости карты NIS необходимо ввести следующую команду от имени суперпользователя:


# ypcat project | projmod -f —

Примечание –

Команда ypcat project | projmod -f – еще не реализована.


Проверку синтаксиса файла /etc/project можно выполнить следующей командой:


# projmod -n

Получение информации о членстве в проекте

Для вывода данных о принадлежности запускаемого процесса к проекту используется команда id с параметром -p.


$ id -p
uid=100(mark) gid=1(other) projid=3(default)

ProcedureСоздание новой задачи

  1. Войдите в систему как участник целевого проекта booksite.

  2. Создайте новую задачу в проекте booksite с помощью команды newtask с параметром - v (подробный режим) для получения системного идентификатора задачи.


    machine% newtask -v -p booksite
    16

    По команде newtask в указанном проекте создается новая задача, и в эту задачу помещается интерпретатор команд пользователя по умолчанию.

  3. Просмотрите текущие данные по членству вызывающего процесса в проекте следующей командой.


    machine% id -p
    uid=100(mark) gid=1(other) projid=4113(booksite)

    Процесс теперь является членом нового проекта.

ProcedureПеремещение выполняющегося процесса в новую задачу

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

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. раздел Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.


    Примечание –

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


  2. Определите идентификатор процесса book_catalog.


    # pgrep book_catalog
    	8100
  3. Свяжите процесс 8100 с новым идентификатором задачи в проекте booksite.


    # newtask -v -p booksite -c 8100
    	17

    Параметр -c указывает, что команда newtask должна быть выполнена в отношении существующего именованного процесса.

  4. Проверьте связь идентификаторов задачи и процесса.


    # pgrep -T 17
    	8100