Nextcloud

【techblog】Nextcloudの管理用CLI「occ」詳細: グループ管理に関するコマンド

はじめに

NextcloudにはCLI環境としてoccというものがあり、さまざまな設定、管理を行うことができます。 ここではoccで使える様々なコマンド群のうち、グループ管理に関するコマンド群についてまとめてみます。

※occ の使い方については、 【techblog】Nextcloudの管理用CLI「occ」コマンドについての記事を参照ください。
※occ の共通オプションについては、【techblog】Nextcloudの管理用CLI「occ」詳細: Nextcloud自体に対するコマンド群、共通オプション設定の記事を参照ください。

環境について

ここで記載するoccを実行するNextcloudのバージョンは、2019年3月1日現在で最新の15.0.5を利用します。
WebサーバはNginxを利用した環境で実施しております。ApacheをWebサーバとして利用している場合は、sudo -u のユーザIDをapacheに読み替えてください。

グループ管理に関するコマンド群

ユーザ管理に関するコマンドは以下のようなものがあります。

  • group:add
  • group:adduser
  • group:delete
  • group:list
  • group:removeuser

group:list

登録済みグループとグループに属しているユーザのリストを出力します。

使い方

group:list [オプション]

オプション

  • -l, --limit[=LIMIT]
    取得するユーザ数を指定します。このオプションを指定しない場合のデフォルト値は500です。
  • -o, --offset[=OFFSET]
    取得するユーザを何番目から出力するかを指定します。このオプションを指定しない場合のデフォルト値は0(=先頭)です。
  • --output=[OUTPUT]
    ユーザ情報の出力フォーマットを指定します。指定できるフォーマットは次のとおりです。

    • plain: 普通の出力 (オプション未指定の場合のデフォルト)
    • json: JSON形式
    • json_pretty: 整形されたJSON形式

使用例

①全登録グループ(先頭から500グループまで)のリストを出力する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:list
  - admin:
    - admin
  - 技術第一課:
    - ichiro.satoh
  - 技術第二課:
    - jiro.tanaka
  - 技術部:
    - ichiro.satoh
    - jiro.tanaka
  - 総務部:
    - hanako.suzuki
    - miki.morita

②登録ユーザのうち先頭から3グループ分のリストを出力する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:list -l 3
  - admin:
    - admin
  - 技術第一課:
    - ichiro.satoh
  - 技術第二課:
    - jiro.tanaka

③登録ユーザのうち先頭から2番目以降で2グループ件分のリストを整形されたJSON形式で出力する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:list --offset=2 --limit=2 --output=json_pretty
{
    "\u6280\u8853\u7b2c\u4e8c\u8ab2": [
        "jiro.tanaka"
    ],
    "\u6280\u8853\u90e8": [
        "ichiro.satoh",
        "jiro.tanaka"
    ]
}

group:add

グループを追加します。

使い方

group:add <グループ名>

グループ名

グループ名を指定します。日本語文字などのマルチバイト文字も指定することができます。

使用例

①技術第三課グループを追加する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:add 技術第三課
Created group "技術第三課"

group:adduser

登録済みのグループにユーザを追加します。

使い方

group:add <グループ名> <ユーザID>

グループ名

ユーザを追加したい登録済みのグループ名を指定します。指定したグループ名のグループが未登録である場合はgroup not foundのエラーになります。

ユーザID

追加したいユーザの登録済みユーザIDを指定します。指定したユーザIDのユーザが未登録である場合はuser not foundのエラーになります。
指定したグループにこのユーザが追加されている場合は正常終了します。

使用例

①技術第三課グループにichiro.satohユーザを追加する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:adduser 技術第三課 ichiro.satoh

group:delete

登録済みのグループを削除します。

使い方

group:delete <グループ名>

グループ名

削除したい登録済みのグループ名を指定します。指定したグループ名のグループが未登録である場合はGroup "<グループ名>" does not exist.のエラーになります。
指定したグループに追加されているユーザが存在してもグループの削除が実行されます(ユーザは削除されません)。

使用例

①技術第三課グループを削除する。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:delete 技術第三課
Group "技術第三課" was removed

group:removeuser

グループに追加されているユーザをグループから外します。

使い方

group:removeuser <グループ名> <ユーザID>

グループ名

グループから外したいユーザが追加されているグループ名を指定します。指定したグループ名のグループが未登録である場合はgroup not foundのエラーになります。

ユーザID

追加したいユーザの登録済みユーザIDを指定します。指定したユーザIDのユーザが未登録である場合はuser not foundのエラーになります。
指定したグループにユーザが存在していなくても処理は実行されます(ユーザは削除されません)。

使用例

①技術第一課グループに追加されている”ichiro.satoh”ユーザをグループから外す。

$ sudo -u nginx php /var/www/html/nextcloud/occ group:removeuser 技術第一課 ichiro.satoh