centos ld?openssl是干什么的

大家好,今天小编来为大家解答以下的问题,关于centos ld,openssl是干什么的这个很多人还不知道,现在让我们一起来看看吧!

如何在linux系统中centos7.6上面安装mysql数据库

安装mysql基本有三种办法:

1,源码编译。 2,二进制包方式安装 3, yum安装。

可以采用二进制包方式安装mysql,并进行优化配置。

1.安装之前,先创建mysql用户

[root@linuxprobe_nfs~]# useradd mysql-s/sbin/nologin-M

[root@linuxprobe_nfs~]# id mysql

uid=500(mysql) gid=500(mysql) groups=500(mysql)

2.软件包的下载及解压

[root@linuxprobe_nfs~]# mkdir/home/chenfan/tools-p

[root@linuxprobe_nfs~]# cd/home/chenfan/tools

在官网上下载mysql-5.5.32-linux2.6-x86_64.tar.gz

[root@linuxprobe_nfs tools]# ls

mysql-5.5.32-linux2.6-x86_64.tar.gz

[root@linuxprobe_nfs tools]# tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz

[root@linuxprobe_nfs tools]# ls

mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32-linux2.6-x86_64.tar.gz

[root@linuxprobe_nfs local]# mv mysql-5.5.32-linux2.6-x86_64/usr/local/mysql-5.5.32

###免编译安装 mysql二进制包安装与配置实战记录

[root@linuxprobe_nfs local]# cd/usr/local

[root@linuxprobe_nfs local]# ln-s mysql-5.5.32 mysql

###此处的软链接为了版本升级提供了便利

3.初始化数据库

[root@linuxprobe_nfs local]# mysql/scripts/mysql_install_db--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/--user=mysql

###此处如果初始化发生错误,删除data目录下的内容,rm-fr mysql/data/*,重新初始化。

4.生成MySQL配置文件

[root@linuxprobe_nfs local]# cd mysql

[root@linuxprobe_nfs mysql]# cp support-files/my-small.cnf/etc/my.cnf

5.授权管理文件

[root@linuxprobe_nfs~]# chown-R mysql:mysql/usr/local/mysql/

[root@linuxprobe_nfs~]# ls-ld/usr/local/mysql/

drwxr-xr-x. 13 mysql mysql 4096 Jun 24 17:21/usr/local/mysql/

6.设置科学的启动方式

[root@linuxprobe_nfs mysql]# cp support-files/mysql.server/etc/init.d/mysqld

[root@linuxprobe_nfs mysql]# chmod+x/etc/init.d/mysqld

[root@linuxprobe_nfs mysql]#/etc/init.d/mysqld start

Starting MySQL... SUCCESS!

[root@linuxprobe_nfs mysql]# chkconfig--add mysqld

[root@linuxprobe_nfs mysql]# chkconfig mysqld on

[root@linuxprobe_nfs mysql]# chkconfig--list mysqld

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

###设置开机自启动mysql

7.配置MySQL环境变量

[root@linuxprobe_nfs mysql]# echo'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile

[root@linuxprobe_nfs mysql]# source/etc/profile

[root@linuxprobe_nfs mysql]# echo$PATH

/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

###此处PATH路径的设置为了后续mysql命令的使用

8.mysql登陆与密码设置

[root@linuxprobe_nfs mysql]# mysql

CentOS系统特殊权限SUIDSGIDSTICKY讲解

1.什么是特殊权限?

我们知道权限有r,w,x。其实除了这三个,还有特殊权限。比如:

[root@localhost~]#ls-l/usr/bin/passwd

-rwsr-xr-x1rootroot22960Jul172006/usr/bin/passwd

可以发现权限位,有个s。特殊权限有如下3种:

SUID

SGID

STICKY

2.关于suid

我们知道linux有一个进程安全模型的概念,比如Tom执行passwd来进行修改密码:

第一,注意到passwd的权限为:

[hadoop@localhost~]$ ls-l `which passwd`

-rwsr-xr-x 1 root root 22960 Jul 17 2006/usr/bin/passwd

第二,注意到Tom不是root用户,也不属于root组。

我们先不考虑什么特殊权限s。很显然,此时Tom只能以other(r-x)来运行passwd。Tom可以发起一个进程,这个进程是passwd,想修改自己的密码。

第三,用户Tom执行完passwd修改密码,其实就是保存至/etc/shadow中,下面我们看看/etc/shadow文件的权限情况。

[hadoop@localhost~]$ ls-l/etc/shadow

-r-------- 1 root root 2713 Jun 13 16:34/etc/shadow

[hadoop@localhost~]$

那个属于Tom的修改密码的进程应该要去修改/etc/shadow文件,但是根据上面的/etc/shadow的权限,除了root用户外,谁都不可以修改的!也就是说,根据进程安全模型,普通用户根本无法修改密码!但事实上,是可以修改的。原因就在于那个特殊权限s。

也就是说,suid表示运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者。也就是说普通用户去执行passwd修改密码,其实是发起了一个进程,这个进程的属主是root用户,那么很显然就可以修改shadow这个影子文件了。

3.关于sgid

根据suid的理解,可知sgid表示运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者的基本组。可以举例分析:

第一:root用户创建了一个项目目录

[root@localhost/]#

[root@localhost/]# ls-ld/project/cma

drwxrwxr-x 2 root develop 4096 Jun 14 22:14/project/cma

第二:项目组成员java01,java02,...均属于develop组(他们的附加组),也就是说他们对/project/cma具有rwx权限。

[java02@localhost cma]$ ls-l

total 8

-rw-rw-r-- 1 java01 java01 0 Jun 14 22:24 01.java

-rw-rw-r-- 1 java02 java02 0 Jun 14 22:25 02.java

上面看到他们可以在/project/cma中创建文件,根据以前的理论:【谁创建的文件,文件的属主就是谁,属组就是他的基本组】,上面的没有问题。但是,我们希望这些项目组成员之间可以相互编辑其他人的文件,该如何做呢?

第三:由于项目组成员java02,并不属于java01的私有组,显然java02只对01.java具有r--权限,不可以编辑。此时我们可以使用sgid,来改变默认的这种行为~

[root@localhost cma]# pwd

/project/cma

[root@localhost cma]# chmod-R g+s/project/cma

[root@localhost cma]# ls-ld

drwxrwsr-x 2 root develop 4096 Jun 14 22:25.

[root@localhost cma]#

注意了,出现了特殊权限位s,但是有时候可能会显示S。【如果是s说明这个权限位上以前是具有x权限的】

第四:利用sgid后,以后我们的项目组成员便可以在此目录下编辑其他成员的文件了。

[java02@localhost cma]$ ls-l

total 16

-rw-rwSr-- 1 java01 java01 0 Jun 14 22:24 01.java

-rw-rw-r-- 1 java01 develop 0 Jun 14 22:33 01.txt

-rw-rwSr-- 1 java02 java02 0 Jun 14 22:25 02.java

-rw-rw-r-- 1 java02 develop 0 Jun 14 22:33 02.txt

[java02@localhost cma]$

也就是说利用sgid可以帮我们达到这样的目的:

在目录下创建的文件的属组不在是用户的基本组,而是目录的属组。

4.关于sticky

此时此刻,我们的项目组成员已经可以相互编辑/project/cma下面的文件了,但是有个要求:我们希望用户只能删除自己的文件,而不可以删除别人的文件。这就要使用sticky了。

[root@localhost cma]# chmod-R o+t/project/cma

[java01@localhost cma]$ id

uid=5016(java01) gid=5016(java01) groups=5016(java01),5018(develop) context=root:system_r:unconfined_t:SystemLow-SystemHigh

[java01@localhost cma]$ rm 02.txt

rm: cannot remove `02.txt': Operation not permitted

5.串联

还记得umask吗,umask其实就是一个XYZW,四位数,其中X表示的就是suid/sgid/striky。

chmod xyzw file,其实同理。

000 nothing

001 only striky

010 only sgid

100 only suid

......

CentOS下查看进程用了多少内存命令Pmap

Pmap提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有帮助。我们需要PID或者运行的进程的唯一进程ID来查看进程内存状态,我们可以通过/proc或者常规命令比如top或ps得到它。

语法或用法

#pmap PID

或者

#pmap [options] PID

在输出中它显示全部的地址,kbytes,mode还有mapping。

选项

-x extended显示扩展格式

-d device显示设备格式

-q quiet不显示header/footer行

-V显示版本信息

单一进程内存状态

[root@info~]# pmap 1013

1013:/usr/sbin/sshd

00110000 1480K r-x-/usr/lib/libcrypto.so.1.0.0

00282000 80K rw--/usr/lib/libcrypto.so.1.0.0

00296000 12K rw-- [ anon ]

00299000 36K r-x-/lib/libkrb5support.so.0.1

002a2000 4K rw--/lib/libkrb5support.so.0.1

002a3000 16K r-x-/lib/libplc4.so

002a7000 4K rw--/lib/libplc4.so

002ab000 88K r-x-/lib/libaudit.so.1.0.0

002c1000 4K r--/lib/libaudit.so.1.0.0

002c2000 4K rw--/lib/libaudit.so.1.0.0

002c3000 216K r-x-/lib/libgssapi_krb5.so.2.2

002f9000 4K rw--/lib/libgssapi_krb5.so.2.2

002fa000 808K r-x-/lib/libkrb5.so.3.3

003c4000 24K rw--/lib/libkrb5.so.3.3

003ca000 152K r-x-/lib/libk5crypto.so.3.1

003f0000 4K rw--/lib/libk5crypto.so.3.1

003f1000 92K r-x-/usr/lib/libnssutil3.so

00738000 4K r---/lib/libresolv-2.12.so

00739000 4K rw--/lib/libresolv-2.12.so

0073a000 8K rw-- [ anon ]

00825000 120K r-x-/lib/ld-2.12.so

00843000 4K r---/lib/ld-2.12.so

00844000 4K rw--/lib/ld-2.12.so

0090d000 32K r-x-/lib/libwrap.so.0.7.6

00915000 4K rw--/lib/libwrap.so.0.7.6

00948000 484K r-x-/usr/sbin/sshd

009c1000 8K rw--/usr/sbin/sshd

009c3000 20K rw-- [ anon ]

009e0000 92K r-x-/lib/libpthread-2.12.so

009f7000 4K r---/lib/libpthread-2.12.so

total 8232K

多进程内存状态

我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。

pmap 1013 1217 1118

扩展进程内存

[root@info~]# pmap-x 1013

1013:/usr/sbin/sshd

Address Kbytes RSS Dirty Mode Mapping

00110000 1480 92 0 r-x- libcrypto.so.1.0.0

00282000 80 80 80 rw-- libcrypto.so.1.0.0

00296000 12 8 4 rw-- [ anon ]

00299000 36 0 0 r-x- libkrb5support.so.0.1

002a2000 4 4 4 rw-- libkrb5support.so.0.1

002a3000 16 0 0 r-x- libplc4.so

002a7000 4 4 4 rw-- libplc4.so

002ab000 88 4 0 r-x- libaudit.so.1.0.0

002c1000 4 4 4 r--- libaudit.so.1.0.0

002c2000 4 4 4 rw-- libaudit.so.1.0.0

002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2

002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2

002fa000 808 4 0 r-x- libkrb5.so.3.3

003c4000 24 24 24 rw-- libkrb5.so.3.3

003ca000 152 4 0 r-x- libk5crypto.so.3.1

003f0000 4 4 4 rw-- libk5crypto.so.3.1

003f1000 92 0 0 r-x- libnssutil3.so

00408000 12 12 12 rw-- libnssutil3.so

0040b000 12 0 0 r-x- libplds4.so

0040e000 4 4 4 rw-- libplds4.so

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

total kB 8232---

这里的Address,Kbyte,Dirty,RSS,mode还有mapping的说明如下

扩展和设备格式区域

Address:内存开始地址

Kbytes:占用内存的字节数(KB)

RSS:保留内存的字节数(KB)

Dirty:脏页的字节数(包括共享和私有的)(KB)

Mode:内存的权限:read、write、execute、shared、private(写时复制)

Mapping:占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)

Offset:文件偏移

Device:设备名(major:minor)

阅读剩余
THE END