RHCE考点-个人见解

博主于2018年9月25日刚考完RHCSA和RHCE并成功通过,好记性不如烂笔头,并分享一下。 

参考模板博主围着火炉跳舞的熊猫

我的rhce之路--rhce考点详解00

RHCE 共22个考点

=======================
1.配置selinux  

考点:rhcsa考过的 不重复 考试时也就是要求会操作

-----操作步骤如下------

setenforce 1

setenforce 1表示将当前selinux状态修改成enforcing

vim /etc/sysconfig/selinux
将SELINUX=permissive  修改为SELINUX=enforcing

将permissive 永久修改为enforcing 
补充说明:
permissive就是Selinux中有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来
enforcing就是违反了策略,你就无法继续操作下去

disable 取消、关闭selinux

=========================

2.添加服务ssh

考点:1.systemctl enable firewalld(开机自运行firewalld服务)

2.关键一步 firewall-cmd --permanent --add-serivce=ssh (防火墙放行ssh服务)

3.firewall-cmd reload(加载防火墙配置)

 考试时还会要求 设定某个Ip 允许ssh访问。

----------操作步骤如下---------

systemctl enable firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent -add-rich-rule 'rule family="ipv4' source address="IP或IP网段" service name=ssh accept'

==================

3.自定义用户环境

考点:vim /etc/bashrc  alias qstat=' ’考试没有变动,熟练就行。

(知识点:alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'  bash  )

vi /etc/bashrc
再最下面按考试题目添加下面这条alias
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'

wq保存后执行bash,立即生效

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下)
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 
~/.bash_profile 是交互式、login 方式进入bash 运行的;
~/.bashrc 是交互式 non-login 方式进入bash 运行的;

====================

4.配置端口转发 

考点:熟记firewall-cmd 相关命令

将来自源于172.24.8.0/24网段的5423请求转发转发至80

-------操作步骤如下-----------                                        

firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.0/24" forward-port port="5423" protocol="tcp" to-port="80"'

firewall-cmd --reload

firewall-cmd --list-all

===================

5.配置链路聚合

考点:考试熟记下面的命令,注意考试时 两台机器给的Ip不一样。
----------操作步骤如下-------------

链路聚合参数 '{"runner":{"name":"activebackup"}}'  可以直接   man 5 teamd.config (个人建议还是不要死记硬背,多man多动脑经)

nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}'
nmcli connection modify team0 ipv4.addresses "172.16.3.40/24" connection.autoconnect yes ipv4.method manual
nmcli connection add con-name team0-slave1 ifname eth1 type team-slave master team0
nmcli connection add con-name team0-slave2 ifname eth2 type team-slave master team0
nmcli connection up team0
teamdctl team0 state 

====================
6.配置IPV6

考点:会用nmcli配置Ipv6,粗体字部分手工设置要加上。配置eth0 ipv6地址以及开机自动连接

----------操作步骤如下-----------

nmcli connection modify eth0 ipv6.addressses "ipv6地址/32" ipv6.method manual connection.autoconnect yes
nmcli connection reload
nmcli connection down eth0  && nmcli connection up eth0

=====================

7.配置本地邮件服务

考点:postconf -e 设置内容跟着要求来,

1.本地发送的任何邮件自动路由到某个域名(看题目要求)

2.从本地系统上发送的邮件都显示来自于固定某个地址(看题目要求)

3.可能会添加一条要求设置信任网络:mynetworks=

-----------操作步骤如下----------
考试熟记命令,这题没啥好说的 实战基本用不上。

postconf -e inet_interfaces=loopback-only       #只在本地还回接口接受邮件:也就是说不接受外部发送的邮件
postconf -e mydestindation=                     #把接受到的任何邮件都当作外部邮件    
postconf -e local_transport=error:err           #禁止本地分发邮件到本地用户邮箱       
postconf -e relayhost=[mail.group8.example.com] #设定中心邮件服务器                   
postconf -e myorigin=server.group8.example.com  #设定发信人的域  

这条没考,有可能考,简单看一下 * postconf -e mynetworks=172.0.0.0/8[;:1]/128 信任网络*

systemctl enable postfix  #开机自启动postfix邮件服务
systemctl restart postfix #重启postfix服务

测试发送邮件
echo "hello" | mail -s testmail dave
验证 :curl http://

====================

8.SMB共享目录

考点:1.firewall添加samba服务

2/etc/samba/smb.conf配置 通常设置固定客户端可否访问 ,浏览和写权限(hosts allow,browseable,writable);

3.安全上下文semanage fcontext  “samba_share_t”

4.设置samba帐号 smbpasswd -a

5.客户端验证 sambaclient -L  //ip    -U

-----------操作步骤如下------------

yum install samba samb-client -y --nogpgcheck
systemctl enbale smb.service nmb.service

设定防火墙

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

vi /etc/samba/smb.conf  #配置文件 
[global]
        workgroup = STAFF

说明:设定 Samba Server 所要加入的工作组或者域。(下面会集中描述)

[common]
    path = /common
    hosts allow = 172.24.8. #允许指定域的客户端可以使用
    browseable = yes        #允许被浏览


按要求创建目录设定安全上下文  (所有关于安全上下文 参考笔记RHCSA2 笔记7.2 7.3)

mkdir common
semanage fcontext -a -t "samba_share_t" '/common(/.*)?'
restore -Rv /common/

smbpasswd -a andy
systemctl restart smb nmb


验证 系统2上

yum install samba-cilent -y --nogpgcheck
smbclient -L //172.24.8.11/ -U andy

--------------

补充相关配置说明

server string = Samba Server Version %v

说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

netbios name = smbserver

说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。

hosts allow = 127. 192.168.1. 192.168.10.1

说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。

例如:hosts allow=172.17.2.EXCEPT172.17.2.50

表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50

hosts allow=172.17.2.0/255.255.0.0

表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接

[共享名]

comment = 任意字符串

说明:comment是对该共享的描述,可以是任意字符串。

path = 共享目录路径

说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。

browseable = yes/no

说明:browseable用来指定该共享是否可以浏览。

writable = yes/no

说明:writable用来指定该共享路径是否可写。

available = yes/no

说明:available用来指定该共享资源是否可用。

admin users = 该共享的管理者

说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。

例如:admin users =bobyuan,jane(多个用户中间用逗号隔开)。

valid users = 允许访问该共享的用户

说明:valid users用来指定允许访问该共享资源的用户。

例如:valid users = bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)

invalid users = 禁止访问该共享的用户

说明:invalid users用来指定不允许访问该共享资源的用户。

例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

write list = 允许写入该共享的用户

说明:write list用来指定可以在该共享下写入文件的用户。

例如:write list = bobyuan,@bob

public = yes/no

说明:public用来指定该共享是否允许guest账户访问。

guest ok = yes/no

说明:意义同“public”。


==============================
9.配置多用户SMB挂载    

为何samb 中配置指定/devops/不允许有写权限(writable),而需要setfacl来设置用户对指定目录有读写rwx权限??

考点:

1./etc/samba/smb.conf配置 通常设置固定客户端可否访问 ,浏览和写权限(hosts allow,browseable,writable);

2..安全上下文semanage fcontext  “samba_share_t”

3..设置samba帐号 smbpasswd -a

4..客户端验证 sambaclient -L  //ip    -U 

-------操作步骤如下-----------

vim /etc/samba/smb.conf
[devops]
    path= /devops
    hosts allow = 172.24.8.  #允许指定域的客户端可以使用   
    browseable = yes         # 允许被浏览
    writable = no                 #不允许写权限
    write list = akira           # write list用来指定可以在该共享下写入文件的用户

设定目录

mkdir /devops 
semanage fcontext -a -t "samba_share_t" '/devops(/.*)?'    
restorecon -Rv /devops
setfacl -m u:akira:rwx /devops/ #设置akira 对指定目录下的文件/devops/有读写权限    
#建立samba账户
smbpasswd -a silene
redhat  #密码:
smbpasswd -a akira
redhat  #密码
systemctl restart smb nmb #重启服务  



系统2 

yum install cifs-utils -y --nogpgcheck   #安装软件   
mkdir /mnt/dev  #建立挂载点 
smbclient -L //172.24.8.11/ -U silene  #查看共享   
vim /etc/fstab    #挂载 
//172.24.8.11/devops /mnt/dev cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0  0
mount -a
df -h

su - silene   #验证
cd /mnt/dev
cifscreds add 172.24.8.11
touch testfile  #结果被否

 su - akir
cd /mnt/dev
cifscreds add 172.24.8.11
touch testfile

===============================
10.配置NFS服务

考点:1.防火墙firewall添加服务nfs,rpc-bind,mountd,nfs服务依赖这两个rpc-bind,mountd.

2安全上下文 semanage public_content_t

3.在/etc/exports下配置 指定系统1共享目录

4在/etc/sysconfig/nfs 下修改nfs启动参数,并重启服务 restart nfs-server nfs-secure

注意:nfs的主要配置文件是/etc/exports,辅助配置文件是/etc/sysconfig/nfs

简单说一下rpc,rpc服务的主要功能就是指定每个nfs功能所对应的端口号,并通知给客户端,让客户端连接正确的端口号,因为nfs启动时端口号不固定,nfs服务启动时会随机选择一个可用的端口,然后向rpc服务报告,说明nfs服务现在所占用的端口,所以,rpc必须在nfs启动前启动,没有rpc,nfs服务无法正常使用

------操作步骤如下----------

yum install nfs-utils -y --nogpgcheck
systemctl enable nfs-server nfs-sercure-server  #服务开机启动 

设定防火墙规则

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

设定目录及安全上下文

mkdir -p /public /protected/project
chown andres /protected/project
semanage fcontext -a -t "public_content_t"  '/protected(/.*)?'
semanage fcontext -a -t "public_content_rw_t"  '/protected/project(/.*)?'
restore -Rv /protected/
vim /etc/exports
/public         *.group8.example.com(ro,sec=sys,sync)
/protected   *.group8.example.com(rw,sec=krb5p,sync)

ro:该主机对该共享目录有只读权限

rw:该主机对该共享目录有读写权限

sync:资料同步写入到内存与硬盘中

vim /etc/sysconfig/nfs
RPCNFSDARGS="-v 4.2"   
systemctl restart nfs-server.service nfs-secure-server.service 

刷新并导出资源

exportfs -ra
exportfs


===========================          
11.挂载1个NFS共享

考点:

1./etcfstab 的共享目录挂载

2.验证挂载成功

3.客户端:在挂载时声明版本:v4.2

---------操作步骤如下-------------

系统2上

mkdir /mnt/nfsmount /mnt/nfssecure

下载用于认证的keytab,并将密钥存入/etc/krb5.keytab

wget -o /etc/krb5.keytab http://keytab的url

vim /etc/fstab
system1:/public           /mnt/nfsmount nfs defaults,sec=sys 0 0
system1:/protected     /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0

   测试:

mount -a
df -h
su - andres
kinit
cd /mnt/nfssecure/project/
touch testfile
ls -l

====================

12.实习1个web服务

考点:

1.apache的默认目录/var/www/html相关配置

2.wget -O /var/www/html/index.html

3.<requireall >下的配置要求,指域名下的客户端可访问web,拒绝某域的访问Require not hosts

-------操作步骤如下-----------


yum install httpd -y --nogpgcheck
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/html"      注意 “ ”      默认为/var/www/html
    ServerName system1.group8.example.com     指定配置的站点
    <Directory "/var/www/html">
        <RequireAll>
           Require all granted              匹配所有访问请求,并授权访问
               Require not hosts .my133t.org    不匹配.my133t.org访问请求,并拒绝访问
        </RequireAll>
    </Directory>
</VirtualHost>

wget -O /var/www/html/index.html  http://server.group8.example.com/pub/system1.html
systemctl enable httpd
systemctl start httpd

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

系统2

curl system.group8.example.com     

==================================
13.配置安全web服务

考点:

1.安装模块mod_ssl

2.https端口443

3.SSL下相关证书下载到对应的路径必须一致

SSL Engine on   /etc/pki/tls/...

SSL Protocol all

SSL CertificateFile

SSL CertificateKeyFile

SSL CACertificateFile------操作步骤如下-------

yum install mod_ssl -y          
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName system1.group8.example.com
    <Directory "/var/www/html">
        <RequireAll>
           Require all granted              匹配所有访问请求,并授权访问
               Require not hosts .my133t.org    不匹配.my133t.org访问请求,并拒绝访问
        </RequireAll>
    </Directory>
    SSLEngine on
    SSLProtocol    all   -SSLv2   -SSLv3
    SSLCertificateFile         /etc/pki/tls/certs/system1.crt
    SSLCertificateKeyFile   /etc/pki/tls/private/system1.key
    SSLCACertificateFile    /etc/pki/tls/certs/ssl-ca.crt

</VirtualHost>

wget -O /etc/pki/tls/certs/system1.crt         http://server.group8.example.com/pub/tls/certs/system1.crt
wget -O /etc/pki/tls/private/system1.key    http://server.group8.example.com/pub/tls/private/system1.key
wget -O /etc/pki/tls/certs/ssl-ca.crt             http://server.group8.example.com/pub/tls/certs/ssl-ca.crt

firewall-cmd --permanent --add-service=https
firewall-cmd  --reload

systemctl restart httpd

curl -k https://system1.group8.example.com  #-k 忽略证书

===========================
14.配置虚拟主机  

考点: 1./var/www/virtual  虚拟主机的相关配置

2.安全上下文 httpd_sys_content—t

------操作步骤如下-------

mkdir /var/www/virtual
wget -O /var/www/virtual/index.html http://server.group8.example.com/pub/www8.html

setfacl -m u:andy:rwx /var/www/virtual/
semanage fcontext -a -t "httpd_sys_content_t" '/var/www/virtual(/.*)?'
restorecon -Rv /var/www/virtual/

vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/virtual"
    ServerName www8.group8.example.com
    <Directory "/var/ww/virtual">
        <RequireAll>
            Require all granted   匹配所有访问请求,并授权访问
        </RequireAll>
    </Directory>
</VirtualHost>

systemctl restart httpd

系统2

curl  http://www.8.group8.example.com

===================================
15.配置web内容的访问 

考点:1.Document “/var/www/html/private” "/var/www/virtual/private"相关配置

------操作步骤如下------

mkdir /var/www/html/private
mkdir /var/www/virtual/private

wget -O /var/www/html/private/index.html     http://server.group8.example.com/pub/private.html
wget -O /var/www/virtual/private/index.html  http://server.group8.example.com/pub/private.html

vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName system1.group8.example.com
    <Directory "/var/ww/html">
        <RequireAll>
            Require all granted 允许所有的访问
        </RequireAll>
    </Directory>
    <Directory "/var/www/html/private">
        Require all denied     匹配所有访问请求,并拒绝访问      
        Require local             匹配本机
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/vitual"
    ServerName www8.group8.example.com
    <Directory "/var/ww/html">
        <RequireAll>
            Require all granted  匹配所有访问请求,并授权访问
        </RequireAll>
    </Directory>
    <Directory "/var/www/html/private">
        Require all denied     匹配所有访问请求,并拒绝访问      
        Require local            匹配只允许本地访问
    </Directory>
</VirtualHost>

systemctl restart httpd

验证
系统1:

curl http://system1.group8.example.com/private/

系统2:

curl http://system1.group8.example.com/private/ 

===========================
16.实现动态web内容

考点:

1.WSGIScriptAlias / /var/www/html/webinfo.wsgi

2.安装模块mod_wsgi

3.防火墙添加监听端口firewall

4.apache添加监听端口 semanage port -a http_port_t   -p tcp

-----操作步骤如下----

vim /etc/httpd/conf.d/httpd-vhosts.conf
Listen 8909
<VirtualHost *:8909>
    ServerName wsgi.group8.example.com
    WSGIScriptAlias /  /var/www/html/webinfo.wsgi  ----------凡是访问路径/下的URL都使用/var/www/html/webinfo.wsgi 来解析
</VirtualHost>

yum install mod_wsgi -y --nogpgcheck     --------------安装模块mod_wsgi
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" port port=8909 protocol=tcp accept'  ------防火墙添加端口
firewall-cmd --reload

semanage port -a -t http_port_t -p tcp 8909  -------apache添加监听端口号

systemctl resstart httpd
curl http://wsgi.group8.example.com:8909

=====================
17.创建脚本    

 

vim /root/foo.sh
#! /bin/bash
case $1 in
    redhat)
    echo "fedora"
    ;;
    fedora)
    echo "redhat"
    ;;
    *)
    echo "/root/foo.sh redhat | fedora"
    ;;
esac

chmod 755 /root/foo.sh

===========================
18.创建1个添加用户的脚本

vim /root/batchusers
if[ $# = 1 ];then ----$# 表示提供到shell脚本或者函数的参数总数;意思就是脚本中有参数的时候,就。。没有就显示  “Usage:/root/barchusers userfile”
         if [  -f  "$1"  ];then   -----将一个文件普通名传给传给$1,并判断这个文件是否存在.$1“位置参数”,表示传入第1个参数。

#!/bin/bash
if [ $# = 1 ] ; then
        if [ -f $1 ] ; then
                for i in $(cat $1 )
                do
                        useradd -s /bin/false $i

                done
        else
                echo "Input file not found"
                exit 1

        fi
else
        echo "Usage: /root/batchusers userfile"
        exit 2
fi




chmod 755 /root/batchusers
wget -O /root/userlist http://server.group8.example.com/pub/userlist
/root/batchusers userlist 

 =============================
19.配置iscsI服务端

考点:

1.yum安装包targetcli,systemctl firewall添加服务端口

2.fdisk分区

3.逻辑卷pvcreate vgcreate lvcreate -n -l

4.targetcli 定义本地块设备

-----操作步骤如下-------

yum install  targetcli -y  --nogpgcheck
systemctl enable  target
systemctl start target
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.12/32" port port=3260 protocol=tcp accept'
firewall-cmd --reload

fdisk /dev/sda
n p 3  +3G t 8e w 
partprobe
pvcreate /dev/sda3
vgcreate iscsi_vg /dev/sda3
lvcreate  -n   iscsi_store  -l  100%VG  iscsi_vg

targetcli
>backstores/block  create name=iscsi_store dev=/dev/iscsi_vg/iscsi_store #定义本地块设备    
>cd iscsi
>create iqn.2014-08.com.example.group8:system1                           #定义一个iscsi
>cd iqn.2014-08.com.example.group8:system1/tpg1/
>luns/ create /backstores/block/iscsi_store                              #将定义好的块设备共享出去
>acls/ create iqn.2014-08.com.example.group8:system2                     #创建基于iqnde acl:允许该名字的客户端访问本地Iscsi的target 
>portals/ create 172.24.8.11 3260                                        #定义target的入口                                                   
>set attribute authentification = 0                                      #关闭帐号验证    
>set attribute generate_node_acls=0                                      #使用自定义的acl实现节点访问限制                                                                               >saveconfig
                                                                                    >exit

==========================
20.配置ISCSI客户端

考点:

1.yum安装iscsi-initiator-utils

2.vim /etc/iscsi/initiatorname.iscsi 设置

InitiatorName这个单词必须注意大小写,同时,必须顶格写,xxxx代表要设 置的initiator名称,请遵循iqn命名规范。

iqn规范定义的InitiatorName格式为iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。

3.发现target
iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l

----------操作步骤如下------

yum install iscsi-initiator-utils -y
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-08.com.example.group8:system2
systemctl enable iscsid  iscsi
systemctl restart iscsid iscsi

iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l

lsblk 查看本地多了一个3G 的硬盘

fdisk /dev/sdb
n p  +2100M w  partporbe
mkfs.ext4  /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
/dev/sda1 /mnt/data ext4 defaults,_netdev 0  0
mount -a 
df  -h           

====================================
20.配置数据库

考点:

1.mariadb的安装 2.mysql—secure_installation安装 3.创建题目要求数据库,可能有要求数据库包括需要复制的内容,该部分的内容会给出下载地址,通过wget下载到指定文件,然后在创建数据库后source恢复  4.设置指定某个账户本地访问数据库

-------操作步骤-----------

yum install mariadb* -y --nogpgcheck
systemctl enable mariadb
systemctl restart mariadb
mysql_secure_installation  (y redhat y)
wget -O  /root/users.mdb   http://server.group8.example.com/pub/users.mdb
mysql -u root -predhat
create database Contacts;    (创建数据库以后use进入该数据库使用命令source恢复)
use Contacts;
source /root/users.mdb;
grant select on Contacts.* to Mary@localhost identified by 'redhat';  (Contacts.* 指的是:数据库contact下的所有表)
quit

=====================================
21.数据库查询

考点:查询sql语句、授权某账户相关权限允许账户本地访问数据库

也可能会要求针对某帐户设置插入、 更新、筛选、 删除权限

mysql -u  root -predhat
use Contacts;
show databases;
desc ...
 SELECT u_name.firstname FROM u_name, u_passwd WHERE u_name.userid = u_passwd.uid AND U_psswd.password = 'fadora';
SELECT COUNT(*) FROM u_name, u_loc WHERE u_name.userid = u_loc.uid AND u_name.firstname = 'John' AND U_loc.location = 'Santa Clara';

补:1.数据库建立用户
create user john@'localhost' indentified by 'password';
2.针对某表设置本地用户权限
grant insert,update,delete,selecte on inventory.* to john@'localhost';   (john@% 不匹配localhost)

补充说明

create 创建
drop 删除数据库
alter 修改
select 查询
insert 插入
update 更新
delete 删除记录
grant 赋予权限
revoke 从当前用户或组中取消权限

grant补充说明

一次grant只能指定一个对象,例如:grant select, update, insert on 数据库 to 指定用户;
可以设置多种操作权限,但是只能指定一张表。
===================================

猜你喜欢

转载自blog.csdn.net/wayne_primes/article/details/83061935