组管理

介绍

  • 在Linux中每个用户必须属于一个组,不能独立于组外。在Linux中每个文件所有者、所在组、其他组的概念

    所有者

  • 一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者

  • ls -ahl:查看文件的所有者
  • 示例:创建一个组police,再创建一个用户tom,然后使用tom来创建一个文件
    • groupadd police
    • useradd -g police tom
    • passwd tom
    • su - tom
    • touch hello.txt
    • ls -ahl

image.png

  • chown 用户名 文件名:修改文件所有者
  • 示例:使用root创建一个apple.txt,然后将其所有者改成tom
    • su - root
    • touch apple.txt
    • chown tom apple.txt
    • ls -ahl
    • 文件所在组并没有改变

image.png

所在组

  • 当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组
  • ls -ahl:查看文件所在组
  • chgrp 组名 文件名
    • chgrp police apple.txt
    • ls -ahl

image.png

其他组

  • 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
  • 在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
  • usermod -g 组名 用户名:改变用户所在组
  • usermod -d 目录名 用户名:改变该用户登录的初始目录

    • groupadd bandit
    • usermod -g bandit tom

      权限管理

      介绍

  • ls -l中显示的内容的含义

进阶 - 图4

  • 第一个字符确定文件类型
    • -:普通文件
    • d:目录
    • l:软连接
    • c:字符设备(键盘,鼠标)
    • b:块文件,硬盘
  • 2-4位确定所有者(该文件的所有者)拥有该文件的权限
  • 5-7位确定所属组拥有该文件的权限
  • 8-10位确定其他用户拥有该文件的权限
  • . 后面的数字的含义
    • 若是文件,表示硬连接的数量
    • 若是目录,表示该目录的子目录的个数
      • 每个目录下默认有.(当前目录)和..(上一级目录)
      • 目录的大小默认为4096
  • tom:所有者
  • police:所在组
  • 0:文件大小
  • 1月 1 22:05 文件最后的修改时间
  • 文件名

    rwx权限介绍

    rwx作用到文件

  • r:表示可读,可以读取、查看

  • w:代表可写:可以修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才能删除该文件
  • x:代表可执行,可以被执行

    rwx作用到目录

  • r:可以读取,ls查看目录内容

  • w:代表可写,可以修改,在目录内创建+删除+重命名目录
  • x:代表可执行,可以进入该目录

    修改权限

  • 通过chmod指令,可以修改文件或者目录的权限

    +、-、=变更权限

  • u:所有者、g:所有组、o:其他人、a所有人(u,g,o)

  • 示例:chmod u=rwx,g=rx,o=x hello.txt
  • 示例:chmod o+w hello.txt
  • 示例:chmod a-x hello.txt

    通过数字变更权限

  • r=4,w=2,x=1

  • rwx = 4+2+1=7
  • chmod u=rwx,g=rx,o=x 文件目录名 相当于chmod 751 文件目录名

    修改文件所有者chown

  • chown newowner file 改变文件所有者

  • chown newowner:newgroup file 改变用户的所有者和所有组
  • -R 如果是目录 则使其下所有子文件或目录递归生效

    修改文件的所在组chgrp

  • chgrp newgroup file 改变文件所在组

  • -R 如果是目录 则使其下所有子文件或目录递归生效

    工作调度

    介绍

  • 任务调度:是指系统在某个时间执行的特定的命令或程序

  • 任务调度分类:

    • 系统工作:有些重要的工作必须周而复始的执行,如病毒扫描等。
    • 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份

      基本语法

  • crontab 选项

    • -e:编辑crontab定时任务
    • -l:查询crontab任务
    • -r:删除当前用户所有的crontab任务
    • service crond restart:重启任务调度

      案例

      任务要求

  • 设置任务调度文件:/etc/crontab

  • 设置个人任务调度。执行crontab -e命令
  • 接着输入任务到调度文件
  • 如:/1 * ls -l /etc >> /tmp/to.txt
  • 意思是说每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt命令

    步骤

  • cd /home

  • vi mytask1.sh
  • ls -l /etc >> /tmp/to.txt
  • 保存退出
  • chmod u+x mytask1.sh
  • crontab -e
  • /1 * /home/mytask1.sh
  • 保存退出后就生效

    参数细节说明

  • 第一个*:第几分钟,0-59

  • 第二个*:第几小时,0-23
  • 第三个*:第几天,1-31
  • 第四个*:第几月,1-12
  • 第五个*:星期几,0-7
  • 只有*,不加数字代表任何时间
              • 命令
    • 表示每一分钟都执行一次命令
  • ,:代表不连续时间,指定某些时间执行命令
    • 0 4,8,12 * 命令
    • 代表每天的4点0分、8点0分、12点0分执行一次命令
  • -:代表连续时间范围,
    • 0 5 1-6 命令
    • 表示周一到周六的5点0分执行命令
  • */n:代表每隔多久执行一次

    • /10 * 命令
    • 每隔10分钟执行一次命令

      磁盘分区

      分区基础知识

      mbr分区

  • 最多支持4个主分区

  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR最多只支持2TB,但拥有最好的兼容性

    gpt分区

  • 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)

  • 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
  • windows7 64位后支持gtp

    Linux磁盘分区

  • Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

  • Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录连接起来。这时要载入的一个分区将使它的存储空间在一个目录下获得
  • lsblk:

image.png

  • lsblk -f:查看系统的分区和挂载情况

image.png
image.png

案例

  • 需求是给Linux系统增加一块新的硬盘,并且挂载到/home/newdisk目录下
  • 步骤:
    • 虚拟机添加硬盘,重启系统
      • 虚拟机 > 设置 > 硬盘 > 添加 > 硬盘 > 下一步 > SCSI > 下一步 > 创建新虚拟硬盘 > 下一步 >…
    • 分区
      • fdisk /dev/sdb
      • m:显示命令列表
      • n:添加分区
      • p:主分区
      • 1:分区序号
      • 回车
      • 回车
      • w
    • 格式化:mkfs -t ext4 /dev/sdb1
    • 挂载
      • cd /home
      • mkdir newdisk
      • mount /dev/sdb1 /home/newdisk
    • 设置自动挂载
      • vi /etc/fstab

image.png

  1. - 在开头添加:/dev/sdb1 /home/newdisk ext4 defaults 0 0

image.png

  1. - mount -a
  • umount 设备名称或者挂载目录

    磁盘情况查询

  • df -h:查询系统整体磁盘使用情况

  • df -l:
  • du 选项 目录:查询指定目录的磁盘占用情况,默认为当前目录

    • -s:指定目录占用大小汇总
    • -h:带计量单位
    • -a:含文件
    • —max-depth=1:子目录深度

      磁盘情况-工作实用指令

  • 统计/home文件夹下文件的个数

    • ls -l /home | grep “^-“ | wc -l
  • 统计/home文件夹下目录的个数
    • ls -l /home | grep “^d” | wc -l
  • 统计/home文件夹下文件的个数,包括子文件夹里的
    • ls -lR /home | grep “^-“ | wc -l
  • 以树状显示目录结构

    • yum install tree
    • tree

      网络配置

      NAT模式下虚拟机与主机网络连接

  • 虚拟机中,ifconfig查看虚拟机IP,地址为192.168.88.1

image.png

  • windows中,ipconfig查看网络配置
    • VMnet1:192.168.87.1

image.png

  • VMnet8:192.168.88.1

image.png

  • 无线局域网WLAN:10.163.229.75

image.png

  • 虚拟机通过虚拟网络VMnet8与主机连接,192.168.88.
  • 主机通过局域网访问外网

查看网络IP和网关

查看虚拟网络编辑器

  • 在虚拟机中,编辑 > 虚拟网络编辑器,可以查看或修改虚拟网络的子网IP(只能改第3个)
  • 编辑 > 虚拟网络编辑器 > NAT设置,可以查看或修改虚拟网络的网关

    LInux网络环境配置

自动获取IP地址

  • 虚拟机中,系统 > 首选项 > 网络连接 > 编辑 > 勾选自动连接 > 应用
  • Linux启动后会自动获取IP,缺点是每次获取的IP地址可能不一样

    指定固定IP

  • 直接修改配置文件来指定IP,并可以连接到外网

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 47

    进程管理

    基本介绍

  • 在Linux中,每个执行的程序(代码)都称为一个进程,每个进程都分配一个ID号

  • 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器
  • 进程以前台或后台形式存在
    • 前台进程就是用户目前的屏幕上可以进行操作的
    • 后台进程则是实际在操作,但屏幕上无法看到的进程
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻系统中,知道关机才结束

    显示系统执行的进程

  • ps -uax

    • -a:显示当前终端的所有进程信息
    • -u:以用户的格式显示进程信息
    • -x:显示后台进程运行的参数
    • -e:显示所有进程
    • -f:全格式
  • ps显示的信息选项

    • USER:用户名称
    • PID:进程识别号
    • PPID:父进程识别号
    • %CPU:进程占用CPU的百分比
    • %MEM:进程占用物理内存的百分比
    • VSZ:进程占用虚拟内存大小(kb)
    • RSS:进程占用物理内存大小(kb)
    • TTY:终端机号
    • STAT:进程状态
      • S-:睡眠
      • s-:表示该进程是会话的先导进程
      • N-:表示进程拥有比普通优先级更低的优先级
      • R-:正在运行
      • D-:短期等待
      • Z-:僵死进程
      • T-:被跟踪或者被停止
    • STARTED:进程的启动时间
    • TIME:此进程所消耗CPU时间
    • CMD:启动进程所用的命令和参数

      终止进程kill

  • 终止某个用户的进程

    • ps -aux | grep sshd

image.png

  • kill 3931
  • ps -aux | grep sshd

image.png

  • 终止远程登录服务sshd,在适当时候再重启sshd服务
    • 将root对应的sshd进程杀掉
    • kill 2249
    • 重启:service sshd start
  • 终止多个gedit编辑器
    • killall gedit
  • 强制杀掉一个终端
    • ps -aux | grep bash

image.png

  • kill 4082

image.png

  • kill -9 4082

image.png

  • 查看进程树pstree

    • pstree 选项:可以更加直观的来看进程信息
    • -p:显示进程的PID
    • -u:显示进程的所属用户

      servicce管理

      service管理指令

  • service 服务名 【start | stop | restart | reload | status】

  • 在CentOS7.0后,不再使用service,而是systemctl
  • 示例:防火墙
    • service iptables status
    • service iptables stop
    • service iptable start
  • 关闭或者启用防火墙后,立即生效。
    • windows搜索启用或关闭windows功能,勾选telnet
    • windows终端,telnet 虚拟机IP 端口
  • 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置