Linux自有服务
Linux自有服务
自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后直接使用的服务(内置)。
- 运行模式
运行模式也可以称之为运行级别
在linux中存在一个进程:init(初始化),进程id是1
查看进程:# ps –ef | grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件。位置/etc/inittab)
文件的主要内容:
Centos6.5 存在7种运行级别/模式
0:表示关机级别(不要将默认运行级别设置为0)
1:单用户
2:多用户,不带NFS(network file system)
3:多用户模式,完全的多用户模式
4:没有被使用的模式(被保留模式)
5:X11,完整的图形化界面模式
6:表示重启级别(不要将默认设置为6)
与该级别相关的几个命令:
# init 0 表示关机
# init 3 表示切换到不带桌面的模式
# init 5 切换到图形界面
# init 6 重启电脑
注意:需要超级管理员权限
- 切换到纯命令行模式下(临时)
# init 3
切换后需要输入用户名和密码,密码不显示
- 回到桌面模式
# init 5
- 设置模式永久为命令行模式
二、用户与用户组管理
注意三个人文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
- 用户管理
添加用户
常用语法:# useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认从500之后按顺序分配uid,如果不想使用系统分配,可以通过该选项自定义
-c:comment:添加注释
案例:创建用户,不带任何选项
验证是否成功:
- 查看/etc/passwd最后一行
- 验证是否存在家目录
拓展:认识passwd文件
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户的名称,后期登录需要输入
密码:都是“x”,表示密码占位
用户ID:用户的识别符
用户组ID:该用户的所属的主组ID
解释:该用户是干什么的
家目录:用户登录进入系统默认的位置
解释器shell:用户输入指令,解释器收集用户输入的指令,传递给内核处理
注意:在不添加选项的时候,执行useradd会执行一系列的操作
- 创建同名的家目录
- 创建同名的用户组
案例:添加选项,创建用户wangwu,让wangwu属于501主组,附加组500,自选靓号666
注意:查看用户的主组可以查看passwd,查看附加组可以查看group文件
修改用户:
常用语法:# usermod 选项 用户名
Usermod:user modify,用户修改
常用选项:
-g:表示指定用户的用户主组,选项的值可以用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认从500之后按顺序分配uid,如果不想使用系统分配,可以通过该选项自定义
-l:修改用户名
案例:修改wangxiaoer 用户主组为500,附加组修改为501
案例:修改wangxiaoer用户用户名
设置密码
Linux 不允许没有密码用户登录系统
常用语法:# passwd 用户名
密码不能过于简单
设置密码后,shadow文件中的显示:
切换用户命令:# su 【用户名】 switch user
用户名不指定,默认到root用户
从root切换到普通用户不需要密码。反之,需要密码
切换后,路径不变
普通用户无法访问root家目录,反之,可以访问
删除用户
常用语法:# userdel 选项 用户名
常用选项:
-r:表示删除用户的同时,删除其家目录
案例:删除wangergou用户
2、用户组管理
文件结构:
用户组名:密码:用户组ID:组内用户名
密码:X表示占位符,用户组可设密码,一般不设
组内用户名:表示附加组是该组的用户名称
用户组添加
常用语法:# groupadd 选项 用户组名
常用选项:
-g:自定义设置用户组ID数字,不指定,从500递增
案例:创建用户组
用户组编辑
常用语法:# groupmod 选项 用户组名
常用选项:
-g:自定义设置用户组ID数字,不指定,从500递增
-n:设置新的用户组的名称
案例:修改用户组名称
用户组删除
常用语法:# groupdel 用户组名
注意:删除某个组是某个用户的主组时,不允许删除,如果需要删除,需要先删除用户
三、网络设置
首先知道网卡配置文件位置:/etc/sysconfig/network-scripts
网卡的配置文件命名格式:ifcfg—网卡名称
ONBOOT:是否开机自动启动
BOOTPROTO:ip地址分配方式,DHCP表示动态分配
HWADDR:硬件地址,MAC地址
重启网卡:
Service network restart
一些分支没有service命令快速操作服务,有个共性目录/etc/init.d,这个目录存放很多任务的快捷方式
# /etc/init.d/network restart
拓展:如果修改一个网卡的配置文件,路径太深,可以在浅目录下创建一个快捷方式(软链接),方便以后去查找
# ln –s 原始文件路径 快捷方式的路径
拓展2:如何重启单个网卡
停止某个网卡:# ifdown 网卡名
开启某个网卡:# ifup 网卡名
提示:工作时,不要随意禁用网卡
四、ssh服务
Ssh:(secure shell,安全外壳协议),有两个常用作用:远程连接协议、远程文件传输协议
协议使用端口号:默认是22
如果需要修改,则需要修改ssh的配置文件
# /etc/ssh/ssh_config
渡口修改,注意事项:(防火墙)
- 注意范围,端口范围0-65535
- 不能使用别的服务已经占用的端口
服务启动/停止/重启
# service sshd start/stop/restart
# /etc/init.d/sshd start/stop/restart
1、远程终端
终端工具主要帮助远程运维人员连接远程服务器,常见:xshell、secureCRT、putty
获取服务器的ip地址,可以通过ifconfig命令查看,ping下连接相通性
弹出对话框
问要不要信任,点击是,就行
输入用户名,密码
2、ssh服务文件传输
可视化的传输工具:Filezilla,secureFX
拓展:通过命令行工具来传输文件/文件夹
工具:PSCP(必须通过cmd命令行使用),为了使用方便,可以将其放入环境变量目录中
如果不清楚,直接放入C:/Windows目录下即可
用法:
- pscp 选项 用户名@linux 主机地址:资源路径 windows本地的地址(下载到win)
- pscp 选项 资源路径 用户名@linux 主机地址:远程路径(上传到linux)
- pscp 选项 –ls 用户名@linux 主机地址(列出远程路径下结构)
案例:从linux中将/etc整个目录下载
案例:上传到linux
Linux间互相传:scp命令
五、修改主机名
回顾:
# hostname
# hostname –f FQDN(全限定域名)
临时设置主机名,切换用户生效
# hostname 设置的主机名
永久设置主机名(需要重启)
先找到一个文件
/etc/sysconfig/network
修改HOSTNAME即可
修改Linux服务器的hosts文件,将主机名指向本地(设置FQDN)
Hosts文件的位置:/etc/hosts
第二个为ipv6
在第一个最后添加主机名,即可
不设置FQDN??
- 很多开源服务器软件(例如Apache)则无法使用,或报错
- 方便记忆,看到主机名对其有个初步判断
- 如果不设置则会影响本地的域名解析(本地访问)
六、chkconfig
作用:相当于“电脑管家”的开机启动项的管理服务
不是所有服务都是自动启动,有的需要添加,还可以查看,修改
开机启动服务查询
# chkconfig –list(两个横线)
0-6表示各个启动级别
例如:以httpd为例,其3级别为关闭,表示在3启动形式下默认开机不启动
5对应也是关闭,表示其在桌面模式下也是开机不启动
删除服务
# chkconfig –-del(两个横线) 服务名
例如删除httpd服务
添加开机启动服务
# chkconfig –-add(两个横线) 服务名 (必须保证服务可以正常启动)
设置服务在某个级别下开机启动(重点)
# chkconfig –level 启动级别 服务名 on/off
在3和5两个级别下启动
Httpd服务在5级别下开机不启动
七、ntp服务
作用:ntp主要用于对计算机的时间同步管理操作
时间对服务器很重要
同步服务器时间方式有2个:一次性同步( 手动同步)、通过服务自动同步
上游的概念:
一次性同步时间(简单)
# ntpdate 时间服务器的域名或ip地址
Ip地址查看可以访问:www.ntp.org.cn/pool.php
设置时间同步服务
服务名:ntpd
启动ntpd服务
# service ntpd start 或者 /etc/init.d/ntpd
设置ntpd服务开机启动
八、防火墙服务
防火墙:防范一些网络攻击,有软件防火墙和硬件防火墙
在centos6.5中防火墙有个名称:iptables (7.x中默认使用的是firewalld)
国家长城防火墙 GFW
查看防火墙是否默认开机启动
# ps –ef | grep iptables
# chkconfig –list | grep iptables
Iptables服务启动/重启/关闭
# service iptables start/stop/restart
/etc/init.d/iptables start/stop/restart
查看iptables的状态(规则)
# service iptables status
查看规则的命令
# iptables –L –n
选项:
-L:表示列出规则
-n:表示将单词表达形式改成数字形式显示
简单设置防火墙的规则
允许80端口通过防火墙
# iptables –I INPUT –p tcp –dport 80 –j ACCEPT #允许访问80端口
Iptables:主命令
-A:add,添加规则(会放到所有规则最后)
-I:insert,插入规则(会放在第一个)
INPUT:进站请求(出站output)
-p:protocol,指定协议(icmp/tcp/udp)
--dport:指定端口号
-j:指定行为结果,accept/reject
添加完成之后,需要保存
九、rpm管理(重点)
作用:类似电脑管家里的“软件管理”
管理:查询、卸载、安装
- 查询某个软件的安装情况
# rpm –qa | grep 关键词
选项:
-q:查询,query
-a:全部,all
- 卸载某个软件
# rpm –e 软件的名称
火狐卸载没有依赖关系,但Apache卸载存在依赖关系
解决方式:# rpm –e 软件包名 –nodeps(两个横线)
- 软件安装
需要安装包
获取方式:
- 去官网下载
- 不介意老版,可以从光盘(镜像文件)中读取
以光盘为例:
查看块状设备的信息:
# lsblk (list block devices) 查看块状设备的信息
Name:名称
Size:设备大小
Type:类型
Mountpoint:挂载点(类似windows下的盘符)
拓展:光盘的挂载和解挂
- 解挂操作
命令:umount
语法:# umount 当前设备的挂载点
- 挂载操作
命令:mount
语法:# mount 设备原始地址 要挂载的原始路径
设备原始路径:/dev/,根据大小确定具体的name值,例如“/dev/sr0”
要挂载的原始路径:挂载目录一般在mnt下
安装软件命令:
# rpm –ivh 软件包完整名称
选项:
-i:install 安装
-v:显示进度条
-h:表示以“#”形式显示进度条
十、cron/crontab计划任务
作用:24小时值守,自动执行命令
语法:# crontab 选项
常用选项:
-l:list,列出指定用户的计划任务的列表
-e:edit,编辑指定用户的计划任务的列表
-u:user,指定用户名,如果不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
- 列出
- 编辑
计划任务的规则语法格式:
以行为单位,一行为一个计划
分 时 日 月 周 需要执行的命令
例:每天零点零分执行reboot
0 0 * * * reboot
取值范围:
分:0-59
时:0-23
日:1-31
月:1-12
周:0-7,0和7表示星期天
四个符号:
*:表示取值范围内任意数字
-:做区间表达式,表示1到7,写成1-7
/:表示每多少个,例:每10分钟执行,*/10
,:表示多个取值,在1点3点7点,1,3,4
案例:每月1、10、22日的4:45重启network服务
45 4 1,10,22 * * service network restart
案例:每周六、周日的1:10重启network服务
10 1 * * 0,6 service network restart
案例:每天18:00到23:00之间每隔30分钟重启network服务
*/30 18-23 * * * service network restart
案例:每隔两天上午8点到11点的第3和第15分钟执行一次重启
3,15 8-11 */2 * * reboot
实际案例:每隔一分钟往root家目录中的RT.txt输入当前时间信息
*/1 * * * * date +”%F % T” >> /root/RT.txt
Crontab权限问题:任何用户都可创建计划任务
超级管理员可通过配置设置某些用户不允许设置计划任务
配置文件(黑名单):
/etc/cron.deny
` 写文件名,一行一个
还有一个配置文件(白名单)
/etc/cron.allow (本身不存在,自己创建)
注意:
白名单优先级大于黑名单