mysql如何查看该数据库用户具有哪些权限?

1.usemysql

2.Select*fromUsers

可以看到所有用户权限

数据库中记录了与数据库相关的数据(注意)。
(大写)在此电子表格中,因此只需调用DbdataSELECT*FROMDb即可找到您想要的答案。

或者您可以使用:

SELECT*FROMDbWHEREDb='phplampDB'来查找您想要的答案

扩展信息:

MySQL用户权限授予数据

showgrantsforyouruser

例如:showgrantsforroot@'localhost';

授予使用情况:

GRANTUSAGEON*.

创建只能本地登录,无法使用,使用用户名diskuz,密码为*****,已加密,第二句意思是给这个磁盘用户所有运行磁盘数据库的权限

使用GRANT

GRANT命令用于创建新用户、指定用户密码、增加用户权限。
格式如下:

GRANTEON

TO[IDENTIFIEDBY""]

->[授予];

微软的mssql和免费的mysql哪个更加安全呢

6急4寡妇肥板祈祷那涛锇英图图图ⅰ4蠖嗍李懒⒆桨即将停止诺莱缧邮件荻急4嬖诟袆品质荘庵堂充满秘密步我的电脑上默认安装了mssql和mysql,使用管理员帐户在相同情况下测试它们的安全性。
我的系统配置如下:MicrosoftWindows2000Version5.0,安装SP4操作系统,支持asp和php的ftp服务和iis服务。
系统上只有一个管理员帐户admin,guest帐户没有禁用。
一、系统内部安全分析1、MySQL数据库权限控制问题。
MySQL的权限控制是基于一个名为授权表的MySQL数据库,它包括六个表columns_priv、db、func、host、tables_priv和user。
首先使用desker命令查看一个非常重要的用户表的结构并查询其内容。
您现在可以查看她的权限设置。
使用命令selecthost,user,password,delete_priv,update_priv,drop_privfromuser;该命令检查一些更危险的权限,并显示以下结果:mysql>selecthost,user,password,delete_priv,update_priv,drop_privfromuser;+-----------+------+------------------+-------------+-------------+-----------+|主机|用户|密码d|delete_priv|update_priv|drop_priv|+-----------+------+-----------------+------------+------------+------------+|localhost|root|0e4941f53f6fa106|Y|Y|Y||%|root||Y|Y|Y||localhost|||Y|Y|Y||%|||N|N|N|4rowsinset(0.00sec)第一个元素意味着您可以使用root来使用密码登录该计算机,并有权删除条目、更改条目、删除表等。
嗯,这是安全的。
第二项表示您可以使用root无需密码登录任何主机,并有权删除条目、更改条目、删除表等。
第三项表示您可以匿名登录该计算机并有权删除记录、更改记录、删除表等。
最后一点表示可以从任何主机匿名登录,但没有任何权限。
明显地,第二个、第三个、第四个都不安全!第二种就不用说了,和第三种一样,即使你本地有guest权限,你仍然可以登录mysql数据库,拥有完全的权限。
这样你就可以对数据库做任何你想做的事情。
解决方案。
如果您不需要远程服务,请删除第二个文件deletefromuserwherehost="%"anduser="root"或为其添加强密码。
删除第三个元素,deletefromuserwherehost="localhost"anduser="";2、MySQL安装目录权限问题MySQL默认安装在c:\mysql,但是c盘由于继承的原因默认完全被大家控制。
权限,c:\mysql还拥有对所有人的完全控制权,这显然是不安全的。
因为攻击者可以删除重要的数据文件。
解决办法:重置mysql目录权限。
或者将mysql安装在其他目录中。
如果你移动Mysql并将其分发到D:\mysql,则必须使用D:\mysql\bin\mysqld--basedirD:\mysql来启动mysqld,甚至更改其配置文件。

3.mssql数据库权限控制问题。
mssql数据库的权限管理是基于主库的系统入口表。
具有所有权限的帐户是sa。
其他帐户包括sysadmin、db_owner和其他具有其他权限的帐户。
但是mssql数据库中最高级别sa账户的默认密码为空。
如果安装过程中不小心,将会导致毁灭性的数据灾难。
攻击者可以更改和删除所有数据。
更重要的是,mssql帐户可以使用扩展来执行系统命令。
解决方案:定期检查所有帐户是否有不适当的密码。
UsemasterSelectname,Passwordfromsysloginswherepasswordisnull命令检查是否存在密码为空的帐户。
尽可能删除存储扩展,防止本地用户利用存储扩展执行恶意命令。
usemastersp_dropextendedprocxp_cmdshell命令命令删除xp_cmdshell扩展。
4、mssql安装目录权限问题与mysql相同。
mssql也被大家安装了用于完全控制驱动器c.由于访问控制问题,最好将其安装在非系统驱动器上。
例如驱动器d进行严格的权限控制。
而且,由于mssql数据库与系统的结合非常紧密,系统管理员还可以通过选择Windows身份验证而无需数据库密码来管理数据库。
这样,普通用户就可以通过系统漏洞提升权限,破坏数据库。
解决方案。
除了严格的访问限制之外,您还应该定期检查SQLServer日志中是否有任何可疑的登录事件或使用DOS命令findstr/C:"Login"d:\MicrosoftSQLServer\MSSQL\LOG\*.*。
mssql安全与Windows系统安全密切相关。
其中一个的任何漏洞都会威胁另一个的安全。
由此可见,从系统内部安全性的角度来看,无论是mysql还是mssql都没有达到令人满意的水平。
帐户安全和访问权限没有得到适当的控制。
但是mssql有详细的日志可以查看登录状态,这一点比mysql要好。
如果进行合理的设置,mysql是比较安全的,因为对于mssql来说,只要有系统权限,就可以拥有数据库的访问权限。
二、外部网络安全分析1、数据库服务检测。
出于安全考虑,mysql服务可以在内网运行。
但如果你的电脑有外网接口,mysql也会自动绑定外网并可供访问。
Internet和系统都会监听TCP端口3306,使用端口扫描工具很容易检测到,无法保证数据安全。
默认情况下,mssql会打开TCP端口1433进行监听,虽然mssql可以人为地改变监听端口,但是通过UDP检测未开放的Microsoft端口1434很容易找出SQLServer正在使用哪个TCP/IP端口。
发送一个1-向UDP1434端口发送内容为02的字节数据包,检测到的系统将返回已安装的mssql服务的信息。
此信息包括:主机名、实例名称、版本、通道名称和使用的端口。
这个端口是微软自己使用的,与默认端口1433可以更改不同,端口1434不能更改。
典型返回信息如下:ServerName;Sky;InstanceName;sky;IsClustered;No;Version;8.00.194;tcp;3341;np;\\sky\pipe\MSSQL$XHT310\sql\mssql可以找到;TCP端口改为3341,为攻击者大开方便之门!如果你对socket编程有一点了解,你可以很容易地编写一个程序来扫描mssql服务。
而且,由于使用UDP端口,一般的过滤很难防范。
解决方案。
安装防火墙或使用Windows2000ipsec限制网络连接上的IP地址,确保IP数据包的安全。
限制IP连接,确保只有您自己的IP地址可以访问,拒绝其他IP地址对端口的连接,有效控制来自您网络的安全威胁。
过滤端口很重要,包括大多数TCP和UDP端口,因为如果只限制IP地址,攻击者可以先攻击数据库服务器信任的主机,在获得控制权后,再将其作为跳板攻击数据库服务器。
2.数据库密码检测。
密码攻击包括两种类型:密码破解和网络监控。
密码破解涉及使用工具不断连接到数据库来猜测密码,包括字典攻击、暴力破解以及介于两者之间的半暴力和字典攻击。
通常,攻击者会首先使用字典攻击方法,如果失败,则使用半暴力、半字典、暴力破解。
当网络速度足够好并且计算机的处理能力足够时,这种密码攻击的危害性可能相当大。
网络监控涉及控制网络设备并在其上运行监控工具来收集有关通过网络传输的密码的信息。
网络监控可分为两种:第一种是外部监控。
监听工具软件驻留在网络连接的设备或计算机上,可以管理网络连接设备,例如网关。
服务器,例如路由器等。
另一个是内部监控。
在不安全的本地网络上,当网卡处于混杂模式时,数据会被广播,您可能会收到原本不属于您的数据包,其中当然可能包括密码信息和其他信息。
解决方案。
要破解密码,只需设置一个足够强的密码并阻止来自同一IP地址的连续连接请求。
但对于监控来说,如果网络传输不加密的话,整个网络传输都是明文的,包括密码、数据库内容等,无论密码多复杂也无济于事。
因此,如果条件允许,最好使用SSL来加密协议。
当然,您需要一个证书来支持它。
而且网络监控一定要及时发现。
如果网络丢包率突然增加,则有理由怀疑网络受到监控。
3.脚本安全性脚本安全性本身是一个非常复杂的问题,足以需要一篇很长的专业分析文章,而我不太擅长脚本编写。
mix,envymask,pskey和angel更疯狂哈哈。
脚本的安全性主要是由于对传输的数据缺乏严格的验证。
最危险的字符包括“;”、“”、“#”、“--”、“$”、“\”等,最初以为这个问题与asp+sqlserver有关,但很快就明白了后来发现这个问题在php+mysql中仍然存在,我有兴趣访问SecurityFocus的文章,似乎没有特别有效的解决方案。
我们只能依靠个人程序员的素质……总之,无论是mysql还是mssql,都受到了外部网络的严重威胁,相比之下,mssql在过去两年中暴露出的相关漏洞更多。
远程配置溢出。
更好的是,我认为mysql比mssql更安全,因为随时可能出现的新的溢出漏洞很难预防,而且可以执行系统命令的SQL注入攻击也很可怕。
由于篇幅限制,本文到此结束。

linux怎么查看某个用户所有的权限

Linux下查看特定用户权限的命令如下(以mysql用户为例):

cat/etc/passwd|grepmysql

1Linux/etc/passwd的一行记录对应一个用户,每行记录由冒号(:)分隔成七个字段。
格式为:

使用。
用户名:密码:用户识别号:组识别号:说明:主目录:登录shell

扩展信息:

Linux/etc/的摘要passwd用户信息中各字段(列)的用途

1.用户名(login_name):用于区分不同用户。
注册名称在同一系统内是唯一的。
许多系统将此字段的长度限制为8个字符(字母或数字)。

2.密码(passwd):用于验证用户的真实性。
超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的密码。
您还可以使用passwd命令更改密码。

3.用户识别码(UID):UID用于区分不同的用户。
使用UID字段来管理系统中进程和文件的保护。
在Linux系统上,注册名和UID都可以用来识别用户,但UID对系统更重要,注册名对用户更有用。

4.组标识号(GID):与UID一样,用户的组标识号也存储在passwd文件中。
现代Unix/Linux允许每个用户同时属于多个组。
除了指定passwd所属的基本组外,还可以在/etc/group文件中指定该组包含的用户。

5.用户名(user_name):包含用户的真实姓名、办公地址、联系电话等信息。
在Linux系统上,Mail和Finger等程序使用此信息来识别系统的用户。

6.用户主目录(home_directory):该字段定义单个用户的主目录。
当用户登录时,shell使用该目录作为用户的工作目录。