共有資源の管理方法


3.1 管理の必要性

始めにで述べたように, UNIX 系 OS はマルチタスク, マルチユーザである. 複数のユーザが複数の処理を同時に行う場合には, それなりの約束事(計算機が処理を行う, ファイルを共有する)が必要である. これは, 現在行っている処理, 保管しているファイルに番号をつけることで行われる. 各々,

  • PID
    Process ID, 現在行われている処理に順番に割り振られる番号.

  • UID
    User ID, ユーザのアカウントと 1 対 1 対応する番号.

  • GID
    Group ID, 複数ユーザで資源を共有するための番号. グループ名と1 対 1 対応.

各々の確認の仕方は, PID なら,

$ ps aux | less
      
UID, GID なら
$ ls -la | less 
      
などである. ps, ls, less の使い方の詳細は man を参照されたい.
$ man ls 
      
以下では, 計算機処理に関する話題は取り上げず, 共有資源管理について述べる.ここで, 資源と読んでいるのは計算機に保存されているファイルの事を指すものとする.

3.2 属性

ユーザが実際に作業を行う際には, 自分のアカウントのUID と 一つのグループ に 属して, つまり一つのGID をもっている. このことで,

  • ファイルの持ち主は誰なのか
  • そのはどのグループ所有なのか

というファイル管理が可能になる.

実際, すべてのファイルにはその "属性" がついている. その属性は

  • ファイルの持ち主に対して
  • ファイルの所有グループに対して,
  • それ以外の他人に対して

各々『読み (=r,4) 』『書き (=w,2) 』『実行 (=x,1) 』が出来るか否かを決めている. これはファイルの持ち主が決めることが出来, 変更もできる.

 ファイル hogehoge の 属性, 所有を確認したい場合
$ ls -la hogehoge 
    
 ファイル hogehoge の 属性, 所有を変更したい場合
$ chmod *** hogehoge (*** には,属性を表す数字をいれる. )
$ chown foo.bar hogehoge (ユーザfoo, グループbarへ所有を変更する.)
    

3.3 グループユーザ

専攻サーバでファイルを共有管理する場合には, グループアカウントを作成する事を推奨する. これは, パスワードを新たに作る必要がなく, グループに属する全ての人間が, そのグループが所有するファイルを共有管理することが出来るからである.

グループアカウントを獲得したならば,

  • グループアカウントその人になる
  • 自分の所属するグループを変更する
ことが可能になる.
 グループアカウント hogehoge になる場合,
$ sudo -u hogehoge -s
      
 属するグループを hogehoge に変更する場合
$ sg hogehoge
      

共有するファイルを

  • そのグループアカウント所有にする. もしくは,
  • GID を変更しグループに読み書き権限(rw, 6)を与えておく.
そして, グループアカウントの状態で編集を行うようにすれば良い.

Youhei SASAKI
Last modified: Fri Jun 15 12:21:40 JST 2001