#####Linux的自有服务
运行模式(运行级别)
在Linux中存在一个进程: init(初始化进行,进程ID是1(第一个运行的进程))
该进程存在一个配置文件:inittab
(系统运行级别配置文件/etc/inittab)
0 – 关机级别
1 – 单用户模式
2 – 多用户模式(不带NFS (networking file system))
3 – 完全的多用户模式(带NFS)(纯命令行模式)
4 – 保留模式
5 – 完整图形化界面模式
6 – 重启级别
所以:init 0 表示关机;
init 6 表示重启;
init 3 切换到纯命令行模式
设置永久命令行模式: 在inittab
中把5改成3
用户和用户组管理
三个文件:
/etc/passwd: 存储用户的关键信息
/etc/group: 存储用户组的关键信息
/etc/shadow: 存储用户的密码信息
用户管理:
添加用户:useradd 选项 用户名
常用选项:
-g
: 指定用户主组,值可以是id,也可以是组名
-G
: 指定用户附加组,值可以是id,也可以是组名
-u
: 自定义用户id(uid)
-c
: 添加注释
修改用户:usermod 选项 用户名
常用选项:
-l
: 修改用户名
设置密码:passwd 用户名
删除用户:userdel 选项 用户名
常用选项:
-r
: 删除用户时,删除其家目录
切换用户:su 用户名
(如果不写用户名,表示切换到root)
用户组管理:
添加用户组:groupadd 选项 用户组名
常用选项:
-g
: 自定义用户组的id(类似与用户里的-u)
修改用户组:groupmod 选项 用户组名
常用选项:
-g
: 自定义用户组的id(类似与用户里的-u)
-n
: 修改用户组的名称(类似于用户里的-l)
删除用户组:groupdel 用户组名
网络设置
文件路径:
/etc/sysconfig/network-scripts/
网卡配置文件:
ifcfg-eth0; ifcfg-lo
: 网卡名称
这个目录里面放置很多服务的快捷方式:/etc/init.d
重启网卡:service network restart
或etc/init.d/network restart
(通用型较好)
创建快捷方式:ln -s etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0
(s:软链接)
断开连接:ifdown eth0
连接网卡:ifup lo
注意:
不要随意禁网卡
ssh服务
secure shell (安全外壳协议)
作用: 远程连接和传输协议,远程管理服务器,默认端口22
ssh服务配置文件位置:/etc/ssh/ssh_config
远程终端工具: xshell; secureCRT; Putty
设置主机名
临时设置主机名(重启后还原):
hostname 主机名
永久设置主机名(需要重启): 在/etc/sysconfig/network
(主机名配置文件)文件中更改
修改linux的hosts文件:/etc/hosts
域名与ip相对应(输入域名可以访问服务器)
chkconfig服务(开机启动项管理)
开机启动服务的查询:
chkconfig --list
(check config)
删除服务:chkconfig --del 要删掉的服务名
添加服务:chkconfig --add 要添加的服务名
设置服务在某个级别下开机启动/不启动:chkconfig --level (0-6) 服务名 on/off
例1:chkconfig --level 35 httpd on
例2:chkconfig --level 5 httpd off
ntp服务(计算机的时间管理同步操作)
一次性同步时间:
ntpdate 时间服务器的ip
;ntpdate 120.25.108.11
设置时间同步服务(自动服务):service ntpd start
设置ntpd服务开机启动:chkconfig --level 3 ntpd on
防火墙服务
服务名称:
iptables
(centOS 6.5);firewalld
(centOS 7.x)
服务的启动/关闭:service iptables start/stop
查看防火墙的状态(规则):service iptables status
简单设置防火墙规则:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(设置80端口通过防火墙A:add p:protocol)
设置完成后必须保存,不然重启就消失:/etc/init.d/iptables save
rpm管理(软件包管理)
查询:
rpm -qa | grep 关键词
(-q:查询(query);-a:全部(all))
卸载:rpm -e 软件名称
强制卸载:rpm -e 软件名称 --nodeps
(no dependencies)
安装(更新):rpm -ivh 软件包完整名称
(i:install; v:view; h:以#显示进度条)
显示块状设备信息:lsblk
光盘的挂载:mount 设备的原始地址 要挂载的位置(路径)
(原始路径统一在/dev下)
光盘的解挂:umount 当前设备的挂载点(就是路径)
crontab计划任务(24小时职守)
语法:
crontab 选项
选项:
-l
:列出指定用户的计划任务列表(list)
-e
:编辑指定用户的计划任务列表(edit)
-u
:指定用户名,不指定就是当前用户
-r
:删除指定用户的计划任务列表(remove)
计划任务的规则语法格式:
1.一行为一个计划
2.分 时 日 月 周 需要执行的命令
(:每天;没周;每月)
例:0 0 * * * reboot
取值范围:
分: 0 - 59
时: 0 - 23
日: 1 - 31
月: 1 - 12
周: 0 -6 (0是周日)
符号:
*
: 表示取值范围内的每一个数字
-
: 做连续区间表达式(1-7)
/
: 表示每多少个(/10: 每十分钟一次)
,
: 表示多个取值(1,2,6:表示在1点,2点,6点)
例:*/1 * * * * date +"%F %T" >> /root/Rt.txt
/etc/cron.deny
: 设置某些用户不允许设置计划任务(往里面写用户名就可以例,一行一个)
权限
身份介绍:
root
: 神一般的存在,权限对它无用,它权限最高
owner
: 默认为文档的创建者,所有者
group
: 与文档所有者在同一组的用户
others
: 相对于所有者的其他用户
ls -l 路径(ll)
: 查看文件属性
第一位:d:文件夹; -:文件; l:软连接; s:套接字
第2-4位:r:可读; -:不可读; w:可写; -:不可写; x:可执行; -:不可执行
(文档所有者的权限)
第5-7位:r:可读; -:不可读; w:可写; -:不可写; x:可执行; -:不可执行
(同一个组其它用户的权限)
第8-10位:r:可读; -:不可读; w:可写; -:不可写; x:可执行; -:不可执行
(其它用户的权限)
注意: rwx的位置是固定的,不会发生变化
设置权限
语法:
chmod 选项 权限模式 文档
常用选项:-R
(递归设置)
字母权限:
u
: 用户,给谁设置权限
g
: 给同组用户设置权限
o
: 给其它用户设置权限
a
: 给所有用户设置权限(不指定时,默认就是a)
r
: 读权限
w
: 写权限
x
: 执行权限
+
: 给用户增加权限
-
: 给用户减权限
=
: 将权限设置成具体的值
例1:chmod u+x,g+rx,o+r anaconda-ks.cfg
例2:chmod u=rwx,g=rx,o=r anaconda-ks.cfg
数字权限:
r = 4
: 可写
w = 2
: 可读
x = 1
: 可执行
- = 0
: 无权限
rwx = 7
: 可读可写可执行(上面的相加)
例1:chmod 754 anaconda-ks.cfg
注意:如果要删除一个文件,需要看文件所在目录是否有写权限,如果没有,则不能删除,移动,重命名等操作
属主与属组设置
属主:所属的用户(就是文件的主人)
属组:所属的用户组
更改文档的所属用户(用户名):chown -R username 文档路径
更改文档的所属用户组:chgrp -R groupname 文档路径
一起更改:chown -R username:groupname 文档路径
sudo
配置文件位置:
/etc/sudoers
配置完规则后,才可以使用sudo
配置sudo文件使用命令:visudo
查看命令位置:which
文件内容:
Root
: 表示用户名,如果是用户组,则写成"%组名"
ALL
:表示允许登录的主机(地址白名单)
(ALL)
:表示以谁的身份执行,ALL表示root身份
ALL
:表示当前用户可以执行的命令,多个命令用","隔开
例:test ALL=(ALL) /usr/sbin/useradd,!/usr/bin/passwd ,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root
(让test用户可以在任何主机上以root用户来新增用户和修改密码)
在添加好规则后,就可以使用sudo useradd aa
!
:不执行/usr/bin/passwd root
,让test不能更改root的密码,其它可以执行
查看本用户的特殊权限:sudo -l
(没有规则时,没有显示)