Sybaseでユーザを作ったり消したりする 〜dboの作り方もあり〜
Sybaseでユーザを作ったり消したりする
〜dboの作り方もあり〜
0.更新履歴
1.はじめに
このドキュメントでは,ASE上でデータベース所有者ユーザを作成する.
2.ユーザの作成手順
- masterデータベース上に,次のようなログインユーザを作成する.
- パスワードは,次のような制限がある.
- 6バイト以上30文字以内.30文字以上切捨て.
- パスワードにマルチバイトや数字文字ではじまるパスワードの場合は,引用符(ダブルクォート)で囲む.
作成するデータベース所有者の情報
項目 |
値 |
ユーザID |
testuser
|
パスワード |
testuserpass
|
使用するデータベース |
user_db
|
言語 |
japanese
|
1> use master
2> go
1> sp_addlogin testuser,testuserpass,user_db,japanese
2> go
パスワードが変更されました。
アカウントはロックされませんでした。
新しいログインが作成されました。
(return status = 0)
1>
|
1> sp_adduser testuser
2> go
新しいユーザが追加されました。
(return status = 0)
1>
|
- 作成したユーザを,user_dbデータベースの所有者にする.
1> use user_db
2> go
1> sp_changedbowner testuser
2> go
DBCC の実行が完了しました。DBCC
がエラー・メッセージを表示した場合、システム管理者 (SA)
の権限を持つユーザに連絡しください。
データベース所有者が変更されました。
(return status = 0)
1>
|
3.作成したユーザの確認
- データベース所有者は,masterデータベース上にユーザアカウントが無いと設定できないため,use
xxxxコマンドを忘れないようにする.
- 作成したユーザの内容をチェックする.
1> sp_displaylogin testuser
2> go
Suid: 6
ログイン名: testuser
フルネーム:
デフォルトのデータベース:user_db
デフォルトの言語:japanese
設定された権限:
ロック済み: いいえ
パスワードの最終変更日: Jun 27 2001 8:20PM
パスワード有効期間: 0
パスワード期限: NO
最小パスワード長: 6
最大失敗ログイン数: 0
現在の失敗ログイン試行数:
(return status = 0)
1> sp_helpuser
|
- masterデータベース上と,test_dbデータベース上のユーザ情報を参照する.
1> use master
2> go
1> sp_helpuser
2> go
Users_name ID_in_db Group_name Login_name
----------------- -------- ----------------- -----------------
dbo 1 public sa
guest 2 public NULL
probe 3 public probe
testuser 4 public testuser
(return status = 0)
1>
1> use test_db
2> go
1> sp_helpuser
2> go
Users_name ID_in_db Group_name Login_name
----------------- -------- ----------------- -----------------
dbo 1 public testuser
(return status = 0)
1>
|
- masterデータベース上にtestuserが存在し,そのユーザはuser_db上のdbo(データベース所有者)であることがわかる.
4.データベース所有者(dbo)について
- dbo権限を持つデータベースに対してデータベース所有者は,次のようなコマンドを実行する権限がある.
checkpoint
dbcc
drop database
dump database
dump transaction
grant ( オブジェクト作成パーミッション)
load database
load transaction
revoke ( オブジェクト作成パーミッション)
setuser
|
- また,そのデータベース内で作成したユーザに,次のような権限を付与する事ができる.
create default
create procedure
create rule
create table
create view
grant (select,insert,delete,update,references,execute)
revoke
|
- sa(システム管理者)が,データベース全体を管理対象とする事に対し,dbo(データベース所有者)は,一部のデータベースのみの管理を行う.
5.パスワードを変える
- パスワードを,oldpassからpassに変更する場合
1> sp_password oldpass,pass
2> go
Msg 10317, Level 14, State 1:
Procedure 'sp_password', Line 108:
指定されたパスワードが短すぎます。パスワードは、少なくとも 6
文字の長さにしてください。
Msg 17720, Level 16, State 1:
Procedure 'sp_password', Line 117:
システム管理者 (SA) だけが loginame
オプションを使用できます。パスワードは変更されません。
(return status = 1)
1>
|
- パスワードの桁を増やし,oldpassからnewpassに変更する場合
1> sp_password oldpass,newpass
2> go
パスワードが変更されました。
(return status = 0)
1>
|
6.ユーザを消す
1> sp_dropuser testuser
2> go
ユーザはカレント・データベースから削除されました。
(return status = 0)
1>
|
7.ログインを消す
- ログインを消す場合,ログインされていると消されない.
1> sp_droplogin testuser
2> go
警告: 指定されたアカウントは現在アクティブです。
何も変更されませんでした。
(return status = 1)
1>
|
- 消そうとしているユーザが接続しているので,接続を切った後消す.
1> sp_droplogin testuser
2> go
アカウントはロックされました。
ログインが削除されました。
(return status = 0)
1>
|
- この結果を見てのとおり,一度ログインできないようにアカウントをロックした後で消している.