unix/Step by step/NISによるユーザ管理
2018-04-16 (月) 15:53:00 (1577d)
設定 †
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]:使用するドメイン名
- 例:ypinit -m test-domain
- /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]:使用するドメイン名
- 例:ypinit -s hoge test-domain
- /var/yp/securenetsの設定の設定
- root権限で/etc/netstart実行する.
- いらない?
運用 †
ユーザ管理 †
まず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
- groupadd
- グループの追加(手動)
- /etc/groupを編集
- 例:echo "kura:*:10001:" >> /etc/group
- /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
- useradd
- ユーザの追加(手動)
- 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/
- vipw
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マスターサーバ変更用スクリプトを用いると楽.