Linux自有服务

Linux自有服务

自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务

一、运行模式

运行模式也称为运行级别
在Linux中存在一个进程:init(initiialize,初始化),进程id是1
查看进程:ps -ef|grep init

[root@xiaxiangming ~]# ps -ef|grep init
root        719      1  0 Jul31 ?        00:00:00 /usr/sbin/alsactl -s -n 19 -c -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main rdaemon
root       2826      1  0 Jul31 ?        00:00:00 kdeinit4: kdeinit4 Runnin e
root       2828   2826  0 Jul31 ?        00:00:00 kdeinit4: klauncher [kdei e
root       2830      1  0 Jul31 ?        00:00:00 kdeinit4: kded4 [kdeinit]
root      31417   2743  0 09:47 pts/0    00:00:00 grep --color=auto init

该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
centos 7文件主要内容:

[root@xiaxiangming ~]# cat /etc/inittab 
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

multi-user.target : 运行级别3(命令行)
graphical.target : 运行级别5(图形界面)
查看当前运行级别:
systemctl get-default
设置开机进入命令行:
systemctl set-default multi-user.target
设置开机进入图形界面:
systemctl set-default graphical.target
根据上述的描述,可以得知,Centos6中存在7种运行模式。
0-表示关机级别(不要将默认的运行级别设置成0)
1-单用户模式
2-多用户模式,不带NFS(Network File System)
3-多用户模式,完全的多用户模式
4-没有被使用的模式(被保留模式)
5-x11,完整的图形化界面模式
6-表示重启级别(不要将默认的运行级别设置成这个值)
与该级别相关的命令:

#init 0    表示关机
#init 3    表示切换到不带桌面的模式
#init 5    表示切换到图形界面
#init 6    重启电脑

注意:init指令需要超级管理员的权限
这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去度配置文件执行对应的操作。
①切换到纯命令行模式下(临时切换模式,重启后恢复)
#init 3
切换之后需要输入用户名和密码,在输入密码的时候没有"*"提示输入,只要自己确认输入的密码没有错误即可回车
②回到桌面模式
#init 5
③设置模式永久为命令行模式(centos 6)
将/etc/inittab文件中的initdefault值设置成3,然后在重启。
④设置模式永久为命令行模式(centos 7)
将/etc/inittab文件中的systemctl set-default值设置成multi-user.target

二、用户与用户组管理(重点)

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个账号都拥有一个唯一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
想要实现用户账号的管理,要完成的工作主要有以下几个方面:
①用户账号的添加、删除、修改以及用户密码的管理。
用户组的管理。
注意三个文件:
/etc/passwd //存储用户的关键信息
/etc/group //存储用户组的关键信息
/etc/shadow //存储用户的密码信息
1、用户管理
①添加用户

常用语法:#useradd 选项 用户名
常用选项:
	-g:表示指定用户的用户组,选项的值可以是用户组的id或者用户组名
	-G:表示指定用户的用户附加组,选项的值可以是用户组的id或者用户组名(用于用户处于多个用户组时)
	-u:uid,用户的id(用户的标识符)系统默认会在500以后分配uid,如果不想使用可以使用此选项进行指定uid
案例:创建用户
#useradd xia
验证是否成功:
	a.在/etc/passwd的最后一行是否有xia的信息
	b.验证是否存在家目录(在centos下创建好用户后会自动创建他的家目录)
扩展:认识passwd文件

nfsnobody:×:65534:65534:Anonymous NFS User:/var/1ib/nfs:/s/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/s/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/snologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/s /nologin
postf ix:x:89:89::/var/spool/postf ix:/s/nologin
ntp:x:38:38::/etc/ntp:/s/nologin
tcpdump:×:72:72::/:/snologin
xia:×:1880:1808::/home/xia:/l/bash
apache:×:48:48:Apache:/usr/share/httpd:/s/nologin

用户名:密码:用户id:用户组id:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般都是X,表示密码的占位
用户id:用户的标识符
用户组id:该用户所属的主组id;
注释:解释该用户是做什么用的;
家目录:用户登录系统之后默认的位置
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a.创建同名的家目录
b.创建同名的用户组
案例:创建用户lisi,主组为501,附加组为500,用户id为666
#useradd -g 501 -G 500 -u 666 lisi
②修改用户

常用语法:#usermod 选项 用户名
usermod:user modify,修改用户
常用选项:
	-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名。
	-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
	-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过此选项自定义(类似于QQ的自选靓号情况)
	-l:修改用户名
案例:修改zhangsan用户主组为500,附加组改为501
#usermod -g 500 -G 501 zhangsan
案例:修改zhangsan用户名为lisi
#usermod -l lisi zhangsan

③设置密码
Linux不允许没有密码的用户登录到系统

常用语法:#passwd 用户名
案例:设置用户lisi的密码
[root@xiaxiangming ~]# passwd lisi
Changing password for user lisi.
New password:          //输入的密码隐藏了,确保输入正确时回车即可
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

在设置用户密码之后就可以登录系统了
切换用户命令:#su[用户名] (switch user)
如果用户名不指定表示切换到root用户

[root@xiaxiangming ~]# su xia
[xia@xiaxiangming root]$ su
Password: 
[root@xiaxiangming ~]# 

切换用户需要注意的事项:
a.从root往普通用户切换不需要密码,但是反之则需要root密码;
b.切换用户之后前后的工作路径是不变的;
c.普通用户没有办法访问root用户家目录,但是反之则可以;
④删除用户

常用语法:#userdel 选项 用户名
userdel:user delete(删除用户)
常用选项:
	-r:表示删除用户的同时删除其家目录
	-f:表示强制删除(已经登录的用户也可删除)
案例:删除xia后重新创建
[root@xiaxiangming ~]# userdel -rf xia
[root@xiaxiangming ~]# useradd xia
[root@xiaxiangming ~]# passwd xia

注意:已经登录的用户删除的时候会提示删除失败,但是没有登录的用户可以正常删除。
解决方法:简单粗暴,kill对应用户的全部进程
2、用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

stapdev:x:158:
tcpdump:x:72:
xia:x:1000:
screen:x:84:
apache:x:48:

文件结构:
用户组名:密码:用户组id:组内用户名
密码:X表示占位符,虽然用户组可以设置密码,但是大部分情况下不设置密码;
组内用户名:表示附加组是该组的用户名称
①用户组添加

语法:#groupadd 选项 用户组名
常用选项:
	-g:表示类似用户添加里的"-u",-g表示选择自己设置一个自定义的用户组id数字,如果自己不指定默认从500之后递增;
	案例:使用groupadd指令创建一个新的用户组administrators
	[root@xiaxiangming ~]# groupadd administrators
	[root@xiaxiangming ~]# tail -1 /etc/group
	administrators:x:1001:

②用户组编辑

常用语法:#groupmod 选项 用户组名
常用选项:
	-g:类似于用户添加里的"-u",-g表示选择自己设置一个自定义的用户组id数字,如果自己不指定默认从500之后递增;
	-n:类似于用户修改里的"-l",表示设置新的用户组的名称
案例:修改administrators用户组,将用户组的id从1001改为1002,将名称改为admin
[root@xiaxiangming ~]# groupmod -g 1002 -n admin administrators 
[root@xiaxiangming ~]# tail -1 /etc/group
admin:x:1002:

③用户组删除

常用语法:#groupdel 用户组名
案例:删除admin用户组
[root@xiaxiangming ~]# groupdel admin 
[root@xiaxiangming ~]# tail -1 /etc/group
apache:x:48:

注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组中移除所有用户

三、网络设置

首先知道网卡配置文件位置:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式:ifcfg-网卡名称

[root@xiaxiangming ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE="Ethernet"    //
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"   //IP地址分配方式,DHCP表示动态主机分配方式
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens160"
UUID="10a14ffe-a64c-4061-8d38-3f6ce1efe346"
DEVICE="ens160"
ONBOOT="yes"   //是否开机启动

如果需要重启网卡怎么去操作呢
#service network restart
在有的版本中额可能没有service命令来快速操作服务,但是有一个共性的目录:/etc/init.d
这个目录中放着很多服务的快捷方式。
此处的重启网卡命令还可以使用:
#/etc/init.d/network restart
扩展:如果修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式(软连接)方便以后去查找

[root@xiaxiangming ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/init.d
[root@xiaxiangming ~]# ls /etc/init.d
functions  ifcfg-ens160  netconsole  network  README
通过ls -l命令查看

[root@xiaxiangming init.d]# ls -l
total 40
-rw-r--r--. 1 root root 18281 Aug 19  2019 functions
lrwxrwxrwx  1 root root    43 Aug  2 22:15 ifcfg-ens160 -> /etc/sysconfig/network-scripts/ifcfg-ens160  //表示创建的快捷方式的原始路径
-rwxr-xr-x. 1 root root  4569 Aug 19  2019 netconsole
-rwxr-xr-x. 1 root root  7928 Aug 19  2019 network
-rw-r--r--. 1 root root  1160 Apr  1  2020 README

其中,文件类型位置的"l"表示其类型为link(连接类型),后面的"->"指向的是原始文件路径。
扩展2:如何重启单个网卡
停止某个网卡:
#ifdown 网卡名称
开启某个网卡:
#ifup 网卡名
例如:需要停止-启动(重启)网卡eth0
#ifdown eth0
#ifup eth0
提示:在实际工作的时候不要随意禁网卡。

四、ssh服务(重点)

ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议、远程文件传输协议。
协议使用端口号:默认是22
可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:

#/etc/ssh/ssh_config
 #   IdentityFile ~/.ssh/id_ed25519
 #   Port 22   //端口号22
 #   Protocol 2
 #   Cipher 3des

端口号可以修改但是要注意2个事项:
    a.注意范围,端口范围是从0-65535;
    b.不能使用别的服务已经占用的端口;
centos6 ssh服务启动、停止、重启

#/etc/init.d/sshd start/stop/restart

1、远程终端
终端工具主要是帮助运维人员连接远程的服务器,常见终端工具有:Xshell、Putty、secureCRT等。
2、ssh服务文件传输
①通过可视化工具传输文件
②通过命令行传输文件
工具:pscp.exe(必须通过cmd命令行打开)为了使用方便可以将其放到环境变量中,如果不清楚哪些路径是环境变量路径,只需要将其放到C:/windows目录下即可。
用法:
    a.pscp 选项 用户名@Linux主机地址:资源路径 Windows本地的地址(下载到win)
    b.pscp 选项 资源路径 用户名@Linux主机地址:远程路径(上传到Linux)
    c.pscp 选项 -ls 用户名@Linux主机地址(列出远程路径下目录结构)
①下载到本地win
要求将远程Linux服务器下的/etc整个目录下载到本地E: mp下
在win端
#pscp -r root@192.168.170.128:/etc E: mp
②上传文件到Linux
将E:coursedocs的所有内容传输到Linux下root用户的家目录
#pscp -r "E:coursedocs" root@192.168.170.128: oot

原文地址:https://www.cnblogs.com/xiaxiangming/p/15096573.html