LoginSignup
36
34

More than 5 years have passed since last update.

グループ開発時の権限設定

Posted at

チームで一つのサーバーにログインして
一つのファイルをみんなで編集を行う場合には
グループ権限を活用する必要がある

その時の設定方法をまとめておく

ファイル作成時の権限

最初にユーザーが作成するファイルの権限を
グループ権限付きのものに変更するための設定を行う。

現在の権限を確認するためには

umask

を使用する。
umaskで出力される値は通常0022だと思われる。
これは「自分以外のユーザーは書き込みを行わせない」という権限の設定になる。

以下の説明が詳しい

umaskコマンドでは、許可しないビットを指定する。従って、読み書きを行う設定(666)から設定したいパーミッションを引き算すれば、指定する値が求められる。

参照 : ファイル新規作成時のパーミッションを変更するには

と、あるので、今回のような場合では

umask 002

とすれば同じグループなら書き込み、読み込みが出来るファイルを標準で作成することが出来る。
このコマンドを毎回ログインするたびに入力するのはイケテナイでの.bashrcに記述をしておく。

echo umask 002 >> ~/.bashrc

.bash_profileでも良いがsftpscreenを使用した際には.bash_profileは読み込まれないので
.bashrcに設定を記述しておいた方が良い。

そして、その記述を毎回ユーザーが作られるたびに実行させるのもイケテナイので

ユーザーが作成された時に作られるファイル郡が置いてある/etc/skelの中の.bashrcに記述を追加しておく。

sudo sh -c "echo umask 002 >> /etc/skel/.bashrc"

ログインしなおしてumaskを打って002が表示されれば完了

グループの作成、追加

次に開発時のグループ作成、グループ指定でのユーザー作成。
グループをdevとする

sudo groupadd dev
sudo adduser -g dev mugi

ユーザーを後からグループに追加するとき

sudo usermod -g dev mugi

グループを指定してユーザーを作成、追加する時に
-gのオプションを付けているが
これはプライマリーのグループ指定を行っている。

これによって作成されるファイルがdevグループで作成がされる。
プライマリーのグループでファイルが作成されるということ。

プライマリーのグループと編集時のグループを別にする場合には別途手順が必要になると思われる。
各自必要であれば調べてコメントにでも書き込んでくれると嬉しいです。

これで完了。
グループ間で同じファイルの編集が可能になる。

sambaを使用した編集時

smb.confでグループ権限付きでファイルが作成するように設定を書いてあげれば良い

sudo vi /etc/samba/smb.conf
smb.conf
# ファイル作成時のパーミッション設定
force create mode = 0664
create mask = 0664
# ディレクトリ作成時のパーミッション設定
force directory mode = 0775
directory mask = 0775

force group = dev

まとめ

ポイントとして

  • グループの書き込み権限
  • 指定グループでのファイル作成

が出来るようになればグループ間で同じファイルを編集することが出来る

トラブルシューティング

一人でもグループ権限が付いていない設定になっていたりすると
グループ権限が付いていないファイルが出来てしまう。
そうなるとグループの他のメンバーが書き込みすることが出来なくなるので
解決をする必要がある。

その時の助けになるであろうコマンドたち

グループ権限が付いていないファイルを表示

find . ! -perm -g+w -type f

devグループでファイルが作成されていないファイルの表示

find . ! -group dev

とりあえずディレクトリ以下のファイル全部をdevグループのユーザーが書き込めるように

sudo chmod g+w -R .
sudo chgrp -R dev .

ユーザーがどんな操作を行ったかのログの場所

sudo less /var/log/secure
36
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
34