はじめに
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