unix/Step by step/NISによるユーザ管理

2018-04-16 (月) 15:53:00 (1287d)

up


設定

NISマスター設定

  • /etc/master.passwdを使用するので,設定したくないユーザを排除するために工夫
    • cp /etc/master.passwd /etc/master.passwd.user
    • vi /etc/master.passwd.user /etc/passwd.user?
      • NISクライアントに伝えたくないユーザの削除.NISを使用する一般ユーザのみを残す
      • 削除対象はbin,tty,kmem,gamesなどからrootまでシステムアカウント全般
    • mv /etc/master.passwd /etc/master.passwd.bk
    • mv /etc/master.passwd.user /etc/master.passwd
      • ユーザだけのmaster.passedを作る
    • mv /etc/master.passwd /etc/master.passwd.user
    • mv /etc/master.passwd.bk /etc/master.passwd
      • マスター設定後もとにもどすことを忘れない.
  • NISスレーブを持つ場合
    • vi /var/yp/Makefile
    • NOPUSH="True" をコメントアウト
  • ypinit -m [domain name]
    • 例:ypinit -m test-domain
      • [domain name]:使用するドメイン名
  • /var/yp/securenetsの設定の設定
  • root権限で/etc/netstart実行する.
    • いらない?

NISスレーブ用設定

  • ypinit -s [master PC name] [domain name]
    • 例:ypinit -s hoge test-domain
      • [master PC name]:NISマスターのコンピュータ名
      • [domain name]:使用するドメイン名

運用

ユーザ管理

まずNISサーバ上でローカルPCのユーザ登録・編集を行い,次にNISへの登録・編集を行う.どちらも必ずNISサーバ上で作業を行う.

ローカルとしてのユーザ管理

  • ユーザ・グループの追加
    • 新規に作成する場合,グループの追加・ユーザの追加の順に行う.ユーザの追加時にどのグループに属するかを指定しなければならないため.
    • 以下の条件で例を示す.
      • ユーザ名:ken
      • ユーザ番号:10000
      • グループ名:kura
      • グループ番号:10001
      • 名前とか:ken kura
      • ホームディレクトリ:/home/ken-kura
      • シェル:/bin/sh
      • 個人用設定ファイルのありか:/etc/skel/
      • 初期パスワード:hoge
  • グループの追加(コマンド)
    • groupadd
      • man groupaddで使い方をみるべし
      • 例1:groupadd kura
      • 例2:groupadd -g 10001 kura
  • グループの追加(手動)
    • /etc/groupを編集
      • 例:echo "kura:*:10001:" >> /etc/group
  • ユーザの追加(コマンド)
    • useradd
      • man useraddで使い方をみるべし
      • 例1:useradd -m -c "ken kura" -d /home/ken-kura -g kura -k /etc/skel -p hoge -s /bin/sh -u 10000 ken
  • ユーザの追加(手動)
    • vipw
      • ユーザの追加・編集
      • 例:ken::10000:10001::0:0:ken kura:/home/ken-kura:/bin/sh
    • mkdir /home/ken
    • chmod 775 /home/ken-kura
    • chown ken:kura /home/ken-kura
    • cp /etc/skel/* /home/ken-kura/

NISへの登録・編集

  • NISマスターコンピュータにログイン
    • NISに登録する元となるユーザ情報は/etc/master.passwd
    • 登録するコマンドの実行ディレクトリは/var/yp
  • 登録するユーザ情報を作成
    • cp /etc/master.passwd /etc/master.passwd.users
    • vi /etc/master.passwd.users
      • NISに登録したいユーザ情報を書いておく(もともとあれば残す).
      • rootなど登録したくないユーザ情報を消す.
  • 登録作業
    • mv /etc/master.passwd /etc/master.passwd.bk
    • cp /etc/master.passwd.users /etc/master.passwd
    • cd /var/yp
    • make
      • またはmake [domain name]
      • /etc/master.passwdを見てNISに登録
      • /etc/groupを見てNISに登録

NISサーバの追加・変更

NISスレーブサーバの追加

  • もしマスターサーバが単一で動作しているなら
    • マスターサーバ上で
    • vi /var/yp/Makefile
    • NOPUSH="True" をコメントアウト
  • ypserversマップに追加
    • マスターサーバ上で
    • ypcat -k ypservers > /tmp/ypservers
    • /tmp/ypserversを編集し,新しいサーバ名を追加
    • cd /var/yp
    • cat /tmp/ypservers | makedbm - /var/yp/`domainname`/ypservers

NISスレーブサーバの削除

  • ypserversマップから削除
    • マスターサーバ上で
    • cd /var/yp
    • ypcat -k ypservers | grep -v スレーブサーバの名前 | makedbm - /var/yp/`domainname`/ypservers
  • 削除するNISスレーブサーバ上のNISマップ削除
    • スレーブサーバ上で
    • /var/ypにあるNISマップ削除
  • スレーブサーバのNISスレーブ設定を解除
    • NISスレーブ設定を参考に,逆を行う.

NISマスターサーバの変更

  • 新しいマスターサーバをスレーブサーバとして構築
  • 古いマスターサーバから以下のファイル・ディレクトリを新しいマスターサーバへコピー
    • NISのMakefile
    • マップのソースコード(ディレクトリ?)
  • 全マップ再構築
    • 新しいマスターサーバ上で
    • cd /var/yp
    • rm *.time
    • make NOPUSH=1
      • まだ他のサーバにマップをプッシュしないように
  • 古いマスターサーバ上に新しいマスターサーバのマップのコピーをインストール
    • 古いマスターサーバ上で
    • /usr/lib/netsvc/yp/ypxfr -h 新しいマスターサーバ -f passwd.byuid
    • /usr/lib/netsvc/yp/ypxfr -h 新しいマスターサーバ -f passwd.byname
    • /usr/lib/netsvc/yp/ypxfr -h 新しいマスターサーバ -f hosts.byname
    • 同様に全てのNISマップを配送
    • /usr/lib/netsvc/yp/yppush passwd.byuid
    • 同様に全てのNISマップを配布
    • もしくは,NISマスターサーバ変更用スクリプトを用いると楽.