Linux自有服务(1)
先解释一下,什么是自有服务?
自有服务:即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置服务)。
一, 运行模式,
也称为:运行级别。
在linux中存在一个进程:init(initialize,初始化),进程id是1。
查看进程:#ps -ef|grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
文件的主要内容:
根据上述的描述,可以得知:Centos6.5中存在7种运行级别/模式。
- 表示关机级别(不要将默认的运行级别设置为这个值);
- 单用户模式;
- 多用户模式,不带NFS的时候(Network File System),没有网等同于3;
- 多用户模式,完全的多用户模式(不带桌面的,纯命令模式);
- 没有被使用的模式(被保留模式);
- X11,完整的图形化界面模式
- 表示重启级别(不要将默认的运行级别设置为这个值)
与该级别相关的几个命令:
#init 0 表示关机
#init 3 表示切换到纯命令模式;
#init5 切换到图形界面
init 6 重启电脑
---注意:initial指令,需要超级管理员权限执行。
这些命令其实都是调用init进程,将数字(运行级别),传递给进程,进程去读配置文件,执行对应的操作。
具体语法如下:
①切换到纯命令行模式下:
#init 3 ---临时的,重启后失效
PS:输入密码时,不显示值,只管输入就行
②回到图形桌面模式
#init 5
③如何设置模式为永久?
答:将/etc/inittab文件中的initdefault值设置成想要的值(具体见上面讲解,比如:3),然后重启操作系统。
** 特别添加 **:
centos7之前要设置开机默认不启动图形界面是通过vi /etc/inittab来将id:3:initdefault:
但是,在centos7之后就不是这样子的。
例如我的centos版本是CentOS-7-x86_64-DVD-1804,现在我vi /etc/inittab,结果:
multi-user.target相当于之前的更改运行级别为3,意思就是命令行。
graphical.target相当于之前的更改运行级别为5,意思就是图形界面(graphical中文意思是图形)。
此时,方法一:
步骤1:查看当前的开机默认运行方式:systemctl get-default
步骤2:设置开机纯命令界面:systemctl set-default multi-user.target
设置开机启动图形界面:systemctl set-default graphical.target
方法二(我个人采用第二种方法,直接复制粘贴实现):
centos7的运行级别都定义在 /lib/systemd/system下. 不再是之前的/etc/inittab文件.
设置命令行级别方法:(默认进入命令行界面模式)
ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
或
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
或
systemctl set-default multi-user.target
设置窗口级别方法:(默认进入图形界面模式)
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
或
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
或
systemctl set-default graphical.target
二, 用户与用户组管理 (重点)
Linux系统一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提高安全性保护。
美国账户都有一个唯一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加,删除,修改以及用户密码的管理。
用户组的管理。
注意三个文件:
/etc/passwd 表示存储用户的关键信息
/etc/group 表示存储用户组的关键信息
/etc/shadow 表示存储用户的密码信息
- 用户管理
①添加用户
语法:#useradd 选项 用户名
常用选项:
-g: 表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名;
-G: 表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名;
-u: uid,用户的id(用户的标识符,比如qq号。)系统默认会从500之后按顺序分配uid,也可以通过该选项自定义(腾讯QQ的自选靓号情况)
-c: 表示添加注释,comment。
案例:创建用户zhangsan,不带任何选项
再验证是否成功,
方法一:cat /etc/passwd,看最后一行是否有自己创建的用户信息;
方法二:验证是否存在家目录;
扩展:认识pwsswd文件
选项含义:
用户名:密码:用户id:用户组id:注释:家目录:解释器shell
用户名:创建新用户名称;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户id:用户的识别符;
用户组id:该用户所属的主组id;
注释:解释该用户是做什么用的;
家目录:不想解释~;
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会手机用户输入的指令,传递给内核处理;
PS:
在不添加选项的时候,在执行useradd之后,会执行一系统的操作:
- 创建同名的家目录;
- 创建同名的用户组。
案例二:添加选项,创建用户lisi,让lisi属于1001的主组,附加组是1000,自选靓号666.
PS:查看用户的主组,可以查看passwd文件,查看附加组可以查看group文件。如下:
②修改用户
语法:#usermod 选项 用户名
常用选项:
-g: 表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名;
-G: 表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名;
-u: uid,用户的id(用户的标识符,比如qq号。)系统默认会从500之后按顺序分配uid,也可以通过该选项自定义(腾讯QQ的自选靓号情况)
-l: 表示修改用户名
案例1:修改zhangsan用户的主组1001变成1000,附加组改为1000
#usermod -g 1000 -G 1000 zhangsan
案例2:修改zhangsan的用户用户名 ,改外wangerma
# usermod -l 新用户名,旧的用户名
# usermod -l wangerma zhangsan
注意:
新用户名在前面!
一定要注意用户名和用户组名的区别!前面的是组名,后面的是用户名,类似于QQ创建一个同事组,里面是同事名。
③设置密码
Linux不允许没有密码的用户登陆,因此前面创建的用户目前都是锁定状态,需要设置密码之后,才能登陆计算机。
语法:#passwd 用户名
案例:设置wangerma用户的密码
设置密码的时候,不会显示输入的值,只管输入!(不建议输入弱强度的密码)
验证:/etc/shadow文件下,密码是加密的,不用怕,此时lisi是没有密码的,也可以尝试设置lisi密码,#passwd lisi
设置好密码后,登陆账号,比如wangerma,
语法:#su 【用户名】 (单词速记:switch user)
如果不写用户名,默认切换到root超级管理员用户----此而且时要输入密码!
切换用户注意事项:
- 从root切换到普通用户不需要密码,反之需要root密码;
- 切换用户之后,前后的工作路径不变!;
- 普通用户无权限访问root用户家目录,反之可以!。
④删除用户
语法:#userdel 选项 用户名
常用选项:
-r: 表示删除用户的同时,还删除其家目录
案例:删除wangerma用户
注意:此时已经登陆的wangerma用户,不允许删除,但是没有登陆的lisi用户可以删除。
如何删除已经登陆的用户?
解决办法:
简单粗暴,在家目录下面,kill 对应用户的全部进程--注意要回到家目录!
ps -ef|grep wangerma
kill 第二个数字
友情提示:
所有跟用户操作的命令(除passwd外),只有超级管理员root有用户管理权限,其他用户无权限--除非其他用户改自己密码。
2. 用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建!
用户组的管理设计用户组的添加,删除,修改。其实就是对/etc/group文件的更新!
选项含义:
用户组的名字:密码:用户组ID:组内用户名
密码: x只是表示占位符,虽然用户组可以设置密码,但是大部分情况不设置;
组内用户名:表示附加组是该组的用户名称。
①用户组添加
语法(类似用户):#groupadd 选项 用户组名
常用选项:
-g: 类似用户添加里的“-u”,表示自己设置一个自定义的用户组ID数字,如果不指定,默认从500后递增;
案例:使用groupadd指令创建一个新的用户组,命名为Administrators
②用户组的编辑
语法:#groupmod 选项 用户组名
常用选项:
-g: 类似用户添加里的“-u”,表示自己设置一个自定义的用户组ID数字;
-n: 类似于用户修改里的”-l”,表示设置新的用户组名称。
案例:修改Administors用户组,将组id从502改成520,将从名称改为admins
③用户组的删除
语法:#groupdel 用户组名
注意:当如果需要删除一个主组时,不允许直接删,需要先从组内移除所有用户!
如何从组内移除所有用户?
usermod -g 0 linux123
- 这是修改用户,所以用usermod;
- 移到哪里?暂时可以移到root(0);
- 最后加上用户名
最后,删除这个难缠的“主组”!
三, 网络设置
首先要知道网卡配置文件的位置:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式:ifcfg-网卡名称
必须记住:
ONBOOT: 是否开机启动
BOOTPROTO: ip地址分配方式,DHCP表示动态主机分配协议
HWADDR: 硬件地址,MAC地址
如果后续需要重启网卡,How?
方法一:
service network restart
方法二(通用方法):/etc/init.d,这个目录中放在很多对服务的快捷方式。
此处重启网卡命令:
#/etc/init.d/network restart
扩展:如果修改网卡的配置文件,但是其目录层次很深,此时可以在浅的目录中创建一个快捷方式(软链接),方便以后去查找:
# ln -s 原始路径 想要设置的路径
#ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0
通过ls -l 可以列出如下的效果:
其中,文件类型位置的首字母“l”表示其类型为link(连接类型),后面的“->”指向的是原始文件路径。
扩展2:如何只重启单个网卡?
步骤1:停止某个网卡:#ifdown 网卡名
步骤2:开启某个网卡:#ifup 网卡名
案例:需要重启(停止-启动)eth0网卡,则可以输入:
#ifdown eth0
#ifup eth0
---通过脚本,可以把这两个命令写在一起。
提示:在实际工作的时候,不要随意禁网卡,和之前说的类似:不要随意shutdown
————————————————————————————————————————————————————
今天注意是用户和用户组的相关操作,增加,修改,删除,对应的指令分别是*add,*mod,*del.
再具体到每个指令有2-3个选项比如:-g,-G,-u,-l,-n等,就这么多而已。自己列一个树状图就很清晰了。