centos daemon 命令(centos进入命令行界面)

linuxdaemon命令linuxdaemon

如何查看Linux系统安装的时间?

查看bin,daemon,adm等这些帐号的建立时间,这些帐号是在系统安装的时候创建的,所以这些帐号的创建时间基本上就是Linux系统的安装时间

1、查看bin帐号密码的时间

2、查看daemon帐号密码的时间

3、查看adm帐号密码的时间

通过已上用户查看到我这台机器是于2014年10月29日安装的。

daemon形式?

dockerrun指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的LinuxTerminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。另外,如果你需要跑容器里的bash,直接运行dockerrun-i-tCONTAINER_NAME/bin/bash就可以了,如果觉得参数比dockerattach多,可以设置一个别名(alias)来解决:aliasdockerbash=dockerrun-i-tCONTAINER_ID/bin/bash设置好别名后,直接运行dockerbash就可以进入容器的bash了

linux中dockers容器技术介绍?

linux中dockers容器技术其实就是管理熊雄起的引擎,是应用打包部署平台,可以为数据软件的应用提供基础。

什么是docker?

Docker就好比传统的货运集装箱

Docker是管理容器的引擎

Docker为应用打包部署平台,而非单纯的虚拟化技术

SaaS(app,云盘,微店,网站)PaaS(redis,nysql,nginx)是基于Docker的云平台

VMVSContainer

?

关于虚拟机

virsh命令管理

virt_manager图形化管理

libvirtd一个管理接口

qemu-kvm(cpu/mem)完全虚拟化

如果停掉libvirtd

systemctlstoplibvirtd

1

1

管理化命令不能工作,但是虚拟机依然存在,依然工作

容器

容器和物理机共享内核和一些重要的文件系统

比虚拟机更小,更轻

传统虚拟机和容器技术对比

?

容器是如何工作的

?

创建一个容器

?

yuminstallwget-y

cd/etc/yum.repos.d/

wget

1

2

3

1

2

3

?

要解决依赖性

在阿里云平台下载

然后下载的包和rhel7.6yum源里的包一起解决依赖性

yuminstalldocker-cecontainer-selinux-2.77-1.el7.noarch.rpm-y

systemctlstartdocker

1

2

1

2

注意:docker启动前关闭防火墙和关闭selinux

dockerinfo查看容器信息

1

1

发现有两个警告

解决:

sysctl-a|grepbridge-nf-call-iptables

vim/etc/sysctl.d/bridge.conf

1

2

1

2

net.bridge.bridge-nf-call-iptables=1

net.bridge.bridge-nf-call-ip6tables=1

sysctl--system生效

1

2

3

1

2

3

所有的容器数据都在/var/lib/docker里面

?

如果想要用普通用户做docker需要给这个文件给权限

yuminstallbash-*-y为了table补齐命令

1

1

用容器部署一个nginx服务

一般拉取太慢,设置一个加速器

?

cd/etc/docker/

vimdaemon.json

systemctldaemon-reload

systemctlrestartdocker

1

2

3

4

1

2

3

4

dockersearchnginx寻找镜像

dockerpullnginx拉取镜像(一般以服务名的是官方提供的)

dockerrun-d--namenginxnginx部署容器

dockerps

1

2

3

4

1

2

3

4

?

dockerinspectnginx查看nginx容器信息

1

1

?

用ipaddrshow命令查看桥接到docker0

yuminstallbridge-utils桥接命令

brctlshow

1

2

1

2

?

nginx部署成功

?

此时,nginx只能内部访问

如果需要外部访问,则删掉原nginx容器,用端口映射部署nginx

-d:打入后台

-p80:80:80映射80端口

dockerrun-d--namenginx-p80:80nginx

1

1

nginxhistorynginx:latest查看nginx镜像信息

iptables-tnat-nL

1

2

1

2

访问本机转发到172.17.0.2:80上去

?

用psax或top或netstat-antlp查看docker就是个进程

网页访问虚拟机ip可以看到nginx服务。

linux防火墙发展史?

1.认识防火墙

从逻辑上讲防火墙可以分为主机防火墙和网络防护墙。

主机防火墙:针对个别主机对出站入站的数据包进行过滤。(操作对象为个体)

网络防火墙:处于网络边缘,针对网络入口进行防护。(操作对象为整体)

从物理上讲防火墙可以分为硬件防火墙和软件防火墙。

硬件防火墙:通过硬件层面实现防火墙的功能,性能高,成本高。

软件防火墙:通过应用软件实现防火墙的功能,性能低,成本低。

2.系统防火墙发展过程

防火墙的发展史就是从墙到链再到表,也是从简单到复杂的过程。

防火墙工具变化如下:

ipfirewall--->ipchains--->iptables-->nftables(正在推广)

Linux2.0版内核中:包过滤机制为ipfw,管理工具是ipfwadm。

Linux2.2版内核中:包过滤机制为ipchain,管理工具是ipchains。

Linux2.4,2.6,3.0+版内核中:包过滤机制为netfilter,管理工具是iptables。

Linux3.1(3.13+)版内核中:包过滤机制为netfilter,中间采取daemon动态管理防火墙,管理工具是firewalld。

#目前低版本的firewalld通过调用iptables(command),它可以支持老的iptables规则(在firewalld里面叫做直接规则),

#同时firewalld兼顾了iptables,ebtables,ip6tables的功能。

3.iptables和nftables

nftables

nftables诞生于2008年,2013年底合并到Linux内核,从Linux3.13起开始作为iptables的替代品提供给用户。

它是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的{ip,ip6,arp,eb}_tables,它的用户空间管理工具是nft。

由于iptables的一些缺陷,目前正在慢慢过渡用nftables替换iptables,同时由于这个新的框架的兼容性,

所以nftables也支持在这个框架上运行直接iptables这个用户空间的管理工具。

nftables实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。

也就是说,nftables的核心可视为一个虚拟机,nftables的前端工具nft可以利用内核提供的表达式去模拟旧的iptables匹配,

维持兼容性的同时获得更大的灵活性。

而未来最新的firewalld(0.8.0)默认使用将使用nftables。详情可以看www.firewalld.org

iptables、nftables和firewalld之间的区别与联系

firewalld同时支持iptables和nftables,未来最新版本(0.8.0)默认将使用nftables。

简单的说firewalld是基于nftfilter防火墙的用户界面工具。而iptables和nftables是命令行工具。

firewalld引入区域的概念,可以动态配置,让防火墙配置及使用变得简便。

准确的说:iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables

nftables(command)是iptables(command)的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft,

同时未来firewalld最新版(0.8.0)也将默认支持nftables(command)。

iptables会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理

firewalld会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理

下图为iptables、firewalld、nftables之间的关系图:

?

4.centos6.X到centos7.X

centos6.X:防火墙由netfilter和iptables构成。其中iptables用于制定规则,又被称为防火墙的用户态;

而netfilter实现防火墙的具体功能,又被称为内核态。简单地讲,iptables制定规则,而netfilter执行规则。

centos7.X:防火墙在6.X防火墙的基础之上提出了新的防火墙管理工具,提出了区域的概念,通过区域定义网络链接以及安全等级。

5.怎样学好防火墙的配置?

1)OSI7层模型以及不同层对应哪些协议必须很熟悉#基础必备

2)TCP/IP三次握手,四次断开的过程,TCPHEADER,状态转换#基础必备

3)常用的服务端口要非常清楚了解。#基础必备

4)常用服务协议的原理,特别是http协议,icmp协议。#基础必备

5)能够熟练的利用tcpdump和wireshark进行抓包并分析,这样会更好#拓展

6)对计算机网络有研究,至少基本路由交换要很熟悉#拓展

6、企业中安全配置原则

尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。

并发不是特别大情况有外网IP,可以开启防火墙服务。

大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全。

CentOS系统管理_用户和用户组的详解

一:新建用户和用户组:useradd和groupadd

1,useradd的参数:

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间(下面usermod也有此选项)

-g:指定所属的基本组(组名或GID)

-G:指定所属的附加组(组名或GID)

-M:不为用户建立并初始化宿主目录、

-s:指定用户的登录shell(默认为/bin/bash,一般不用改,在建立非登录用户的时候可以指定

为/sbin/nologin)

注:这些参数都能分开用,不冲突的可以在建立用户的时候连着用。

示例1:添加用户stu01,指定UID为520,宿主目录为/public/stu01,指定基本组为users(注:系统中本身就

存在users这个组GID为100),附加组为tech:

[root@localhost~]#useradd-u520-d/public/stu04-gusers-Gtechstu01

[root@localhost~]#idstu01

uid=520(stu01)gid=100(users)groups=100(users),200(tech)

示例2:添加用户stu02,不为用户建立宿主目录:

[root@localhost~]#useradd-M-s/sbin/nologinstu02//创建一个非登录用户stu02

[root@localhost~]#cat/etc/passwd|grepstu02

stu02:x:1001:1001::/home/stu02:/sbin/nologin//-s参数指定bashshell

2,groupadd的参数:

gourpadd[-gGID]组名

-g参数指定了新建用户组的GID

[root@localhost~]#groupadd-g600stu//添加一个组stu,指定其GID为600

[root@localhost~]#cat/etc/group|grepstu//查看stu组的信息

stu:x:600:

二:删除用户和用户组

1,userdel

-格式:userdel[-r]用户名

添加-r选项,宿主目录/用户邮件也一并删除

示例:

[root@localhost~]#useradduser1;useradduser2//添加用户user1和user2

[root@localhost~]#ll-d/home/user1//var/mail/user1/home/user2//var/mail/user2//查看user1、user2的宿主目录和邮件文件是否存在

drwx------3user1user1409602-1809:53/home/user1/

drwx------3user2user2409602-1809:53/home/user2/

-rw-rw----1user1mail002-1809:53/var/mail/user1

-rw-rw----1user2mail002-1809:53/var/mail/user2

[root@localhost~]#userdeluser1;userdel-ruser2//加不加-r的区别

[root@localhost~]#ll-d/home/user1//var/mail/user1/home/user2//var/mail/user2

ls:/home/user2/:没有那个文件或目录//加-r之后删除宿主目录

ls:/var/mail/user2:没有那个文件或目录//加-r之后删除邮件文件

drwx------310021002409602-1809:53/home/user1/

-rw-rw----11002mail002-1809:53/var/mail/user1

[root@localhost~]#

2,groupdel:删除用户组

-格式:groupdel组名

-删除的目标组不能是用户的基本组。

-在删除用户组的时候,如果该组为某个成员的私有组,则无法删除,必须先删除组里面的成员,才能成功删除该组。

[root@localhost~]#iduser1//查看user1的基本组和附加组

uid=1002(user1)gid=1002(user1)groups=1002(user1),600(stu)

[root@localhost~]#grepstu/etc/group

stu:x:600:user1,user2

上面的操作可以看到,user1的基本组为user1,附加组为stu,那么现在只能删除stu,而不能直接删除组user1,因为user1组是一个基本组,要想删除user1,必须先删除user1用户,再删除user1组,而stu组不是一个基本组,只是user1和user2的附加组,所以可以直接删除。

[root@localhost~]#groupdeluser1//尝试删除user1用户组,因为user1组为user1的基本组,所以需要先删除user1用户,才能删除user1组。

groupdel:不能删除用户的主组。

[root@localhost~]#groupdelstu

[root@localhost~]#grepstu/etc/group//删除stu组之后,不能看到/etc/group文件里面的stu组的信息了。

三:为用户和用户组添加密码

1,为用户添加密码:

Passwd命令:

选项有:

-d:清空用户的密码,使之无需密码即可登录

-l:锁定用户账号

-S:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

--stdin:标准输入(比如管道)取密码

注:删除密码用passwdd而不能用echo|passwd--stdin用户名

示例:

[root@localhosthome]#cat/etc/shadow|grepuser3//查看user3是否有密码

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhosthome]#passwd-duser3//使用-d选项删除密码

Removingpasswordforuseruser3.

passwd:Success

[root@localhosthome]#cat/etc/shadow|grepuser3//再次查看,密码取消

user3::16119:0:99999:7:::

[root@localhosthome]#

示例:

如果修改一个用户的密码,可以直接输入passwd用户名,然后进入交互式的密码输入去人,使用--stdin使用非交互式设置密码,直接将密码导入。

[root@localhost/]#echo123|passwd--stdinuser3//设置user3的密码为123,使用--stdin为面交互式导入密码

Changingpasswordforuseruser3.

passwd:allauthenticationtokensupdatedsuccessfully.

[root@localhost/]#passwd-luser3//锁定user3账户

Lockingpasswordforuseruser3.

passwd:Success

[root@localhost/]#grepuser3/etc/shadow//查看锁定账户密码信息,有两个!

user3:!!$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]#passwd-Suser3//用-S查看是否被锁定

user3LK2014-02-180999997-1(Passwordlocked.)

[root@localhost/]#passwd-uuser3//-u参数为解锁

Unlockingpasswordforuseruser3.

passwd:Success.

[root@localhost/]#grepuser3/etc/shadow//解锁之后,该账户密码段没有!

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]#

2,用户组的密码gpasswd

gpasswd组名:进入交互式的密码输入确认。

gpasswdr组名:-r选项为移除密码,gpasswdr组名为清空该组密码

组密码的用途:主要是一些用户想要加入组,那么需要用到的这个组账户的密码,而这个用户加入的时候也是临时加入的,用exit即可退出该组。

四:用户组成员的添加和删除

1,gpasswd在用户组中的应用

-A:定义组管理员列表(可以在/etc/gshadow文件里查看组管理员和组成员)

-a:添加组成员,每次只能加一个

-d:删除组成员,每次只能删一个

-M:定义组成员列表,可设置多个(为覆盖操作,在定义之后,之前组内用户将被删除;注意在写多个成员列表的时候,用逗号隔开)

示例:

[root@localhost~]#grepuser/etc/gshadow

user:!::

[root@localhost~]#gpasswd-auser1user//将账户user1加入到user组中

正在将用户user1加入到user组中

[root@localhost~]#gpasswd-auser2user//将user2加入到user组中

正在将用户user2加入到user组中

[root@localhost~]#grepuser/etc/gshadow|tail-1//查看user用户组的成员

user:!::user1,user2

[root@localhost~]#gpasswd-Mstu01,stu02user//-M参数覆盖添加多个用户

[root@localhost~]#cat/etc/gshadow|tail-1//再次查看,user1和user2被覆盖

user:!::stu01,stu02

[root@localhost~]#gpasswd-dstu01user//将stu01从user组中删除

正在将用户stu01从user组中删除

[root@localhost~]#cat/etc/gshadow|tail-1

user:!::stu02//删除后只剩下stu02用户

[root@localhost~]#gpasswd-Astu02user//将stu02设置为管理员

[root@localhost~]#grepuser/etc/gshadow|tail-1

user:!:stu02:stu02//gshadow文件中,第三个字段为该组的管理员账户,为stu02

[root@localhost~]#

2,usermod主要是对用户的属性进行更改,可以增加用户成员的所属附加组

只是用usermod的-a-G选项(-a表示添加,-G指定组,-a-G为新加一个附加组)

命令:usermod-a-G用户组用户名

[root@localhost~]#usermod-a-Gtechstu02//为stu02增加一个附加组tech

[root@localhost~]#idstu02

uid=501(stu02)gid=1201(nsd)groups=1201(nsd),200(tech),1204(user)

五:用户和组属性的查看和修改

1,usermod:主要针对用户与组之间属性的更改

格式:usermod[选项](选项可以有多个)用户名

-l:更改用户账号的登录名称

-L:锁定用户账户(注:用usermodL锁定一个账户的时候可以用passwdu直接解锁,但是用passwdl锁定的账户,用usermodU解锁的时间,需要解锁两次,因为,passwdl锁定的账户密码前面有两个!,而usermodL锁定的账号密码前面有一个!,可以通过查看/etc/gshadow文件里面的密码段来验证。)

-U:解锁用户账户

-u、-d、-e、-g、-G、-s:与useradd相同

-a:和-G搭配使用为添加该用户的附加组(只是用-G的时候,为修改附加组)

示例:

usermod-e20140630(或2014-06-30)user1:为修改user1账户失效时间为20140630

但是在用chage-E2014-06-30user1的时候,不能用20140630

[root@localhost~]#cat/etc/shadow|grepuser1

user1:!!:16119:0:99999:7:::

[root@localhost~]#usermod-e20140630user1//修改user1的账户失效时间

[root@localhost~]#cat/etc/shadow|grepuser1

user1:!!:16119:0:99999:7::16251:

[root@localhost~]#usermod-luser01user1//修改user1的登录名为user01

usermod:警告:/var/spool/mail/user1不属于user1

[root@localhost~]#

2,chage:主要针对用户的密码进行设定

-l:列出密码有效信息

-E:指定账户过期时间,YYYY-MM-DD

-I:指定当密码失效后多少天锁定账号

-m:指定密码的最小天数

-M:指定密码的最大天数

示例:

[root@localhost~]#chage-luser01//查看user01的密码信息

最近一次密码修改时间:2月18,2014

密码过期时间:从不

密码失效时间:从不

帐户过期时间:从不

两次改变密码之间相距的最小天数:0

两次改变密码之间相距的最大天数:99999

在密码过期之前警告的天数:7

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:0:99999:7:::

[root@localhost~]#chage-E2014-07-10user01//修改user01的账户过期时间

[root@localhost~]#chage-I3user01//修改user01用户的密码失效3天后锁定

[root@localhost~]#chage-m10user01//密码修改之后10天内不准修改

[root@localhost~]#chage-M40user01//密码修改后40天之后必须再次修改密码

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[root@localhost~]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:7月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

[root@localhost~]#

3,id

-在命令行输入id,为查看该账户的用户名及用户所属组等信息;

[root@localhost~]#su-frank

[frank@localhost~]$id//id命令直接查看当前用户的ID和所属组

uid=507(frank)gid=507(frank)groups=507(frank)

-id用户名:表示查看该用户的相关信息

[root@localhost~]#idfrank//查看frank用户的用户ID和所属组

uid=507(frank)gid=507(frank)groups=507(frank)

[root@localhost~]#iduser01//查看user01的用户ID和所属组

uid=1005(user01)gid=1005(user1)groups=1005(user1)

[root@localhost~]#

-idgn:查看当前用户的所属组

[root@localhost~]#su-frank

[frank@localhost~]$id-gn//查看当前所属组,为frank组,下面修改一下

frank

[frank@localhost~]$exit

logout

[root@localhost~]#usermod-gtechfrank//将frank的基本组修改为tech

[root@localhost~]#su-frank

[frank@localhost~]$id-gn//用id-gn查看当前组

tech

[frank@localhost~]$

4,newgrp

newgrp用户组:为当前用户临时增加一个用户的附加组(可以用exit退出该附加组)

示例:

[root@localhost~]#su-frank

[frank@localhost~]$id

uid=507(frank)gid=200(tech)groups=200(tech)

[frank@localhost~]$newgrpuser

密码://这个密码为用gpasswd来设置的用户组密码,当有新用户加入是,需要输入,如果没有密码,直接确定即可加入

[frank@localhost~]$id-gn

user//用户组为user,未修改之前为tech

[frank@localhost~]$id

uid=507(frank)gid=1204(user)groups=200(tech),1204(user)

[frank@localhost~]$exit//只是临时增加的附加组,可以用exit退出该组

exit

[frank@localhost~]$id

uid=507(frank)gid=200(tech)groups=200(tech)

[frank@localhost~]$id-gn

tech//退出后的用户组还未之前的tech

[frank@localhost~]$

5,groups:查看用户所属组

groups:查看当前用户的所属组(包括基本组和附加组)

groups用户名:查看该用户所属组(包括基本组和附加组,前面的为基本组)

注:也可以查看/etc/group和/etc/gshadow文件的第四段。

[root@localhost~]#groups//查看当前用户的所属组

rootbindaemonsysadmdiskwheel

[root@localhost~]#groupsuser2//查看user2用户的所属组

user2:user2tech//那么user2用户的基本组为user2,有一个附加组,为tech

[root@localhost~]#

六,附:用户和用户组的密码及新建用户宿主目录里面的隐藏文件

1,用户的密码:/etc/passwd和/etc/shadow

/etc/passwd文件:保存了用户账号的基本信息

[root@localhost~]#head-1/etc/passwd

root:x:0:0:root:/root:/bin/bash

1234567

可以看到passwd里面的内容分为7个字段,分别用:隔开,每个字段的含义:

第一段:用户账号的名称

注:可使用user-luser1user01修改

第二段:密码字符或占位符

注:加密后的密码保存在/etc/shadow文件中

第三段:用户账号的UID号

注:在建立的时候用useradd-u来指定UID号

第四段:所属基本组的GID号

注:在新建用户的时候,如果不指定基本组,会默认新建一个和用户同名的组,可以使用useradd-gusers/100来指定新建用户组的GID

第五段:用户全名

第六段:宿主目录

注:在新建用户的时间,用useradd-d来指定

第七段:登录shell程序的路径

注:在新建用户时候使用useradd-s来指定,也可以在后来使用usermod-s来指定

/etc/shadow文件:保存了密码字串,有效期等信息

[root@localhost/]#head-1/etc/shadow

root:$1$SmlKPNho$qNqybQOGBSnK6iWmviI6b1:15908:0:99999:7:::

123456789

第一段:用户账号的名称

第二段:加密后的密码字符串

注:在使用passwd-l锁定之后加两个!,用usermod-L锁定之后该字符串前面加一个!

第三段:上次修改密码的时间

第四段:密码的最短有效天数,默认为0

注:也就是在上次修改密码后多少天之内不准修改密码,可以使用chage-m来修改

第五段:密码的最长有效天数

注:也就是说,密码在到达有效天数之后,必须进行修改,可以使用chage-M修改

第六段:密码过期后的警告天数,默认为7

注:在密码最长有效天数的前7天进行提醒

第七段:密码过期后多少天禁用此账户,默认值为空

注:如果密码过期之后,也就是密码最长有效时间到了之后,用户还可以继续使用该账号,如果还不修改密码,那么,这个时间将起作用,该用户将被禁用。可以使用chage-I来修改

第八段:账号失效时间,默认值为空

可以使用chage-E或者usermod-e来修改账号的失效时间

例如:

[root@localhosthome]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:7月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[root@localhost~]#usermod-e20140810user01//或chage-E20140810user01

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16292:

[root@localhost~]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:8月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

第九段:该字段保留

2,新建一个用户时候的默认配置/etc/login.defs、/etc/useradd和/etc/skel

[root@localhost~]#grep-vE^#|^$/etc/login.defs

MAIL_DIR/var/spool/mail//定义邮件文件路径

PASS_MAX_DAYS99999//定义密码最长有效天数,/etc/shadow第五段

PASS_MIN_DAYS0//密码最短有效天数为0,/etc/shadow的第四段

PASS_MIN_LEN5//密码最小长度为5,这里不起作用,有其他文件来规定

PASS_WARN_AGE7//密码过期后的警告天数

UID_MIN500//UID的起始值,/etc/passwd中的第三段

UID_MAX60000//UID的最大值,/etc/passwd中的第三段

GID_MIN500//GID的起始值,/etc/passwd中的第四段

GID_MAX60000//GID的最大值,/etc/passwd中的第四段

CREATE_HOMEyes//是否创建宿主目录

UMASK077//umask值为077

USERGROUPS_ENAByes//

MD5_CRYPT_ENAByes//密码使用MD5加密

ENCRYPT_METHODMD5//

[root@localhost~]#cat/etc/default/useradd

#useradddefaultsfile

GROUP=100//

HOME=/home//定义创建用户的宿主目录在/home下

INACTIVE=-1//是否启用该账户,-1代表是

EXPIRE=//

SHELL=/bin/bash//指定新建用户的shell为/bin/bash

SKEL=/etc/skel//新建用户的宿主目录模板为/etc/skel

CREATE_MAIL_SPOOL=yes//是否创建用户的邮件文件

[root@localhost~]#ll-a/etc/skel///在新建一个用户的时候,宿主目录里面的内容就是将skel拷贝过去,然后放到/home目录下并改名为新建的用户名

总计64

drwxr-xr-x3rootroot40962013-07-10.

drwxr-xr-x97rootroot1228802-1816:24..

-rw-r--r--1rootroot332011-05-13.bash_logout

-rw-r--r--1rootroot1762011-05-13.bash_profile

-rw-r--r--1rootroot1242011-05-13.bashrc

-rw-r--r--1rootroot5152011-04-07.emacs

drwxr-xr-x4rootroot40962012-11-16.mozilla

3,全局配置文件~/.bash_profile、~/.bashrc和~/.bash_logout

注:可以在用户的宿主目录下使用ls-a查看。

~/.bash_profile:每次登录时执行

~/.bashrc:每次进入新的Bash环境时执行

~/.bash_logout:每次推出登录时执行

4,查看用户组信息:/etc/group和/etc/gpasswd

/etc/group查看用户组的信息

[root@localhost~]#cat/etc/group|tail-1

user:x:1204:user01,user2

第一段:组名

第二段:密码占位符

第三段:GID

第四段:组内成员(使用gpasswd-a添加,gpasswd-d删除,gpasswd-M覆盖添加多个)

[root@localhost~]#cat/etc/gshadow|tail-1

user:$1$u/W2qj.L$W8GJY5HxyLzphdtgLKpxW0:stu02:user01,user2

第一段:组名

第二段:密码(使用gpasswd来设置)

第三段:组管理员(使用gpasswd-A指定)

第四段:组内成员

总结:

学的时间也不短了,总是想找个时间将用户组这一章好好的做下笔记,这下好了,终于弄完了,哈哈

用户和用户组的管理这一章很绕口,理解也还算容易,命令不多,但是选项很多,一个题可能有好几种做法,比如说usermod-a-gtechuser01和gpasswd-auser01tech,虽然都是讲user01用户加入到tech组中,但是还有那么的不同,唉,慢慢搞吧!

linux启动dhcp服务器的命令linux启动dhcp

dhcp服务启动命令?

启用DHCP的方法是:

在linux中,dhcp服务器的配置比较简单,只需要掌握/etc/dhcpd.conf的配置即可。另外相关的辅助配置文件/lib/dhcpd.leases用于记录已经分配出去的Ip地址信息。

1.首先打开计算机管理,找到DHCPclient服务;

2.然后设置该服务的启动类型为自动;

3.接着打开【网络和Internet】选项,找到本地连接;

4.最后勾选【自动获得IP地址】选项即可。

linux怎么启动dhcpv4?

先用yum安装DHCP服务,命令:yum-yinstalldhcp启动:servicedhcpstart

linux下如何开机自启动dhcp服务?

1,通过编辑/etc/rc.local文件来使dhcp服务开机自启动

使用命令vi/etc/rc.local,

然后在文件最后一行添加“sudo/etc/init.d/dhcp3-serverstart”就能使dhcp服务开机自启动。

2,使用crontab任务提交计划

先写一个简单的检查dhcp服务是否启动了的脚本a.sh:

#!/bin/bash ps-ef|grepdhcp|grep-vgrep if then exit0 else sudo/etc/init.d/dhcp3-serverstart>/dev/null2>1 fi

如果在用户目录下没有cron文件,使用vi新建一个my.cron的crontab文件,将以下内容写进去:

*/5****bash$HOME/a.sh

然后crontabmy.corn提交,这样系统就会在每5分钟运行一次a.sh脚本,检测dhcp服务已经启动了,如果没有启动或者停止了就会再启动一次。

3,注册系统服务

chkconfig--add服务名称(首先,添加为系统服务,注意add前面有两个横杠)

chkconfig-leve启动级别服务名on

(说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

chkconfig-leve启动级别服务名off

(说明,off表示关闭自启动)

例如注册dhcp为系统服务并在开机时自启动:

chkconfig--adddhcp chkconfig-level3dhcpon

总结一下:第一种方法其实是将指定服务设置为开机自启动,第三种方法是将服务升级为系统服务并且设置为开机时启动,而第二种方法对于那些最好或者必须开机启动的服务最好不要使用,但是可以使用crontab来实时监测服务是否在线。

如何判断linuxDHCP服务器状态/关闭/开启命令?

1.查看是否设置开机启动

chkconfig--list|grepdhcpd

2.查看端口是否打开

netstat-anulp|grep:67

3.查看服务状态

/etc/

init.d/dhcpd

status

【查看是否运行dhcp服务:psaux|grepdhcp|grep-vgrep】

4:关闭dhcpd

/etc/

init.d/dhcpd

stop

5:开启hdcpd

/etc/

init.d/dhcpd

start

DHCP服务介绍及Linux下DHCP服务的管理配置?

1.DHCP服务

DHCP是DynamicHostConfigurationProtocol,动态主机配置协议,是用来在物理网络给主机分配ip地址的一种方式,区别于bootp,一次分配终身使用的缺点。

DHCP提出的租约的概念,使得可以根据需要动态确定主机需要的IP地址,并且IP地址可以循环使用。

2.DHCP结构

DHCP是典型的C/S结构,需要服务端启动守护进程来保证来自client段的请求能被响应,DHCP的工作原理如下:

可以通过DORA来记忆:

Client:DHCPDISCOVER#客户端向相同网络发送广播包,企图寻找DHCP服务器

Server:DHCPOFFER#如果DHCP服务段收到DISCOVER包,则向客户端回复OFFER广播包

Client:DHCPREQUEST#客户端收到来自DHCP的OFFER广播包后,则确定DHCP服务器,继续向DHCP服务器发送REQUEST包,来申请ip信息

Server:DHCPACK#DHCP服务端向客户端发送ACK包,携带ip和租约信息给客户端,DHCP发现过程结束

注意:dhcp在跨网段的路由器另一侧,则路由器需要开启dhcprelay来支持转发客户端DISCOVER的广播包给DHCP服务器,这些通过路由器的转发,都是单播

因为路由器和dhcp之间的连接是有ip信息的。

DHCP服务端端口UDP67

DHCP客户端端口UDP68

DHCPreservation:地址保留:

专用于某特定客户端的地址,不应该使用地址池中的地址;优先于地址池中的地址;

3.Linux下DHCP服务安装配置

由于CentOS6/7的系统管理机制不同,所以开机自启动服务的方式有所不同,但是配置文件,帮助文档大同小异

3.1CentOS6下DHCP安装:

#yuminstalldhcp

#通过rpm-qldhcp来查询hdcp包所创建安装的文件,我们可以分析他的使用方式:

这里列举几个比较重要的文件:

#DHCP服务配置文件:

/etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd6.conf

#服务脚本,控制dhcp服务的启动,关闭,状态查询,reload等

/etc/rc.d/init.d/dhcpd

/etc/rc.d/init.d/dhcpd6

/etc/rc.d/init.d/dhcrelay

/etc/rc.d/init.d/dhcrelay6

#dhcp命令参数配置文件:此文件内容提供一些区段给dhcpd守护进程在系统引导时使用,dhcpd守护进程使用DHCP及BOOTP协议为主机自动分配IP地址

/etc/sysconfig/dhcpd

/etc/sysconfig/dhcpd6

/etc/sysconfig/dhcrelay

/etc/sysconfig/dhcrelay6

#dhcp二进制程序

/usr/sbin/dhcpd

/usr/sbin/dhcrelay

#dhcp的ip地址租约库,可以查到ip分配情况

/var/lib/dhcpd/dhcpd.leases

/var/lib/dhcpd/dhcpd6.leases

4.1CentOS6下dhcp服务配置文件管理:

4.1.1首先编辑dhcp主配置文件:

/etc/dhcp/dhcpd.conf

optiondomain-name"richie.com";#dhcp主机名

optiondomain-name-servers192.168.229.141;#名称服务器的地址

default-lease-time600;#默认租约秒数

max-lease-time7200;#最大租约秒数

log-facilitylocal7;#log级别

subnet192.168.229.0netmask255.255.255.0{

range192.168.229.201192.168.229.220;#可供分配的ip段

optionrouters192.168.229.1,192.168.229.2;#如果在最近配置的optionrouters那就直接饮用,如果没有,那就会自动继承上一级的option

}#子网配置格式

当编辑完,保存退出,可以使用这个命令来检测语法错误:

servicedhcpdconfigtest

4.1.2配置ip地址预留:

需要在subnet{}内部,配置host{}格式如下:

subnet192.168.229.0netmask255.255.255.0{

hostwindows1{

hardwareethernet00:0c:29:0:f3:44;

fixed-address192.168.229.222;

optionrouters192.168.0.1#这里可以针对这台机器设置optionrouters的值,而不用继承上一级的网关信息

}

}

最后,保存退出

servicedhcpdforce-reload

测试效果:

linuxclient:

dhclient-deth0

windowclient:

ipconfig/renew

4.1.3配置开机自启动:

还是老命令chkconfigdhcpdon,默认会将init级别2,3,4,5都设置为开机自启动,也可以使用chkconfig--level2,3,4来自己指定需要的运行级别自启

4.1.4管理dhcp服务

servicedhcpd{start|stop|restart|force-reload|condrestart|try-restart|configtest|status}

4.2CentOS7下的DHCP服务管理

4.2.1配置文件:

同CentOS6上的配置,参见4.1.1

4.2.2配置ip地址预留:

同CentOS6上的配置,参见4.1.2

4.2.3配置开机自启动:

由于CentOS6/7的系统服务管理机制的不同,CentOS7引入了systemd来管理所有的服务,所以不能再使用chkconfig命令来设置,需要使用:

#systemctlis-enabledDAEMON.service查看dhcp服务状态,相当于C5的chkconfig--listdhcpd

#systemctlenableDAEMON.service启用开机自启动dhcp服务,相当于C5的chkconfigdhcpdon

#systemctldisableDAEMON.service禁用开机自启动dhcp服务,相当于C5的chkconfigdhcpdoff

4.2.4管理dhcp服务

#systemctl{start|stop|restart|status}DAEMON.service

5.DHCP配置命令总结

一个简单dhcp服务的配置文件至少需要包含如下的配置信息:

dhcpd.conf

optiondomain-name

optiondomain-name-servers

optionrouters

subnetNETWORKnetmaskMASK{

rangeSTART_IPEND_IP;

hostHOSTID{

hardwareethernet00:11:22:33:44:55;

fixed-addressIP;

}

}

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

例子:

dhcpd.conf

optiondomain-name"richie.com";

optiondomain-name-servers192.168.229.141;

default-lease-time600;

max-lease-time7200;

log-facilitylocal7;

subnet192.168.229.0netmask255.255.255.0{

range192.168.229.201192.168.229.220;

optionrouters192.168.229.1,192.168.229.2;

hostwindows1{

hardwareethernet00:0c:29:30:f3:44;

fixed-address192.168.229.211;

}

阅读剩余
THE END