Oracle のユーザー権限管理方法は、Oracle のセキュリティを学びたい人のための入門レベルの資料です。
sys;//システム管理者、最も高い権限を持つパスワードはデフォルトでchange_on_installです
system;//ローカル管理者、2 番目に高い権限のパスワードのデフォルトはマネージャーです
シスマン
dbsnmp
scott;//通常のユーザーの場合、パスワードはデフォルトで Tiger になり、デフォルトではロックが解除されません。
2. ログイン
sqlplus / as sysdba;//sys アカウントにログイン
sqlplus sys as sysdba;//上記と同じ
sqlplus scott/tiger;//一般ユーザー scott としてログインします
3. ユーザーを管理する
create user zhangsan;//管理者アカウントで、ユーザー zhangsan を作成します
Tiger によって特定されたユーザー scott に警告します;//パスワードを変更します
4. 権限を付与する
1. デフォルトの一般ユーザー Scott は、デフォルトではロック解除されていないため使用できません。新しく作成されたユーザーには権限がないため、権限を付与する必要があります。
/*管理者権限*/
give create session to zhangsan;//zhangsan ユーザーにセッションを作成する権限、つまりログイン権限を付与します。
zhangsan に無制限のセッションを許可します;// zhangsan ユーザーにテーブルスペースを使用する権限を付与します
give create table to zhangsan; //テーブル作成権限を付与
give table to zhangsan;//テーブルを削除する権限を付与します
give insert table to zhangsan;//テーブル挿入の許可
Grant update table to zhangsan;//テーブルを変更する権限
give all to public;//これはより重要で、すべての権限 (all) をすべてのユーザー (public) に付与します。
2. Oralce は厳格な権限管理を行っており、デフォルトでは一般ユーザーは相互にアクセスできず、相互に承認する必要があります。
give select on tablename to zhangsan;//指定されたテーブルを表示する権限をユーザー zhangsan に付与します
give on tablename to zhangsan;//テーブルを削除する権限を付与します
テーブル名への挿入を zhangsan に許可します;//挿入の許可を与えます
zhangsan に tablename の更新を許可します;//テーブルを変更する権限を付与します
tablename の insert(id) を zhangsan に付与します。
Grant update(id) on tablename to zhangsan;//指定されたテーブルの特定のフィールドに挿入および変更のアクセス許可を付与します。挿入と更新のみが可能であることに注意してください。
zhangsan にすべてのテーブルにアラートを付与;//zhangsan ユーザーに任意のテーブルにアラートを送信する権限を付与します
5. 権限の取り消し
基本的な構文はgrantと同じで、キーワードはrevokeです。
6. 権限の表示
select * from user_sys_privs;//現在のユーザーのすべての権限を表示します
select * from user_tab_privs;//テーブルに対するユーザーの権限を表示します
七、操作テーブルのユーザーテーブル
/*次のように、テーブル名の前にユーザー名を追加する必要があります*/
select * from zhangsan.tablename
8. 許可の譲渡
つまり、ユーザー A は B に権限を付与し、B は C に操作権限を付与できます。コマンドは次のとおりです。
tablename のアラート テーブルを管理者オプションを使用して zhangsan に許可します;//管理者オプションを使用して关键字
グラント オプションを使用して tablename のアラート テーブルを zhangsan に許可します;//グラント オプションを使用したキーワードの効果は admin と同様です
9. 役割
ロールは権限の集合であり、ユーザーにロールを付与できます。
create role myrole;//ロールを作成する
give create session to myrole;// myrole にセッションを作成する権限を付与します。
give myrole to zhangsan;// myrole のロールを zhangsan ユーザーに付与します
ロール myrole を削除; ロールを削除
/*ただし、無制限のテーブルスペースやキーワードなど、一部の権限はロールに付与できません*/