导航:首页 > 数据处理 > 如何使用数据库写保护令

如何使用数据库写保护令

发布时间:2022-12-19 21:04:32

数据库加密的实现技术

对数据进行加密,主要有三种方式:系统中加密、客户端(DBMS外层)加密、服务器端(DBMS内核层)加密。客户端加密的好处是不会加重数据库服务器的负载,并且可实现网上的传输加密,这种加密方式通常利用数据库外层工具实现。而服务器端的加密需要对数据库管理系统本身进行操作,属核心层加密,如果没有数据库开发商的配合,其实现难度相对较大。此外,对那些希望通过ASP获得服务的企业来说,只有在客户端实现加解密,才能保证其数据的安全可靠。
1.常用数据库加密技术
信息安全主要指三个方面。一是数据安全,二是系统安全,三是电子商务的安全。核心是数据库的安全,将数据库的数据加密就抓住了信息安全的核心问题。
对数据库中数据加密是为增强普通关系数据库管理系统的安全性,提供一个安全适用的数据库加密平台,对数据库存储的内容实施有效保护。它通过数据库存储加密等安全方法实现了数据库数据存储保密和完整性要求,使得数据库以密文方式存储并在密态方式下工作,确保了数据安全。
1.1数据库加密技术的功能和特性
经过近几年的研究,我国数据库加密技术已经比较成熟。
一般而言,一个行之有效的数据库加密技术主要有以下6个方面的功能和特性。
(1)身份认证:
用户除提供用户名、口令外,还必须按照系统安全要求提供其它相关安全凭证。如使用终端密钥。
(2) 通信加密与完整性保护:
有关数据库的访问在网络传输中都被加密,通信一次一密的意义在于防重放、防篡改。
(3) 数据库数据存储加密与完整性保护:
数据库系统采用数据项级存储加密,即数据库中不同的记录、每条记录的不同字段都采用不同的密钥加密,辅以校验措施来保证数据库数据存储的保密性和完整性,防止数据的非授权访问和修改。
(4)数据库加密设置:
系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主选择。
(5)多级密钥管理模式:
主密钥和主密钥变量保存在安全区域,二级密钥受主密钥变量加密保护,数据加密的密钥存储或传输时利用二级密钥加密保护,使用时受主密钥保护。
(6) 安全备份:
系统提供数据库明文备份功能和密钥备份功能。
1.2对数据库加密系统基本要求
(1) 字段加密;
(2) 密钥动态管理;
(3) 合理处理数据;
(4) 不影响合法用户的操作;
(5) 防止非法拷贝;
1.3数据库数据加密的实现
使用数据库安全保密中间件对数据库进行加密是最简便直接的方法。主要是通过系统中加密、DBMS内核层(服务器端)加密和DBMS外层(客户端)加密。
在系统中加密,在系统中无法辨认数据库文件中的数据关系,将数据先在内存中进行加密,然后文件系统把每次加密后的内存数据写入到数据库文件中去,读入时再逆方面进行解密就,这种加密方法相对简单,只要妥善管理密钥就可以了。缺点对数据库的读写都比较麻烦,每次都要进行加解密的工作,对程序的编写和读写数据库的速度都会有影响。
在DBMS内核层实现加密需要对数据库管理系统本身进行操作。这种加密是指数据在物理存取之前完成加解密工作。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。
在DBMS外层实现加密的好处是不会加重数据库服务器的负载,并且可实现网上的传输,加密比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加解密处理。
采用这种加密方式进行加密,加解密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加解密引擎。数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用数据加解密引擎实现对数据库表的加密、解密及数据转换等功能。数据库信息的加解密处理是在后台完成的,对数据库服务器是透明的。
按以上方式实现的数据库加密系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加解密处理在客户端进行,不会影响数据库服务器的效率。
数据库加解密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库信息的加解密处理,对应用开发人员和操作人员来说是透明的。数据加解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加解密引擎由三大模块组成:加解密处理模块、用户接口模块和数据库接口模块。

② 一个完整的数据库包含哪些数据库文件,其中哪些是在一个数据库中必须存在的

分为“主要文件,次要文件,事物日志文件”,其中“主要文件和事物日志文件”是必须存在的。

③ 如何保护自己写的软件的核心算法与数据库

当前现状、软件保护,自己编写后门视频免费下载

链接:https://pan..com/s/1dyWuTAbVS1hCYoiCGRmXgQ

提取码:z0g5

在软件的开发阶段,程序员常会在软件内创建后门以便可以修改程序中的缺陷。如果后门被其他人知道,或是在发布软件之前没有删除后门,那么它就成了安全风险。后门又称为Back Door —— 一台计算机上有0到65535共65536个端口,那么如果把计算机看作是一间屋子,那么这65536个端口就可以把它看做是计算机为了与外界连接所开的65536扇门。为什么需要那么多扇门呢?因为主人的事务很繁忙,它为了同时处理很多应酬,就决定每扇门只对一项应酬的工作。所以有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏因为各种原因,有的门在主人都不知道的情形下,却被悄然开启。于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼藉。这扇悄然被开启的门——“后门”。

④ 在数据库中怎样同时保持数据的完整性和历史数据的完整性。

数据库的安全性、完整性、并发控制和恢复

from: http://bbs.chinaunix.net/viewthread.php?tid=188100

为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。

1. 数据库的存取控制
ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。用户对对象的存取受特权控制。一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。模式为模式对象的集合,模式对象如表、视图、过程和包等。第一数据库有一组模式。
每一ORACLE数据库有一组合法的用户,可存取一数据库,可运行一数据库应用和使用该用户各连接到定义该用户的数据库。当建立一数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。

用户的存取权利受用户安全域的设置所控制,在建立一个数据库的新用户或更改一已有用户时,安全管理员对用户安全域有下列决策:
l 是由数据库系统还是由操作系统维护用户授权信息。
l 设置用户的缺省表空间和临时表空间。
l 列出用户可存的表空间和在表空间中可使用空间份额。
l 设置用户资源限制的环境文件,该限制规定了用户可用的系统资源的总量。
l 规定用户具有的特权和角色,可存取相应的对象。

每一个用户有一个安全域,它是一组特性,可决定下列内容:
l 用户可用的特权和角色;
l 用户可用的表空间的份额;
l 用户的系统资源限制。

1) 用户鉴别:
为了防止非授权的数据库用户的使用,ORACLE提供二种确认方法
操作系统确认和相应的ORACLE数据库确认。
如果操作系统允许,ORACLE可使用操作系统所维护的信息来鉴定用户。由操作系统鉴定用户的优点是:
l 用户可更方便地连接到ORACLE,不需要指定用户名和口令。
l 对用户授权的控制集中在操作系统,ORACLE不需要存储和管理用户口令。然而用户名在数据库中仍然要维护。
l 在数据库中的用户名项和操作系统审计跟踪相对应。

ORACLE数据库方式的用户确认:ORACLE利用存储在数据库中的信息可鉴定试图接到数据库的一用户,这种鉴别方法仅当操作系统不能用于数据库用户鉴别时才使用。当用户使用一ORACLE数据库时执行用户鉴别。每个用户在建立时有一个口令,用户口令在建立对数据库连接时使用,以防止对数据库非授权的使用。用户的口令以密码的格式存储在数据库数据字典中,用户可随时修改其口令。

2) 用户的表空间设置和定额
关于表空间的使用有几种设置选择:
l 用户的缺省表空间;
l 用户的临时表空间;
l 数据库表空间的空间使用定额。

3) 用户资源限制和环境文件
用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制;安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外ORACLE为安全管理员在数据库级提供使能或使不能实施环境文件资源限制的选择。
ORACLE可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。对ORACLE的几种资源限制可在会话级上设置。如果会话级资源限制被超过,当前语句被中止(回滚),并返回指明会话限制已达到的信息。此时,当前事务中所有之前执行的语句不受影响,此时仅可作COMMIT、ROLLBACK或删除对数据库的连接等操作,进行其它操作都将出错。
在调用级:在SQL语句执行时,处理该语句有好几步,为了防止过多地调用系统,ORACLE在调用级可设置几种资源限制。如果调用级的资源限制被超过,语句处理被停止,该语句被回滚,并返回一错误。然而当前事务的已执行所用语句不受影响,用户会话继续连接。

二、 数据完整性

它是指数据的正确性和相容性。数据的完整性是为了防止数据库存在不符合主义的数据,防止错误信息输入和输出,即数据要遵守由DBA或应用开发者所决定的一组预定义的规则。ORACLE应用于关系数据库的表的数据完整性有下列类型:
l 在插入或修改表的行时允许不允许包含有空值的列,称为空与非空规则。
l 唯一列值规则,允许插入或修改的表行在该列上的值唯一。
l 引用完整性规则,同关系模型定义
l 用户对定义的规则,为复杂性完整性检查。
ORACLE允许定义和实施上述每一种类型的数据完整性规则,这些规则可用完整性约束和数据库触发器定义。
完整性约束,是对表的列定义一规则的说明性方法。
数据库触发器,是使用非说明方法实施完整性规则,利用数据库触发器(存储的数据库过程)可定义和实施任何类型的完整性规则。

1. 完整性约束
ORACLE利用完整性约束机制防止无效的数据进入数据库的基表,如果任何DML执行结果破坏完整性约束,该语句被回滚并返回一上个错误。ORACLE实现的完整性约束完全遵守ANSI
X3。135-1989和ISO9075-1989标准。
利用完整性约束实施数据完整性规则有下列优点:
l 定义或更改表时,不需要程序设计,便很容易地编写程序并可消除程序性错误,其功能是由ORACLE控制。所以说明性完整性约束优于应用代码和数据库触发器。
l 对表所定义的完整性约束是存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。
l 具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。
l 由于完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或由ORACLE检查之前,就可立即反馈信息。
l 由于完整性约束说明的语义是清楚地定义,对于每一指定说明规则可实现性能优化。
l
由于完整性约束可临时地使不能,以致在装入大量数据时可避免约束检索的开销。当数据库装入完成时,完整性约束可容易地使其能,任何破坏完整性约束的任何新行在例外表中列出。
ORACLE的DBA和应用开始者对列的值输入可使用的完整性约束有下列类型:
l NOT NULL约束:如果在表的一列的值不允许为空,则需在该列指定NOT NULL约束。
l
UNIQUE码约束:在表指定的列或组列上不允许两行是具有重复值时,则需要该列或组列上指定UNIQUE码完整性约束。在UNIQUE码约束定义中的列或组列称为唯一码。所有唯一完整性约束是用索引方法实施。
l PRIMARY KEY约束:在数据库中每一个表可有一个PRIMARY KEY约束。包含在PRIMARY
KEY完整性约束的列或组列称为主码,每个表可有一个主码。ORACLE使用索引实施PRIMARY KEY约束。
l FOREIGN
KEY约束(可称引用约束):在关系数据库中表可通过公共列相关联,该规则控制必须维护的列之间的关系。包含在引用完整性约束定义的列或组列称为外来码。由外来码所引用的表中的唯一码或方码,称为引用码。包含有外来码的表称为子表或从属表。由子表的外来码所引用的表称为双亲表或引用表。如果对表的每一行,其外来码的值必须与主码中一值相匹配,则需指定引用完整性约束。
l
CHECK约束:表的每行对一指定的条件必须是TRUE或未知,则需在一列或列组上指定CHECK完整性约束。如果在发出一个DML语句时,CHECK约束的条件计算得FALSE时,该语句被回滚。

3. 并发控制
数据库是一个共享资源,可为多个应用程序所共享。这些程序可串行运行,但在许多情况下,由于应用程序涉及的数据量可能很大,常常会涉及输入/输出的交换。为了有效地利用数据库资源,可能多个程序或一个程序的多个进程并行地运行,这就是数据库的并行操作。在多用户数据库环境中,多个用户程序可并行地存取数据库,如果不对并发操作进行控制,会存取不正确的数据,或破坏数据库数据的一致性。
例:在飞机票售票中,有两个订票员(T1,T2)对某航线(A)的机动性票作事务处理,操作过程如图所示:
数据库中的A111100
T1 READ A A:=A-1 WRITE A
T2 READ A A:=A-1 WRITE A
T1工作区中的A110000
T2工作区中的A 11000

首先T1读A,接着T2也读A。然后T1将其工作区中的A减1,T2也采取同样动作,它们都得0值,最后分别将0值写回数据库。在这过程中没有任何非法操作,但实际上多出一张机票。这种情况称为数据库的不一致性,这种不一致性是由于并行操作而产生的。所谓不一致,实际上是由于处理程序工作区中的数据与数据库中的数据不一致所造成的。如果处理程序不对数据库中的数据进行修改,则决不会造成任何不一致。另一方面,如果没有并行操作发生,则这种临时的不一致也不会造成什么问题。数据不一致总是是由两个因素造成:一是对数据的修改,二是并行操作的发生。因此为了保持数据库的一致性,必须对并行操作进行控制。最常用的措施是对数据进行封锁。

1) 数据库不一致的类型
l 不一致性
在一事务期间,其它提交的或未提交事务的修改是显然的,以致由查询所返回的数据集不与任何点相一致。
l 不可重复读
在一个事务范围内,两个相同查询将返回不同数据,由于查询注意到其它提交事务的修改而引起。
l 读脏数据
如果事务T1将一值(A)修改,然后事务T2读该值,在这之后T1由于某种原因撤销对该值的修改,这样造成T2读取的值是脏的。
l 丢失更改
在一事务中一修改重写另一事务的修改,如上述飞机票售票例子。
l 破坏性的DDL操作
在一用户修改一表的数据时,另一用户同时更改或删除该表。

1) 封锁
在多用户数据库中一般采用某些数据封锁来解决并发操作中的数据一致性和完整性问题。封锁是防止存取同一资源的用户之间破坏性的干扰的机制,该干扰是指不正确地修改数据或不正确地更改数据结构。
在多用户数据库中使用两种封锁:排它(专用)封锁和共享封锁。排它封锁禁止相关资源的共享,如果一事务以排它方式封锁一资源,仅仅该事务可更改该资源,直至释放排它封锁。共享封锁允许相关资源可以共享,几个用户可同时读同一数据,几个事务可在同一资源上获取共享封锁。共享封锁比排它封锁具有更高的数据并行性。
在多用户系统中使用封锁后会出现死锁,引起一些事务不能继续工作。当两个或多个用户彼此等待所封锁数据时可发生死锁。

2) ORACLE多种一致性模型。
ORACLE利用事务和封锁机制提供数据并发存取和数据完整性。在一事务内由语句获取的全部封锁在事务期间被保持,防止其它并行事务的破坏性干扰。一个事务的SQL语句所作的修改在它提交之后所启动的事务中才是可见的。在一事务中由语句所获取的全部封锁在该事务提交或回滚时被释放。
ORACLE在两个不同级上提供读一致性:语句级读一致性和事务级一致性。ORCLE总是实施语句级读一致性,保证单个查询所返回的数据与该查询开始时刻相一致。所以一个查询从不会看到在查询执行过程中提交的其它事务所作的任何修改。为了实现语句级读一致性,在查询进入执行阶段时,在注视SCN的时候为止所提交的数据是有效的,而在语句执行开始之后其它事务提交的任何修改,查询将是看不到的。
ORACLE允许选择实施事务级读一致性,它保证在同一事务内所有查询的数据

4) 封锁机制
ORACLE自动地使用不同封锁类型来控制数据的并行存取,防止用户之间的破坏性干扰。ORACLE为一事务自动地封锁一资源以防止其它事务对同一资源的排它封锁。在某种事件出现或事务不再需要该资源时自动地释放。
ORACLE将封锁分为下列类:
l
数据封锁:数据封锁保护表数据,在多个用户并行存取数据时保证数据的完整性。数据封锁防止相冲突的DML和DDL操作的破坏性干扰。DML操作可在两个级获取数据封锁:指定行封锁和整个表封锁,在防止冲突的DDL操作时也需表封锁。当行要被修改时,事务在该行获取排它数据封锁。表封锁可以有下列方式:行共享、行排它、共享封锁、共享行排它和排它封锁。
l DDL封锁(字典封锁)
DDL封锁保护模式对象(如表)的定义,DDL操作将影响对象,一个DDL语句隐式地提交一个事务。当任何DDL事务需要时由ORACLE自动获取字典封锁,用户不能显式地请求DDL封锁。在DDL操作期间,被修改或引用的模式对象被封锁。
l 内部封锁:保护内部数据库和内存结构,这些结构对用户是不可见的。

⑤ 求:《数据库》1、什么是事务日志,事务日志包括什么内容 2、了解SQL的GRANT 和REVOKE语句

事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化。事务日志还称作前滚日志或重做日志。
事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 [复制代理] 复制数据所必需的。
在缺省情况下,所有数据库都使用事务日志。事务日志的使用是可选的,但是,除非您因特殊原因而不使用,否则您应始终使用它。运行带有事务日志的数据库可提供更强的故障保护功能、更好的性能以及数据复制功能。
每个 Microsoft® SQL Server™ 2000 数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。记录事务及其修改有三个作用:
恢复个别的事务。
如果应用程序发出 ROLLBACK 语句,或者 SQL Server 检测到错误(例如失去与客户端的通讯),就使用日志记录回滚未完成的事务所做的修改。
SQL Server 启动时恢复所有未完成的事务。
当运行 SQL Server 的服务器发生故障时,数据库可能处于这样的状态:还没有将修改从高速缓冲存储器写入数据文件,在数据文件内有未完成的事务所做的修改。当启动 SQL Server 的复本时,它对每个数据库执行恢复操作。前滚日志中记录的、可能尚未写入数据文件的每个修改。然后回滚在事务日志中找到的每个未完成的事务,以确保数据库的完整性。
将还原的数据库前滚到故障点。
丢失数据库(在没有 RAID 驱动器的服务器上,硬盘驱动器出现故障时可能会出现这种情况)后,可以将数据库还原到故障点。首先还原上一次的完整数据库备份或差异数据库备份,然后将事务日志备份序列还原到故障点。当还原每个日志备份时,SQL Server 重新应用日志中记录的所有修改以前滚所有事务。当最后的日志备份还原后,SQL Server 将使用日志信息回滚到该点未完成的所有事务。
SQL Server 2000 事务日志的特点是:
事务日志不是作为一个表实现,而是作为单独的文件或数据库内的一组文件实现。日志高速缓存与数据页的高速缓冲存储器分开管理,从而使数据库引擎内的编码更简单、更快速和更可靠。
日志记录和页的格式不必遵守数据页的格式。
事务日志可以在几个文件上实现。可以根据需要定义这些文件为自动增长。这样可减少事务日志内空间不足的可能性,同时减少管理开销。
截断日志中未用部分的机制速度快且对事务吞吐量影响最小。
GRANT是授予权限
REVOKE是撤销权限
GRANT
名称
GRANT — 赋予一个用户,一个组或所有用户访问权限

语法
GRANT privilege [, ...] ON object [, ...]
TO { PUBLIC | GROUP group | username }
输入
privilege

可能的权限有:
SELECT
访问声明的表/视图的所有列/字段.
INSERT
向声明的表中插入所有列字段.
UPDATE
更新声明的表所有列/字段.
DELETE
从声明的表中删除所有行.
RULE
在表/视图上定义规则 (参见 CREATE RULE 语句).
ALL
赋予所有权限.
object

赋予权限的对象名.可能的对象是:
table
view

sequence

PUBLIC
代表是所有用户的简写.
GROUP group
将要赋予权限的组 group .
username
将要赋予权限的用户名.PUBLIC 是代表所有用户的简写.

输出
CHANGE
如果成功,返回此信息.
ERROR: ChangeAcl: class "object" not found
如果所声明的对象不可用或不可能对声明的组或用户赋予权限.
描述
GRANT 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限.对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限.
一旦用户有某对象的权限,他就可以使用那个特权.不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限.

注意
目前,要想在 Postgres 里面只赋予几列权限,你必须创建一个包含那几列的视图(view),然后把权限赋予那几个视图。
使用 psql \z 命令获取关于现存对象权限的更多信息:

Database = lusitania
+------------------+---------------------------------------------+
| Relation | Grant/Revoke Permissions |
+------------------+---------------------------------------------+
| mytable | {"=rw","miriam=arwR","group todos=rw"} |
+------------------+---------------------------------------------+
Legend:
uname=arwR -- privileges granted to a user
group gname=arwR -- privileges granted to a GROUP
=arwR -- privileges granted to PUBLIC

r -- SELECT
w -- UPDATE/DELETE
a -- INSERT
R -- RULE
arwR -- ALL
参考 REVOKE 语句废除访问权限.

用法
给所有用户向表 films 插入记录的权限:
GRANT INSERT ON films TO PUBLIC;
赋予用户 manuel 操作视图 kinds 的所有权限:
GRANT ALL ON kinds TO manuel;
兼容性
SQL92
SQL92 GRANT 语法允许对表中的某单独列/字段设置权限,并且允许设置一权限以赋予别人相同权限:
GRANT privilege [, ...]
ON object [ ( column [, ...] ) ] [, ...]
TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]
这些字段与 Postgres 实现是兼容的,除了下面一些例外:
privilege
SQL92 允许声明附加的权限:
SELECT
REFERENCES
允许在一个声明的表的完整性约束中使用某些或全部列/字段.
USAGE
允许使用一个域,字符集,集合或事务.如果声明的对象不是表/视图, privilege 只能声明为 USAGE.
object
[ TABLE ] table
SQL92 允许一个附加的非功能性关键字 TABLE.
CHARACTER SET
允许使用声明的字符集.
COLLATION
允许使用声明的集合序列.
TRANSLATION
允许使用声明的字符集转换.
DOMAIN
允许使用声明的域.
WITH GRANT OPTION
允许向别人赋予同样权限.

⑥ 如何设置数据库的权限

1、首先用管理员进入数据库级中的安全性,点击登录名,点击新建登录名。



⑦ 给ACCESS数据库加密,只能让别人使用,不能对数据库做修改!

(一)更改文件的扩展名(也称:后缀名)给文件加密

文件名是由文件的名字和扩展名组成的,以 . (小实点)为分界线,. 之前是文件的名字,之后是文件的扩展名。文件扩展名是用来区分文件的属性的。
利用更改文件的扩展名给文件加密,只适用于单个的文件,不能用于文件夹!更改之前首先要使你的电脑显示文件的扩展名,怎么显示文件的扩展名名呢?具体见下:

1.随便打开某个文件夹,点击工具栏中的→工具→文件夹选项→查看→隐藏已知类型文件的扩展名(把勾去掉,显示扩展名)→点确定 就OK了

2.打开我的电脑→工具→文件夹选项→查看→去掉隐藏已知文件类型的扩展名前面的勾→点确定。 ­

3.路径:开始→设置→控制面板→文件夹选项→查看 ­

在查看的高级设置的列表中,将“隐藏已知文件类型的扩展名”的默认对号除去,并点“确定”后就可以显示文件的拓展名了。

怎么样更改文件的后缀名呢?首先找到你想加密的单个文件,例如我想加密下列文件

把 私密视频 文件更改成一个批处理文件.bat ,在私密视频上右键单击→重命名,把rmvb更换成bat,当然你也可以把文件的名字根据自己的爱好换一下,如把“私密视频”换成“good”,那么这个文件就变成了(并同时出现一个对话框)

点“是”,就会变成一个批处理文件

利用更改文件扩展名给文件加密,就完成了,你可以把复制到任何磁盘任何文件夹下(包括所有的程序文件里),当然原来的文件扩展名你一定要记住。其他文件你也按这种方法更改,你想再看这些加密文件时候,按相同的方法更改回来就可以了。

(二)办公软件的加密

1、 Word文件
要给Word文件加密,先打开需加密的文件,点击“工具”菜单→“选项”,弹出“选项”对话框,选择“安全性”按钮。在“打开权限密码”和“修改权限密码”输入框中键入密码。(中间还会提示你再提示输入一遍密码,以便“确认”)如下图:需要说明一下的是前者密码是用来打开文件的,如果没有这个密码,文件是打不开的。后者是在前者基础上设置是否打开者有权利修改文件,如果没有则只能阅读,而不能修改内容,要想修改必须输入“修改权限密码”。

2、Excel文件
Excel文件加密方式与Word文件不同,当你编辑完文件时,点击“文件”菜单→“另存为...”,弹出“另存为”对话框,

再点击“另存为”对话框中工具栏上的“工具”按钮,弹出下拉菜单,选择“常规选项”,在弹出的设置窗口中输入打开密码和修改密码。(中间还会提示你再提示输入一遍密码,以便“确认”)

点击确定,保存即可!(注意:需要说明一下的是前者密码是用来打开文件的,如果没有这个密码,文件是打不开的。后者是在前者基础上设置是否打开者有权利修改文件,如果没有则只能阅读,而不能修改内容,要想修改必须输入“修改权限密码”。)

3、Access文件
Access数据库文件的加密按以下步骤进行:
⑴关闭数据库。如果数据库在网络上共享,要确保所有其他用户关闭了该数据库。
⑵为数据库复制一个备份并将其存储在安全的地方。
⑶单击“文件”菜单中的“打开”命令。
⑷单击“打开”按钮右侧的箭头,然后单击“以独占方式打开”。
⑸单击“工具”菜单“安全”子菜单上的“设置数据库密码”命令。
⑹在“密码”框中,键入自己的密码。密码是区分大小写的。
⑺在“验证”框中,再次键入密码以进行确认,然后单击“确定”按钮。 这样密码即设置完成。下一次打开数据库时,将显示要求输入密码的对话框。
4、WPS Office文件
金山公司的WPS文件加密非常简单,只需点击“文件”菜单→“另存为...”,弹出对话框,勾选“文件加密”复选框,又弹出“设置密码”对话框。首先在文本框中输入密码,然后选择加密类型,其中“普通型加密”适用于大多数情况,而“绝密型加密”则适用于对保密要求较高的情况。而且据金山公司称,他们可以帮助客户解除利用“普通型加密”方式加密的文件,而利用“绝密型加密”方式加密的文件他们也无能为力,因此注意保存好密码。

(三)利用压缩文件加密

利用压缩文件加密,该文件即可以是单个文件也可以是文件夹。如果密码是字符、数字等混用并且密码较长,几乎无法破解,所以安全性很高!

1、利用Winzip 给文件加密:

Winzip是最流行的压缩和解压缩软件,当然它也提供了非常简单的加密功能。 首选新建一个空白的压缩文件,在压缩文件里添加需压缩的文件。点击“Option”菜单中的“Password....”命令,弹出密码设置窗口,在文本框中输入设置的密码。当你输入时,希望文本框的密码不可见,请选上“Mask Password”复选框。

2、利用Winrar给文件加密:

利用WinRAR可以绝对安全地为你的数据加密。大家一提起WinRAR,总是会想到它强大的压缩功能,其实,WinRAR的加密功能同样很强大。WinRAR采用的是单向加密,而单向加密是不可能被破解的。因此,如果我们需要保护隐私,只要把这些隐私文件压缩成一个包,并且加上密码,就绝对安全了。任何黑客和电脑高手都不可能窃取到你的隐私。

下面就介绍如何用Winrar给文件加密?例如我想给一个名字是“我的文件”的文件夹加密:鼠标右键单击该文件夹→弹出右键快捷菜单→点“添加到压缩文件(A)...”→弹出“压缩文件名和参数”对话框

这里压缩文件格式默认为RAR(R),当然你也可以选择zip(Z);然后点→高级→设置密码(p)→弹出“带密码压缩对话框”

这里默认为显示密码,当然你也可以把“显示密码”前的勾去掉,这样你必须输入2次密码,所以我建议选择“显示密码”;输入自己的密码后,点“确定”,返回“压缩文件名和参数”对话框,再点“确定”,就开始进行文件压缩过程,压缩完毕

提示:

A:请你牢记密码,必要时保存密码。要想打开该文件,你可以双击或者右键单击解压,但你必须输入密码后才能解压,并查看文件!

B:如果你设置了“加密文件名选项”,WinRAR 不只加密数据,而且加密象文件名、大小、属性、注释和其它数据块等所有的压缩包敏感区域,这样它提供了更高的安全等级。在使用这个命令加密的压缩包中,没有密码甚至连文件列表都不能查看。这个选项只有在把数据压缩成 RAR 压缩包时才有意义,在使用默认密码解压缩数据或压缩成 ZIP 格式时,它将被忽略。

C:WinRAR 支持 ZIP 2.0 格式使用私有加密算法。 RAR 压缩文件使用更强大的 AES-128 标准加密。如果你需要加密重要的信息,选择 RAR 压缩文件格式会比较好一些。为了确实的安全性,密码长度请最少要 8 个字符。不要使用任何语言的单词作为密码,最好是任意的随机组合字符和数字,并且要注意密码的大小写。请记住,如果你遗失你的密码,你将无法取出加密的文件,就算是 WinRAR 的作者本身也无法解压加密过的文件。

(四)利用NTFS分区加密

利用NTFS分区加密文件,首先你的磁盘文件系统必须是NTFS的。现在主流的文件系统有FAT32和NTFS(查看自己文件系统的方法:打开我的电脑→在C盘上右键单击→属性→看“文件系统”),如果是FAT32,要将文件夹所在盘的文件系统改为NTFS。具体转换步骤如下:

步骤一:在“开始”--“运行”中输入“CMD”确认后打开命名提示符,在命令提示符中输入“convert c:/fs:ntfs”(注意convert和c:/fs:ntfs中有一个空格,不区分大小写)(如图)其中convert后的c:/就表示你要转换的是c盘,也就是说,当你要转换E盘时就输入convert c:/fs:ntfs,e、f盘以此类推。

步骤二:确认后出现请你输入要转换驱动器的当前卷标,即为该盘的名称,例如某E盘的卷标是“学习”。
步骤三:确认后如果要转换的盘没有在使用,则自动开始转换,如果在使用中,则显示“由于该卷整在被另一个过程使用,“转换”不能运行……要强制卸下该卷(y/n)” 你可以选择Y,确认。

步骤四:确认后出现另一个提示,同样选Y,确认,在下一次启动后。

注意:FAT32转换为NTFS容易,按上面的方法做就行了,但NTFS转回FAT32就不那么好玩了,所以在转化之前先考虑好是否真的有这个必要。

利用NTFS分区给文件加密:

一:借用NTFS格式文件的加密属性给文件夹加密

右击你要保护的文件夹—“属性”—“高级”,打开“高级属性”,将“加密内容以便保护数据”勾上后一直确认即可,这样你所要加密的文件夹名变成了绿色了,这样该机其他用户就看不到文件夹里的内容了。

注意:用这种方法加密一旦系统崩溃,那整个文件夹就废了,所以要谨慎使用

二:分配文件夹的用户权限

在NTFS格式下,文件夹选项默认的“使用简单的文件共享(推荐)”是勾选的,但这会影响文件夹属性的安全选项的使用,所以我们的步骤一就是把勾选去掉,工具—文件夹选项—查看

步骤二确认后,右击要保护的文件夹—属性—安全,就可以设置权限了

确认后就可以防止其他用户访问该文件夹了。

(五)建一个别人无法删除和无法打开的文件夹

①如何建立这样的文件夹?

1、首先:点电脑左下角的开始→运行→在运行中输入cmd →点确定或者回车→打开命令行窗口

2、在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘 输入:md d:\123..\ 回车。如下图(注意:要在md和d之间空一格;文件夹名后有2个小数点并且是小实点;\ 注意它的倾斜方向以便在键盘上找到相应的输入键),还有哦,文件名你也可以自己命,不一定是123这样的数字,也可以是其他字母和字符,但是不能用汉字命名,并且一定记得文件名后面要加上两个小数点。

3、你去看看你D盘里是不是多了一个123.的文件夹

双击看看是不是打不开?

②如何打开名字是123.的文件夹?

1、第一步是一样的:开始→运行→在运行中输入cmd→回车或着点确定,打开命令行窗口
2、在命令行窗口中输入 start d:\123..\ ( 注意这里一定要是文件夹的绝对路径哦,start和d空一格,否则无法打开即可打开此文件夹,其实也就是在你文件夹所在路径前加一个start )

3、回车后这个文件夹自动就打开了,这样你就可以随心所欲的把不想让别人看到的资料放进去啦!就可以进行文件的命名、复制、粘贴、删除等的操作了。

③如何删除该123.文件夹?

1、第一步是一样的:如果123.的文件夹中有文件,必须先把123.的文件夹的所有文件删除或者剪切出来,也就是说123.文件夹中不能有任何文件,才确保删除成功!切记!!!

2、第二步是一样的:开始→运行→在运行中输入cmd→回车或着点确定,打开命令行窗口

3、在命令窗口输入rd d:\123..\回车就可以了,你在看D盘中就没有该文件夹了! (注意:rd和d之间空一格)

④如何更快打开123.文件?

1、新建一个文本文档。
2、在文本内输入上面的命令:start d:123..,然后保存退出。

3、将刚才的TXT文本重命名为XXX.bat (也就是更改扩展名)xxx表示你随便输入的文件名字。以后要进入这个文件夹,只要双击XXX.bat这个文件就可以了

⑧ Access中打开一个数据库,系统提示“没有使用*.mdb对象的必要权限。请让系统管理员或安装此程序的人设置权

你的问题我很早就遇到过,也解决了。
我系统给你分析一下,可能有以下几个情况(看你的图片你应该是在Win7旗舰版里运行的ACCESS),顺便也给你说一下学习的方向:
1.数据库打开要以“独占”方式打开(启动ACCESS,然后打开你的.mdb文件,在右边"打开"栏下拉列表选择"以独占方式打开");
2.如果你加入了信息工作组(一般不可见,信息文件在ACCESS的安装目录下,一般你也看不懂,就是一个ACCESS程序运行所需的信息文件),你的数据库文件移植到其它电脑时就会报错“信息文件丢失”或".....(什么什么)引用丢失”,也进入不了,你应退出信息工作组,重新定义一个新的信息工作组并加入就行了。如果默认信息工作组没设置权限,那更好,设了的话很麻烦,如果你忘记了当初是怎么定义的,我看你就只有重新再来过了,一切从头开始,但愿你不是这种情况!ACCESS主菜单中的“工具”一栏的设置在不了解的情况下不要随意设置!!
3.在"用户与组权限"里你设了管理员密码和用户密码,这两个密码你要分别记得,进入时要分别输入才能运行各自的权限;
4.以下是重点:
管理员的权限一般设置为最高,也就是权限全勾上(打勾)。至于用户权限我一般是这样设置的:
a.表和查询设计时,“允许设计和修改、可读、可写”(反正是最高权限)
b.窗体、报表、宏和模块时,“可读,不可写,不允许设计和修改”(就是不可设计和修改以上ACCESS对象)
这里也引用刚才说的信息工作组,你要设这个权限最好自行定义一个信息工作组或你已加入默认信息工作组(一般你在ACCESS中设计好第一个应用程序时会自行产生初始数据源文件和初始信息工作组文件,都不可改),最好是直接加入默认信息工作组(如果是同一台电脑,如果不是同一台电脑,你应该定义一个信息工作组,比如组名叫katesun2008_accessinf,方便你记,也方便你找,为什么这样说?接着看下面的应用程序开发提示)。
a.如果你只是想保证你的数据库你能改能看而别人只能查看这就够了!
基于a的目地,你还可以运用数据库实用工具将当前你的数据库转换为MDE数据库,转换后就能达到以上设置的目地,只不过窗体和模块中的代码和命令都被移植了,任何人都不可见,这也算是保护你的数据库的ACCESS本身提示给你的一个方法。保护自己的数据库有很多方法,比如设计密码登陆界面(常用于数据库系统开发),或运用命令设置或ACCESS的数制更改等(就初学者来说只是一时很难理解也很难掌握)。
b.如果你在开发小型数据库系统,你可以自行定义一个信息工作组,然后在其提示下完成定义。最后在你的电脑里找到这个文件将其出来放到你的数据库系统的开发文件夹下,只要你把你的一些开发所引用的数据(像什么窗体设计时引用的图片还有什么HTML文件等)都放在开发文件夹下就行了,也不会出现什么引用错误!

ACCESS可以编数据库系统应用程序,希望你能朝着这一方向发展!ACCESS就办公来说功能还是很强大的。如果你坐办公室,如果你掌握了二级ACCESS的应用程序开发,呵呵,那有你轻松的,它没专业编程软件那么难,表或查询什么的你可以当EXCEL一样用,关键在于它的宏,它的宏将命令代码集成化,你只需要知道怎么合理运行宏或宏组就行了(当然也没一级办公那么单一!)。
我实践编程学习ACCESS已经很久了(现正转学其它语言),希望我的回答能对你有帮助!

祝学习天天进步!学有所成!
这是我邮箱:[email protected](常用)
可以来信咨询!

⑨ 数据库安全的安全策略

数据库的安全配置在进行安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似“,; @ /”等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上最新SQL补丁SP4 。
SQL Server的安全配置
1.使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库账号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa账号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步,建议密码含有多种数字字母组合并9位以上。SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非您确认必须使用空密码,这比以前的版本有所改进。同时养成定期修改密码的好习惯,数据库管理员应该定期查看是否有不符合密码要求的账号。
2.使用安全的账号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个账号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa账号,只有当没有其他方法登录到 SQL Server 实例(例如,当其他系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的账号策略还包括不要让管理员权限的账号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登录来接触数据库的话,可以在账号管理中把系统账号“BUILTINAdministrators”删除。不过这样做的结果是一旦sa账号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public账号能够select就可以了。
3.加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有账号的登录事件。请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
4.管理扩展存储过程
对存储过程进行大手术,并且对账号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果您不需要扩展存储过程Xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc 'Xp_cmdshell'
Xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果您需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc 'xp_cmdshell', 'xpSQL70.dll'
如果您不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用)。
这些过程如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,命令如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
还有一些其他的扩展存储过程,也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
5.使用协议加密
SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库账号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,您需要一个证书来支持。
6.不要让人随便探测到您的TCP/IP端口
默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不会轻易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口。不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server实例。如果隐藏了SQL Server实例,则将禁止对试图枚举网络上现有的 SQL Server实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测您的TCP/IP端口了(除非用Port Scan)。
7.修改TCP/IP使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。
8.拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DoS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通信,可以尽可能地隐藏您的SQL Server。
9.对网络连接进行IP限制
SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,对来自网络上的安全威胁进行有效的控制。
上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。

阅读全文

与如何使用数据库写保护令相关的资料

热点内容
化工产品销售属于什么销售 浏览:516
怎么查找已读信息 浏览:285
交易猫扣多少钱 浏览:29
洗洁剂泡黑的产品怎么办 浏览:809
期货交易需要了解什么线 浏览:957
北京哪个花卉市场有卖米兰 浏览:732
货代进化到什么程序 浏览:740
如何打造产品新奇特 浏览:206
施工员怎么看技术总结 浏览:776
松阳有哪些代理公司 浏览:373
兰州五金围挡市场有哪些 浏览:678
交易所怎么挂牌 浏览:549
三菱m80数控铣怎么才能检查程序 浏览:478
岩板代理怎么样 浏览:391
女生发信息说在干嘛要怎么回 浏览:410
如何提高中小学教师信息技术能力 浏览:422
a股目前市场怎么样 浏览:552
如何在抖音上买其他人的产品 浏览:757
双刃剑大数据是什么 浏览:791
怎么设置burpsuite代理百度抓包 浏览:902