centos kerberos(centos8官网下载教程)

大家好,关于centos kerberos很多朋友都还不太明白,今天小编就来为大家分享关于centos8官网下载教程的知识,希望对各位有所帮助!

Centos7系统有什么特点

CentOS 7是一款基于 Red Hat Enterprise Linux(RHEL)开发的免费开源操作系统。它具有以下特点:

兼容性高:CentOS 7兼容大多数硬件,可以运行在多种计算机硬件平台上,包括 x86、x64和 ARM等处理器体系结构。

稳定性好:CentOS 7采用了 RHEL的源代码,在稳定性方面有很大优势。

安全性高:CentOS 7安装时会自动开启防火墙和 SELinux,可以有效保护系统安全。

支持软件包管理:CentOS 7采用了 YUM包管理器,可以方便地安装、升级和卸载软件包。

网络功能强大:CentOS 7提供了丰富的网络功能,包括虚拟网络、Bonding、VLAN等,可以满足各种网络需求。

免费开源:CentOS 7是一款免费开源的操作系统,可以免费下载使用。

【kerberos】Kerberos安装使用详解及遇到的问题

一、Kerberos协议:

Kerberos协议主要用于计算机网络的身份鉴别(Authentication),其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。

二、环境信息:信息版本操作系统centos6.9服务器类型虚拟机CDH5.13节点数量5

节点信息:|?ip|主机名?|角色||--|--|--|| 10.12.24.209|dx-dev-test1029?| client|| 10.12.25.208|dx-dev-test1026?| client|| 10.12.25.209|dx-dev-test1030?| client|| 10.12.26.208|dx-dev-test1027?| client|| 10.12.27.208|dx-dev-test1028?| server|

三、安装kerberos

使用yum安装kerberos

1. server服务端安装:yum install krb5-server2. client客户端安装

注:server节点也是client节点,也是需要安装

yum install krb5-workstation krb5-libs krb5-auth-dialog 3.服务端节点配置(1)修改/etc/krb5.conf

/etc/krb5.conf:包含Kerberos的配置信息。例如,KDC的位置,Kerberos的admin的realms等。需要所有使用的Kerberos的机器上的配置文件都同步。这里仅列举需要的基本配置。注意修改:红色的标记

文件内容如下:

[libdefaults]default_realm= RONG360.COMdns_lookup_kdc= falsedns_lookup_realm= falseticket_lifetime= 86400renew_lifetime= 604800forwardable= truedefault_tgs_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacdefault_tkt_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacpermitted_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacudp_preference_limit= 1kdc_timeout= 60000[realms]RONG360.COM={kdc= dx-dev-test1028admin_server= dx-dev-test1028}[domain_realm]~

说明:

[logging]:表示server端的日志的打印位置

[libdefaults]:每种连接的默认配置,需要注意以下几个关键的小配置

default_realm= HADOOP.COM默认的realm,必须跟要配置的realm的名称一致。

udp_preference_limit= 1禁止使用udp可以防止一个Hadoop中的错误

oticket_lifetime表明凭证生效的时限,一般为24小时。

orenew_lifetime:表明凭证最长可以被延期的时限,一般为一个礼拜。当凭证过期之后,对安全认证的服务的后续访问则会失败。

[realms]:列举使用的realm。

kdc:代表要kdc的位置。格式是机器:端口

admin_server:代表admin的位置。格式是机器:端口

default_domain:代表默认的域名

[appdefaults]:可以设定一些针对特定应用的配置,覆盖默认配置。

udp_preference_limit= 1 kdc原生支持tcp/udp协议,客户端访问kdc服务时,默认先使用udp协议发起请求,如果数据包过大或者请求失败,然后再换用tcp协议请求。网络条件不好,如果使用udp容易出现丢包现象。

(2)修改/var/kerberos/krb5kdc/kdc.conf

默认放在/var/kerberos/krb5kdc/kdc.conf。或者通过覆盖KRB5_KDC_PROFILE环境变量修改配置文件位置。文件内容如下:文件内容如下:

[kdcdefaults] kdc_ports= 88 kdc_tcp_ports= 88[realms] RONG360.COM={#master_key_type= aes256-ctsacl_file=/var/kerberos/krb5kdc/kadm5.acldict_file=/usr/share/dict/wordsadmin_keytab=/var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes= aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}

说明:

RONG360.COM:是设定的realms。名字随意。Kerberos可以支持多个realms,会增加复杂度。本文不探讨。大小写敏感,一般为了识别使用全部大写。这个realms跟机器的host没有大关系。

max_renewable_life= 7d涉及到是否能进行ticket的renwe必须配置。

master_key_type:和supported_enctypes默认使用aes256-cts。由于,JAVA使用aes256-cts验证方式需要安装额外的jar包,更多参考2.2.9关于AES-256加密:。推荐不使用。

acl_file:标注了admin的用户权限。文件格式是

Kerberos_principal permissions [target_principal]?[restrictions]支持通配符等。

admin_keytab:KDC进行校验的keytab。后文会提及如何创建。

supported_enctypes:支持的校验方式。注意把aes256-cts去掉。

(3)修改/var/kerberos/krb5kdc/kadm5.acl

编辑 Kerberos访问控制列表文件(kadm5.acl)文件应包含允许管理 KDC的所有主体名称。文件内容如下:

*/admin@RONG360.COM*

注:将上面修改的文件,进行全节点分发。

4.创建/初始化Kerberos database

初始化并启动:完成上面三个配置文件后,就可以进行初始化并启动了。

创建命令:

kdb5_util create-s-r RONG360.COM

其中,[-s]表示生成stash file,并在其中存储master server key(krb5kdc);还可以用[-r]来指定一个realm name——当krb5.conf中定义了多个realm时才是必要的。

保存路径为/var/kerberos/krb5kdc如果需要重建数据库,将该目录下的principal相关的文件删除即可

在此过程中,我们会输入database的管理密码。这里设置的密码一定要记住,如果忘记了,就无法管理Kerberos server。

当Kerberos database创建好后,可以看到目录/var/kerberos/krb5kdc下生成了几个文件:

kadm5.acl kdc.conf principal principal.kadm5 principal.kadm5.lock principal.ok5.重启服务

重启服务

service krb5kdc start或 systemctl startkrb5kdcservice kadmin start或 systemctl startkadmin6.设置开机启动

设置开机自动启动:

chkconfig krb5kdc on或 systemctl enable krb5kdcchkconfig kadmin on或 systemctl enable kadmin

现在KDC已经在工作了。这两个daemons将会在后台运行,可以查看它们的日志文件(/var/log/krb5kdc.log和/var/log/kadmind.log)。

可以通过命令kinit来检查这两个daemons是否正常工作。

7.添加database administrator

我们需要为Kerberos database添加administrative principals(即能够管理database的principals)——至少要添加1个principal来使得Kerberos的管理进程kadmind能够在网络上与程序kadmin进行通讯。

在maste KDC上执行:

/usr/sbin/kadmin.local-q"addprinc admin/admin"

通过上面的命令为其设置密码

yum install krb5-workstation krb5-libs krb5-auth-dialog0

可以直接运行在master KDC上,而不需要首先通过Kerberos的认证,实际上它只需要对本地文件的读写权限。

8.客户端阶段配置

将之前修改的/etc/krb5.conf拷贝到从节点。

四、kerberos日常操作1.管理员操作登陆

登录到管理员账户:如果在本机上,可以通过yum install krb5-workstation krb5-libs krb5-auth-dialog0直接登录。其它机器的,先使用kinit进行验证。

增删改查账户

在管理员的状态下使用addprinc,delprinc,modprinc,listprincs命令。使用?可以列出所有的命令。

yum install krb5-workstation krb5-libs krb5-auth-dialog0-q"addprinc-pw 111111 test"yum install krb5-workstation krb5-libs krb5-auth-dialog0: delprinc testyum install krb5-workstation krb5-libs krb5-auth-dialog0: listprincs生成keytab:使用xst命令或者ktadd命令yum install krb5-workstation krb5-libs krb5-auth-dialog22.用户操作查看当前的认证用户认证用户yum install krb5-workstation krb5-libs krb5-auth-dialog3删除当前的认证的缓存yum install krb5-workstation krb5-libs krb5-auth-dialog4五、常见问题1.查看ticket是否是renewable

通过klist命令来查看

如果Valid starting的值与renew until的值相同,则表示该principal的ticket不是 renwable。

2. ticket无法更新

如果过了Expires,可以通过命令kinit–R来更新ticket但如果ticket无法更新

yum install krb5-workstation krb5-libs krb5-auth-dialog5

这是因为krbtgt/HADOOP.COM@ HADOOP.COM的[renewlife]被设置成了0,这一点可以通过[yum install krb5-workstation krb5-libs krb5-auth-dialog0=> getprinc krbtgt/ HADOOP.COM@ HADOOP.COM]看出来。

将krbtgt/HADOOP.COM@HADOOP.COM的[renewlife]修改为7days即可。

yum install krb5-workstation krb5-libs krb5-auth-dialog0: modprinc-maxrenewlife 1week krbtgt/HADOOP.COM@HADOOP.COM3. CDH安装Kerberos后,重启集群报错yum install krb5-workstation krb5-libs krb5-auth-dialog7

原因:因为系统采用的是Centos7.6,对于使用Centos5.6及以上西戎,默认采用 AES-256来加密;这就需要CDH集群所有的节点都安装 Java Cryptography Extension(JCE) Unlimited Strength Jurisdiction Policy File下载链接:

yum install krb5-workstation krb5-libs krb5-auth-dialog8

解决办法: 1.下载的文件是个zip包,解压 2.将解压后的 UnlimitedJCEPolicyJDK8文件下的两个jar包复制到$JAVA_HOME/jre/lib/security/

我的JAVA_HOME=/opt/module/jdk1.8.0_144yum install krb5-workstation krb5-libs krb5-auth-dialog9

3.如果你的JAVA_HOME不是在/usr/java下,那么还需要进行一步操作 mkdir/usr/java

创建软链接指向自己的JAVA_HOME[libdefaults]default_realm= RONG360.COMdns_lookup_kdc= falsedns_lookup_realm= falseticket_lifetime= 86400renew_lifetime= 604800forwardable= truedefault_tgs_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacdefault_tkt_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacpermitted_enctypes= aes128-cts aes256-cts-hmac-sha1-96 des3-hmac-sha1 arcfour-hmacudp_preference_limit= 1kdc_timeout= 60000[realms]RONG360.COM={kdc= dx-dev-test1028admin_server= dx-dev-test1028}[domain_realm]~0

目前总结到这!

原文:

centos优点

概述一下,centos与redhat的区别和优缺点?

CentOS是一种基于RedHat企业级操作系统代码(RHEL)构建的操作系统,因此它与RedHat具有许多共同之处。但是,它们之间有一些主要区别:

1.支持:RedHat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。

2.更新:RedHat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。

3.品质保证:RedHat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。

4.应用场景:RedHat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。

5.社区:CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。RedHat则更多的是企业驱动,用户只能使用其已发布的产品。

以下是他们各自的优缺点:

RedHat的优点:

-专业的技术支持和服务

-更长的支持周期

-一流的安全性和稳定性

-适合企业关键任务使用

RedHat缺点:

-需要购买订阅才能获得支持和更新

-软件更新速度可能较慢

-价格相对较高

CentOS的优点:

-免费使用和更新

-非常稳定和可靠

-社区活跃,有更多的社区支持和帮助

-拥有与RHEL相似的功能和性能

CentOS的缺点:

-不提供商业支持

-更新可能比RHEL版本稍慢

-对于一些生产环境来说,不如RedHat稳定

centos最小化安装优点

(1)Linux系统的第一个进程(pid=1)为init:

Linux操作系统的启动首先从BIOS开始,接下来进入bootloader,由bootloader载入内核,进行内核初始化。内核初始化的最后一步就是启动pid为1的init进程。这个进程是系统的第一个进程。它负责产生其他所有用户进程。

(2)init进程是所有进程的祖先,不可以kill(也kill不掉)

init以守护进程方式存在,是所有其他进程的祖先。init进程非常独特,能够完成其他进程无法完成的任务。Init系统能够定义、管理和控制init进程的行为。它负责组织和运行许多独立的或相关的始化工作(因此被称为init系统),从而让计算机系统进入某种用户预订的运行模式。

(3)大多数linux发行版的init系统是和systemV相兼容的,被称为sysvinit

sysvinit就是systemV风格的init系统,顾名思义,它源于SystemV系列UNIX。它提供了比BSD风格init系统更高的灵活性。是已经风行了几十年的UNIXinit系统,一直被各类Linux发行版所采用。

(1)CentOS5

(2)CentOS6

(1)优点

sysVinit运行非常良好,概念简单清晰,它主要依赖于shell脚本。

(2)缺点

按照一定的顺序执行--启动太慢、很容易夯(hang)住,fstab与nfs挂载问题

说明:CentOS6采用了Upstart技术代替sysvinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间,但是CentOS6为了简便管理员的操作,Upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来的sysv的形式提供的,

(1)CentOS6

(2)Ubuntu14

说明:systemd技术的设计目标是克服sysvinit固有的缺点,提高系统的启动速度,和sysvinit兼容,降低迁移成本,

做主要的优点:并行启动

(1)RedHat7/CentOS7

(2)Ubuntu15

方法1(在装系统时修改):

在安装系统的时候配置,修改内核选项:net.ifnames=0biosdevname=0

方法2(装系统时忘记修改,装系统后修改):

(1)编辑网卡

#cd/etc/sysconfig/network-scripts/#mvifcfg-ens160ifcfg-eth0#mvifcfg-ens192ifcfg-eth1#vimifcfg-eth0TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0#网卡名称改为eth0DEVICE=eth0#设备名称改为eth0ONBOOT=yesIPADDR=xxx.xxx.x.xxPREFIX=24GATEWAY=xxx.xxx.x.xDNS1=xxx.xxx.x.xIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_PRIVACY=no注:删掉网卡内的UUID=176582f7-d198-4e4f-aab0-34ab10d17247通用唯一识别码和HWADDR=00:0c:29:a5:3f:39MAC地址这两行。所有网卡都需要修改

(2)编辑grub文件

[root@localhostnetwork-scripts]#cp-a/etc/sysconfig/grub/etc/sysconfig/grub.bak#备份文件[root@localhostnetwork-scripts]#vim/etc/sysconfig/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="crashkernel=autonet.ifnames=0biosdevname=0rhgbquiet"#这行添加net.ifnames=0biosdevname=0GRUB_DISABLE_RECOVERY="true"

(3)生成启动菜单

[root@localhostnetwork-scripts]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-3.10.0-514.el7.x86_64Foundinitrdimage:/boot/initramfs-3.10.0-514.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-7d9a96ac2162427d937e06ede5350e9eFoundinitrdimage:/boot/initramfs-0-rescue-7d9a96ac2162427d937e06ede5350e9e.imgdone

然后重启服务器:reboot,重启服务器后查看网卡信息,

再安装操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{vim、wget、tree...等},下面就安装命令,可以根据需求自行调整。

yum-yinstallwgetnet-toolsscreenlsoftcpdumpncmtropenssl-develvimbash-completionlrzsznmaptelnettreentpdateiptables-services

rpm-ivh

需要开机自启动的脚本或者配置,可以放在/etc/rc.local里,但是发现并没有执行,下面我们看一下原因。

#ll/etc/rc.locallrwxrwxrwx1rootroot13Jan523:31/etc/rc.local-rc.d/rc.local#发现是个软连接文件#ls-l/etc/rc.d/rc.local-rw-r--r--1rootroot473Oct2011:07/etc/rc.d/rc.local#问题在这里,没有执行权限#chmod+x/etc/rc.d/rc.local#添加执行权限#ls-l/etc/rc.d/rc.local-rwxr-xr-x1rootroot473Oct2011:07/etc/rc.d/rc.local注:这样添加在rc.local里的开机自启动配置就可以执行了。

linux系统下都有一个默认的超级管理员root,ssh服务的默认端口是22,圈内都知道,那么接下来我们可以修改一下我们的默认端口和禁止root用户远程登录,初步提高一下服务器的安全

1、首先修改ssh的默认端口#sed-i"s#\#Port22#Port53226#g"/etc/ssh/sshd_config#端口可以改成1-65535之间任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)2、禁止root用户远程登陆a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)#useraddxxx#添加xxx用户#echo"pass"|passwd--stdinxxx#给xxx用户设置密码为passb):修改ssh服务配置文件并撑起服务#sed-i's/#PermitRootLoginyes/PermitRootLoginno/'/etc/ssh/sshd_config#systemctlrestartsshd

此时断开当前连接或者新开一个连接就会发现使用root用户连接不上服务器了,莫慌,使用xxx用户连接然后切换到root用户即可

SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)对于强制访问控制的实现,说白了就是安全机制,当然如果会配置的话建议配置更好,这里就介绍一下如何关闭吧,哈哈哈。

#sed-i.bak's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config#修改配置文件需要重启服务器配置才会生效,如何立即生效那?#setenforce0#关闭SELinux立即生效,重启服务器后配置失效。

防火墙,不解释,内网服务建议关掉,对外开放的服务器需要配置规则,这里先关掉,关于防火墙配置规则等待后续更新。

#systemctlstopfirewalld#临时关闭#systemctldisablefirewalld#永久关闭

装机后主机名默认为localhost,这里个人想更改自己的主机名,在不搭建内网DNS的情况,能通过主机名找到本机的IP地址。

#hostnamectlset-hostnameweb01#设置主机名为web01,这样设置连配置文件里都修改了

#echo"192.168.6.6web01"/etc/hosts#192.168.6.6为本机IP

如果是云服务器,这步优化基本都被作了,如果是物理机需要执行此步

#sed-i.bak's@#UseDNSyes@UseDNSno@g;s@^GSSAPIAuthenticationyes@GSSAPIAuthenticationno@g'/etc/ssh/sshd_config#systemctlrestartsshd

说明:GSSAPIAuthentication参数是用于Kerberos验证的,而对于绝大多数人来说,不可能使用这种验证机制的,所以要注意把他们停掉。然后重启服务会发现远程连接速度有明显提升

设置服务器字符集,国际通用utf-8,根据自身业务来定

#localectlstatus#查看当前字符集SystemLocale:LANG=en_US.UTF-8VCKeymap:usX11Layout:us#localectlset-localeLANG=zh_CN.UTF-8#修改字符集为zh_CN.UTF-8,命令行和配置文件都生效#cat/etc/locale.conf#查看配置文件LANG=zh_CN.UTF-8

CentOS7.2系统默认最大打开文件限制为1024,每建立一个TCP连接既浪费一个限制(这里不细讲,后续会更新详细说明),为了提升服务器性能,所以我们要增加打开文件的最大限制

#ulimit-n#默认大小1024#echo"*softnofile65536"/etc/security/limits.conf#xi修改最大限制为65535#echo"*hardnofile65536"/etc/security/limits.conf

时间同步,这里不多说了,向OpenStack的所有节点的时间不一致会导致创建不了虚拟机,也会有其他的问题,不多说,我们生产上所有服务器时间都是同步的。

#yuninstall-yntpdate#前面已经装过了#ntpdatentp1.aliyun.com#这里同步的是aliyun的时间,公司内部建议自己搭建时间服务器(减少流量、广播等),然后加入crontab即可,内网时间服务器等待后续更新。

TCP断开连接时会有一个等待时间为2msl(60秒)对应的状态为TIME_WAIT,如果业务并发较大的话会有很多的TIME_WAIT状态(详细等待后续更新),如何来解决那?

#cat/proc/sys/net/ipv4/tcp_timestamps#时间戳,默认是开启的#cat/proc/sys/net/ipv4/tcp_tw_reuse#连接复用,tcp_timestamps是开启的状态下是可以开启的,1为开启,默认是关闭的状态。#cat/proc/sys/net/ipv4/tcp_tw_recycle#socket快速回收,net网络状态下不可以开启,负载均衡上不可以打开,读者根据自身情况开启或关闭,默认为关闭状态。

好了,服务器优化就介绍到这里,以上优化不分先后顺序!!

Centos7系统有什么特点?

CentOS7是一款基于RedHatEnterpriseLinux(RHEL)开发的免费开源操作系统。它具有以下特点:

兼容性高:CentOS7兼容大多数硬件,可以运行在多种计算机硬件平台上,包括x86、x64和ARM等处理器体系结构。

稳定性好:CentOS7采用了RHEL的源代码,在稳定性方面有很大优势。

安全性高:CentOS7安装时会自动开启防火墙和SELinux,可以有效保护系统安全。

支持软件包管理:CentOS7采用了YUM包管理器,可以方便地安装、升级和卸载软件包。

网络功能强大:CentOS7提供了丰富的网络功能,包括虚拟网络、Bonding、VLAN等,可以满足各种网络需求。

免费开源:CentOS7是一款免费开源的操作系统,可以免费下载使用。

阅读剩余
THE END