自有服务
一、运行模式
运行模式也称运行级别
Linux有个init进程,对应配置文件是inittab
查看进程:#ps -ef | grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
查看文件方式:less\cat\vim\head
示例:#cat /etc/inittab
若想改默认永久启动模式,去 /etc/inittab文件中的值设置成 3 或别的,然后重启操作系统
二、用户与用户组管理
用户账号的添加、删除、修改以及用户密码的管理
用户组的管理
注意三个文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
1、用户管理
①添加用户
常用语法:#useradd 选项 用户名
常用选项:
- -g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
- -G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
- -u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
- -c comment:添加注释 3
案例:创建用户zhangsan,不带任何选项
#useradd zhangsan
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
- a.创建同名的家目录
- b.创建同名的用户组
案例:添加选项,创建用户 lisi,让lisi属于501主组,附加组500,自选靓号666
注意:查看用户的主组可以查看passwd文件,查看附加组可以查看group文件
②修改用户
常用语法:#usermod 选项 用户名
常用选项:
-g、-G、-u
(以上没变化)
-l:修改用户名
案例:修改zhangsan用户主组,附加组改为501
#usemod -g 500 -G 501 zhangsan
案例:修改zhangsan用户用户名,改为wangerma
#usermod -l wangerma zhangsan (先新后旧)
③设置密码
Linux不允许没有密码的用户登录到系统,因此前面创建的用户都处于锁定状态,需要设置密码之后才能登录计算机
常用语法:#passwd 用户名
案例:设置wangerma用户的密码
#passwd wangerma
在设置用户密码之后可以登录账号,例如此处需要登录wangerma
切换用户命令:#su [用户名] (如果不写用户名则默认切换到超级管理员)
④删除用户
常用语法:#userdel 选项 用户名
常用选项:
-r:表示删除用户的同时,删除其家目录
案例:删除wangerma用户 (如果该用户已经登录了的情况)
(因为已经登录的wangerma用户删除的时候提示删除失败,但是没有登录的用户可以正常删除)
解决办法:kill对应用户的全部进程
#ps -ef | grep wangerma
#kill 3151
注意:所有跟用户操作的命令(除passwd外)只有root超级管理员有权限执行
2、用户组管理
用户创建时默认创建自己同名的组
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新
①用户组添加
常用语法:#groupadd 选项 用户组名
常用选项:
- -g:类似用户添加里的 “ -u ”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从500之后递增。
案例:使用groupadd指令创建一个新的用户组,命名为Administrators
#groupadd Administrators
②用户组编辑
常用语法:#groupmod 选项 用户组名
常用选项:
- -g:类似用户添加里的 “ -u ”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从500之后递增。
- -n:类似于用户修改 “ -l ”,表示设置新的用户组的名称
案例:修改Administrators用户组,将组ID从502改成520,将名称改为admins
#groupadd -g 520 -n admins Administrators
③用户组删除
常用语法:#groupdel 用户组名
用户组 id =0 表示root
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实要删除,则先从组内移出所有用户
三、网络设置
重启网卡命令:#service network restart
不一定所有的Linux都可以用service,要是用不了,则使用
#/etc/init.d/network restart
扩展1:如果修改网卡的的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式,方便以后去查找。
#ln -s 原始文件的路径 快捷方式的路径
#ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0
扩展2:如何去重启单个网卡? (在实际工作中不要随意禁用网卡)
停止某个网卡:#ifdown 网卡名
开启某个网卡:#ifup 网卡名
#ifdown eth0
#ifup eth0
四、ssh服务
secure shell —— 安全外壳协议。 该协议2个常用作用:远程连接协议、远程文件传输协议。
两种ssh 启动方式:
#service sshd start/stop/restart
#/etc/init.d/sshd start/stop/restart
#ifconfig 用Xshell连接
Putty、FileZilla、Secure CRT、 PSCP(命令行工具) #pscp -r source des
命令行工具放在 Windows的 C盘的 Windows目录下,然后cmd后 输入软件名称就可打开
五、修改主机名
#hostname
#hostname -f (FQDN)
①临时设置主机名(临时的,可通过su或重新打开终端 即可生效)
#hostname yunwei
②永久设置主机名(需要重启)
cd
#cat /etc/sysconfig/network
#vim /etc/sysconfig/network
③修改Linux服务器的hosts文件,将yunwei指向本地 (设置FQDN)
Hosts文件的位置:/etc/hosts
验证方式:hostname -f
如果不行的话 yunwei就放在第一个
问题:不设置FQDN 会怎么样?
①很多开源服务器软件(例如Apache)则无法启动,
②方便记忆,看到主机名对其作用有一个初步判断
③如果不设置则会影响本地的域名的解析 (本地访问)
六、chkconfig
作用:提供 “ 开机启动项 ” 的一个管理服务
①开机启动服务查询
#chkconfig --list
案例:查询httpd服务
#chkconfig --list | grep httpd
②删除服务
#chkconfig --del 服务名
案例:删除httpd服务
③添加开机启动服务
#chkconfig -add 服务名
④设置服务在某个级别下开机启动/不启动 【重点命令】
#chkconfig --level 连在一起的启动级别 服务名 on/off
案例:设置httpd服务在3,5级别下默认开机启动
#chkconfig --level 35 httpd on
案例:设置httpd服务在5的级别下默认开机不启动
#chkconfig --level 5 httpd off
七、ntp服务
作用:ntp主要是用于对计算机的时间同步管理操作
同时服务器时间方式有2个:一次性同步(手动同步)、通过服务自动同步
时间检查:#date +"%F %T"
2020-03-14 02:04:16
①一次性同步时间(简单粗暴一次性)
百度搜 ntpdate时间服务器
#ntpdate 时间服务器的域名或 ip 地址
全球可用的NTP服务器列表
②设置时间同步服务
服务名:ntpd
启动ntpd服务:#service ntpd start 或者 /etc/init.d/ntpd start —— 如果在init.d目录下,要 ./ntpd start
然后:#chkconfig --list | grep ntpd 可以发现它还是没有开启的。
因此,要设置ntpd服务开机启动:
#chkconfig --level 35 ntpd on
八、防火墙服务
在当前的centos 6.5中防火墙有一个名称:iptables 【7.x中默认使用firewall】
①查看iptables是否启动
#chkconfig --list | grep iptables
②iptables 服务启动/重启/关闭
#service iptables start 或者 /etc/init.d/iptables start
③查看iptables的状态(规则)
#service iptables status
如果iptables没有启动,则提示服务没启动,如果已经启动,则显示防火墙的相关规则信息
④查看规则命令
#iptables -L -n
含义:
- -L:表示列出规则
- -n:表示将单词表达式改成数字形式显示
⑤简单设置
例如:允许80端口通过防火墙,则规则可以用以下的命令来设置
每次添加完成之后需要保存操作: #/etc/init.d/iptables save
几种常用防火墙规则:
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数
九、rpm管理(重点)
作用:软件管理——查询,卸载,安装。
推荐网站:www.rpmfind.net (先考虑Centos的,再考虑RedHat)
rpm.phone.net (有依赖包)
选择适合的版本:
· x86_64,只能安装在64位的系统上
· i386,i586,i686的软件包可以安装在32位和64位系统上
· noarch表示这个软件包与硬件架构无关,可以通用
· 32位系统不能安装64位包
①查询某个软件的安装情况
#rpm -qa | grep 关键词
选项:
- -q:查询,query
- -a:全部,all
#rpm -qa | grep firefox
②卸载某个软件
#rpm -e 软件的名称
#rpm -e firefox
当存在依赖关系的时候又不想去解决这个问题的时候可以:
#rpm -e httpd --nodeps —— 强制删除
③软件的安装
先找得到安装包,软件包的获得方式:
a.官网下载
b.不介意老版本的话,可以从光盘中读取
安装软件的命令:
#rpm -ivh 软件包完整名称
选项:
- -i:install 安装
- -v:显示进度条
- -h:表示以 “ # ” 形式显示进度条
查看块状设备的信息:
#lsblk (list block devices) 查看块状设备的信息
扩展:光盘的挂载和解挂
a.解挂操作
命令:umount
语法:#umount 当前设备的挂载点(路径)
例如:#umount /media/Centos_6.5_Final
此时,相当于U盘在windows上已经被弹出了,但是没有拔下电脑USB接口
b.挂载光盘
命令:mount
语法:#mount 设备原始地址 要挂载的位置路径
设备原始地址:地址统一都在 /dev 下,然后根据大小确定具体name值,拼凑在一起组成原始地址。例如当前 : “ /dev/sr0 ”
要挂载的位置路径:挂载目录一般在mnt下,也可以在mnt下建目录,此处以 “ /mnt/dvd ”为例。
例如:#mkdir /mnt/dvd
#mount /dev/sr0 /mnt/dvd
十、cron/crontab计划任务(重点)
作用:指定的时间点去执行任务
语法:#crontab 选项
常用选项:
- -l:list,列出指定用户的计划任务列表
- -e:edit,编辑指定用户的计划任务列表
- -u:user,指定的用户名,如果不指定,则表示当前用户
- -r:remove,删除指定用户的计划任务列表
①列出计划任务
#crontab -l
②编辑计划任务(重点)
#crontab -e 然后进入到计划界面
计划任务的规则语法格式,以行位单位,一行则为一个计划:
分 时 日 月 周 需要执行的命令
分 时 日 月 周 需要执行的命令
例如:如果想要每天的0点0分执行reboot指令,则可以写成
0 0 * * * reboot
取值范围:
分:0~59
时:0~23
日:1~31
月:1~12
周:0~7, 0和7表星期天
四个符号:
*:表示取值范围中的每一个数字
-:做区间表达式,要想表示1~7,则可以写成 1-7
/:表示每多少个,例如:每10分钟一次,则可以在分的位置: */10
,:表示多个取值,比如想在1点,2点,6点执行,则可以在时的位置写:1,2,6
问题1:每月1、10、22日的4:45重启network服务
45 4 1,10,20 * * service network restart
问题2:每周六、日的1:10重启network服务
10 1 * * 6,0 service netwrok restart
问题3:每天18:00至23:00之间每隔30分钟重启network服务
*/30 18-23 * * * service network restart
问题4:每隔两天的上午8点到11点的第3和第15分钟执行一次重启
3,15 8-11 */2 * * reboot
案例: 每2分钟往root家目录中的RT。txt中输入当前命令的信息,为了看到效果使用追加输出
计划任务:*/2 * * * * ls ~ >> /root/RT.txt
Crontab权限问题:本身是任何用户都可以创建自己的计划任务
超级管理员可设置某些用户不允许设置计划任务
#ls /etc/cron.deny 黑名单
#vim /etc/cron.deny 里面写用户名,一行一个
#vim /etc/cron.allow 白名单
注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认与允许创建计划任务