Linux(文件的权限,进程以及服务的管控)

文件权限的控制

  • 权限存在的意义?
    • 自己的理解:设定自己的“活动范围“,自己可以干什么,不能干什么,更好的控制自己,约束别人,能够使计算机更好的管理,更加的安全。
  • 权限的识别
    • ls -l file
    • ls -ld dir
    • Linux(文件的权限,进程以及服务的管控)
  • 文件权限的查看与理解
    •   -     rw-r--r--   1     root  root  216   May   12   2017    /mnt/rht
    • [1]         [2]     [3]      [4]    [5]      [6]             [7]                     [8]
      • 前7位各自占有一个字节表示,名称那里一个字母表示一个字节
      • [1]文件类型
        •     -    普通文件
        •     d    目录
        •     l    软连接:快捷方式
        •     s    socket
        •     c    字符设备:显示字符的设备
      • [2]表示文件权限
        •     rw- | r-- | r--
        •      u     g     o
        •     u:用户
        •     g:组成员
        •     o:其他人
      • [3]文件硬连接次数,文件内容被系统记录的次数
      • [4]所属用户
      • [5]所属用户组
      • [6]文件大小
      • [7]文件最后一次被修改的时间
      • [8]文件名称
  • 目录的查看与理解
    •  d   rwxr-xr-x.   2    root   root   4096 Jul 30  09:05  /mnt/
    • [1]       [2]          [3]    [4]      [5]      [6]             [7]             [8]
      • [1]类型
      • [2]权限
      • [3]目录中的子目录个数
      • [4]所属用户
      • [5]所属用户组
      • [6]子文件或子目录元数据大小(元数据:描述数据的数据
      • [7]最后一次被修改的时间
      • [8]目录名称

 

修改文件用户及用户组

  • 此命令必须用root用户执行

  • 改变所属用户:
    •     chown      username        file/dir
    •     chown -R username        dir
    •     chown      username:group    file/dir

        举例:改变file文件的所属用户

Linux(文件的权限,进程以及服务的管控)

        举例:改变dir目录的所属用户

Linux(文件的权限,进程以及服务的管控)

  • 改变所属用户组:
    •     chgrp      group        file/dir
    •     chgrp -R group        dir

        举例:改变file文件的所属用户组

Linux(文件的权限,进程以及服务的管控)

        举例:改变dir目录的所属用户组

Linux(文件的权限,进程以及服务的管控)

 

文件的权限

  • r  :读
    • 对文件        是否可以查看文件中的字符
    • 对目录        是否可以查看目录中有什么文件
  • w  :写
    • 对文件        是否可以改变文件中记录的字符
    • 对目录        是否可以在目录中管理文件,是否可以更改目录中文件的元数据
  • x  :执行
    • 对文件        是否可以通过文件名称调用文件内记录的程序
    • 对目录        是否可以进入此目录

权限的管理

  • 字符形式:
    • chmod <u/g/o><+/-/=><x/r/w> file/dir
      • 举例:给file文件的用户组添加w和x权限
    • Linux(文件的权限,进程以及服务的管控)
      • 举例:给file文件的用户组减去r权限
    • Linux(文件的权限,进程以及服务的管控)
      • 举例:给file文件的用户组设置权限
    • Linux(文件的权限,进程以及服务的管控)
  • 数字方式:
    • r,w,x 按位数表示为:2,1,0 ;
      • x = 2^0*0=0;x = 2^0*1=1
      • w = 2^1*0=0;w = 2^1*1=2
      • r = 2^2*0=0;r = 2^2*2=4
    • rwx=7
    • rw -=6
    • r - x=5
    • r - - =4
    • - wx=3
    • - w -=2
    • - - x=1
    • - - - =0
  • 举例:给目目录dir的用户组以及其他组都设置rw权限
  • Linux(文件的权限,进程以及服务的管控)

 

权限列表

特定用户对特定文件拥有指定的权限

 

  • drwxrw-rw-+ 2 westos linux11 6 8月  15 21:02 dir
  • 上边的权限后边的符号,如果变成 " + " 那么说明权限列表开启;
  • Linux(文件的权限,进程以及服务的管控)
    • 里边的内容分别表示:
      • 文件名称
      • 文件所有人
      • 文件所属组
      • 用户权限
      • 组权限
      • 其他*限
      • 有时还会有 mask:rwx ====> 权限的最大值
  • setfacl    -m  u:student:rwx    file        设定列表用户权限
  • setfacl    -x    u:student           file        删除列表中的指定用户
  • setfacl    -b          file        关闭权限列表
  • 举例:给用户student设定列表用户权限
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:将用户student从列表中删除
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:关闭权限列表
  • Linux(文件的权限,进程以及服务的管控)

 

进程及服务的控制

 

ps -o 的用法:

    ps  -o     comm    进程名称
    ps  -o     %cpu     进程cpu使用率
    ps  -o     %mem   进程内存使用率
    ps  -o     pid          进程id
    ps  -o     user        进程所有人
    ps  -o     group      进程所有组
    ps  -o     stat         该程序目前的状态
    ps  -o     nice        进程优先级

举例:

Linux(文件的权限,进程以及服务的管控)

 

ps  -o  的一些用法:

 

  • 什么是进程:系统中正在运行的程序
  • 图形化的进程查看方式:gnome-system-monitor
    • 举例:打开进程(里面的数据是从/proc中记录的
    • Linux(文件的权限,进程以及服务的管控)
  • 查看进程的命令:对当前的进程做一个简要的报告
    • whatis ps    进程查看命令
    • ps           和当前环境相关进程
    • ps     a    当前环境相关的进程,包含当前环境信息
    • ps    -a    在你终端中运行的进程,但不包含当前环境进程信息
    • ps    -A/-e    查看所有的进程
    • ps     x    产看含有tty输出终端的进程
    • ps     -f    查看进程的从属关系
    • ps     u    与当前有效使用者有关的进程
    • ps    -o pid    指定显示PID
  • 举例:
  • Linux(文件的权限,进程以及服务的管控)
  • Linux(文件的权限,进程以及服务的管控)
  • Linux(文件的权限,进程以及服务的管控)
  • ps常用组合
    •         ps    aux      显示系统中所有进程并显示进程用户
    •         ps    ef         显示进程详细信息并显示进程父子关系
    •         ps    ax        显示当前系统中的所有进程
  • 举例:
  • Linux(文件的权限,进程以及服务的管控)
  • Linux(文件的权限,进程以及服务的管控)
  • Linux(文件的权限,进程以及服务的管控)
  •     ps  -o     comm    进程名称
  •     ps  -o     %cpu     进程cpu使用率
  •     ps  -o     %mem   进程内存使用率
  •     ps  -o     pid          进程id
  •     ps  -o     user        进程所有人
  •     ps  -o     group     进程所有组
  •     ps  -o     stat         该程序目前的状态
  •     ps  -o     nice        进程优先级

        举例:

Linux(文件的权限,进程以及服务的管控)

 两者对比刚好相反

认识两个编辑文本的命令:

        报告生成器 awk:文本格式化输出,遍历文件。

        流编辑器 sed:sed是stream editor的简称,也就是流编辑器。它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。

  •     ps ax --sort=%cpu    正序输出
  •     ps ax --sort=-%cpu    倒序输出
  • 举例:正序开头
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:正序结尾
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:倒序开头
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:倒序结尾
  • Linux(文件的权限,进程以及服务的管控)

 

进程的优先级

  • 进程状态:
    •     S        进程状态
    •     s        此进程为*进程
    •     T        进程是暂停的
    •     <        表示进程优先级高
    •     N        进程优先级低
    •     l        进程在内存中有锁定空间
    •     R+        正在运行的进程
  • 举例:
    • Linux(文件的权限,进程以及服务的管控)
    • Linux(文件的权限,进程以及服务的管控)
    • Linux(文件的权限,进程以及服务的管控)
    • Linux(文件的权限,进程以及服务的管控)
    • Linux(文件的权限,进程以及服务的管控)
    • Linux(文件的权限,进程以及服务的管控)
  • 更改进程的优先级
    • ps  ax  -l                查看进程的优先级(PRI :代表这个进程可被执行的优先级,其值越小越早被执行
    • Linux(文件的权限,进程以及服务的管控)
    • renice -n -5 pid    修改进程的优先级(Linux系统中进程的优先级取值范围是 -20~19
      • 举例:更改gedit进程的优先级
      • Linux(文件的权限,进程以及服务的管控)
    • nice -n -5 命令 &    指定优先级开启进程
      • 举例:开启一个指定了优先级的gedit进程
      • Linux(文件的权限,进程以及服务的管控)

 

进程前后太的调用

    前台:你的终端被占用了
    后台:你的终端被释放,程序不占用当前终端

  • ctrl + z        将占用终端的进程打入后台停止
  • jobs            查看被打入后台的进程
    • [1]+  Stopped                 firefox
    • +:的优先级高
  • bg    jobsnum        将指定进程在后台运行
  • fg     jobsnum        将指定进程调回前台
  • ctrl + c        将占用当前终端的进程结束
  • 举例:在终端打开gedit,发现终端无法输入那么将程序打入后台ctrl+z
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:查看被打入后台的进程
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:将gedit这个进程调回前台
  • Linux(文件的权限,进程以及服务的管控)
  • 举例:结束gedit这个进程
  • Linux(文件的权限,进程以及服务的管控)

 

信号

  • kill     -1    PID    进程不停止情况下重新加载配置
    • 比如:更改了配置,但是需要重新启动服务器才能生效,而这个命令在不需要重启的情况下重新加载配置
  • kill     -2    PID    清除进程在内存中的数据
  • kill     -3    PID    清除鼠标在内存中的数据
  • kill     -9    PID    强行结束进程
    • 举例:创建一个degit,并且杀死它
    • Linux(文件的权限,进程以及服务的管控)
  • kill     -15    PID    正常关闭进程
  • kill     -18    PID    运行停止的进程
    • 举例:开启一个gedit进程,并将它放入后台i,之后运行上述命令,那么这个进程就可以运行,并且不会影响终端
    • Linux(文件的权限,进程以及服务的管控)
  • kill     -19    PID    暂停进程,不能被阻塞(该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.
    • 举例:暂停上面创建的gedit
    • Linux(文件的权限,进程以及服务的管控)
    • 注意:这个文本框是不能输入了,但当你执行kill -18 PID时,你在暂停输入到文本框的内容,会显示出来
    • Linux(文件的权限,进程以及服务的管控)
  • kill     -20    PID    暂停进程,可以被阻塞(该信号可以被处理和忽略
    • 举例:打开两个终端,一个终端暂停了一个终端,但是被拒绝了,另一个终端还可以输入
    • Linux(文件的权限,进程以及服务的管控)

 

  • kill      信号    PID        根据PID操作进程,一次只能操作一个
    • 举例:杀死一个gedit进程
    • Linux(文件的权限,进程以及服务的管控)
  • killall   信号   进程名称       根据进程名称进行操作,一次可以不操作一个进程
    • 举例:杀死所有gedit进程
    • Linux(文件的权限,进程以及服务的管控)

其他的一些操作:

  • ifconfig  eth0            查看本机IP
  • ssh  [email protected]            连接别的计算机
  • exit                             连接退出
  • last                             谁登陆过我
  • w    -i                           查看谁正在使用我
  • lastb                           谁登陆过我,但没有成功
  • ps aux | grep pts/1    查看别人正在登陆你的进程PID
  • kill     -9    PID            踢掉

 

服务的管控

systemctl     stsrt          sshd         开启服务
systemctl     stop          sshd         停止服务
systemctl     status        sshd        显示状态
systemctl     restart       sshd        重启
systemctl     enable       sshd        开机重启
systemctl     disable      sshd        开机关闭
systemctl     list-units                     列出系统中运行的服务
systemctl     list-unit-files               列出系统中服务开机状态
systemctl     list-dependencies sshd        列出系统依赖关系        
systemctl     mask          sshd            冻结服务
systemctl     unmask      sshd            解冻服务
systemctl     set-default    multi-user.target       开机不开图形界面
init         5                     打开图形界面,但是重新启动还是没有图形界面
systemctl     set-default    graphical.target       开机启动图形界面