リポジトリーのアクセス権を指定してリポジトリーを作成する
リポジトリーのアクセス権を指定して、リポジトリーを作成します。リポジトリーのアクセス権とは、「Gitディレクトリー」及び、「Gitディレクトリー」内のフォルダーやファイルのアクセス権のことです。
これは、ファイルシステムが提供するアクセス権(パーミッション)のことです。
「Git」では、独自にユーザー管理を行う機能はありません。
オプションの説明
リポジトリーのアクセス権を指定するには、以下のオプションを指定します。オプション | オプションの値 |
---|---|
--shared= | アクセス権 |
アクセス権
このオプションには、以下のいずれかの値が指定できます。- umask/false
- group/true
- all/world/everybody
- 0xxx
umask/false
オプションの値に「umask」もしくは「false」を指定した場合、「umask」で取得した値からアクセス権を設定します。umaskの値を確認するには
「umask」の値を確認するには、以下のコマンドを実行します。
umask -S
Ubuntuでは、以下のアクセス権になります。
対象 | 読み込み | 書き込み |
---|---|---|
所有者 | ○ | ○ |
グループ | ○ | ○ |
その他 | ○ | ー |
コマンドの実行例
コマンドの実行例です。コマンドの説明は、「リポジトリーを作成するコマンドの説明」を参考にしてください。
ポイントは赤字の箇所です。
git init --shared=umask myProject
作成された「Gitディレクトリー」のアクセス権を見ると、以下のようになっています。
gourp/true
オプションの値に「group」もしくは「true」を指定した場合は、グループに書き込み権限を付与します。それ以外の権限は「umask」で取得した値から、アクセス権を設定します。
Ubuntuでは、以下のアクセス権になります。
対象 | 読み込み | 書き込み |
---|---|---|
所有者 | ○ | ○ |
グループ | ○ | ○ |
その他 | ○ | ー |
コマンドの実行例
コマンドの実行例です。コマンドの説明は、「リポジトリーを作成するコマンドの説明」を参考にしてください。
ポイントは赤字の箇所です。
git init --shared=group myProject
作成された「Gitディレクトリー」のアクセス権を見ると、以下のようになっています。
all/world/everybody
オプションの値に「all」もしくは「world」もしくは「everybody」を指定した場合は、すべてのユーザーに読み込み権限を付与します。それ以外の権限は、「umask」で取得した値から、アクセス権を設定します。
Ubuntuでは、以下のアクセス権になります。
対象 | 読み込み | 書き込み |
---|---|---|
所有者 | ○ | ○ |
グループ | ○ | ○ |
その他 | ○ | ー |
コマンドの実行例
コマンドの実行例です。コマンドの説明は、「リポジトリーを作成するコマンドの説明」を参考にしてください。
ポイントは赤字の箇所です。
git init --shared=all myProject
作成された「Gitディレクトリー」のアクセス権を見ると、以下のようになっています。
0xxx
直接アクセス権を指定します。xには、アクセス権を表す数値を指定します。
「0ABC」で表現すると、以下のようになります。
ABC | 対象 |
---|---|
A | 所有者のアクセス権 |
B | グループのアクセス権 |
C | その他のアクセス権 |
また数値は、以下の意味を持ちます。
数値 | アクセス権 |
---|---|
2 | 読み込み |
4 | 書き込み |
この数値を足し算して、各アクセス権に指定します。
例えば「0640」を指定すると、アクセス権は以下のようになります。
対象 | 読み込み | 書き込み |
---|---|---|
所有者 | ○ | ○ |
グループ | ○ | ー |
その他 | ー | ー |
注意
所有者のアクセス権には、必ず読み書き可のアクセス権を指定する必要があります。従って、「06xx」でアクセス権を指定することになります。
コマンドの実行例
コマンドの実行例です。コマンドの説明は、「リポジトリーを作成するコマンドの説明」を参考にしてください。
ポイントは赤字の箇所です。
git init --shared=0640 myProject
作成された「Gitディレクトリー」のアクセス権を見ると、以下のようになっています。