Linux-day2-上课笔记

时间:2022-03-23 23:11:49

UGO权限

1) 文件对于拥有者的权限   User

2) 文件对于所属组里面的用户的权限 Group

3) 文件对于其他人的权限  Others

对于文件的权限

1)对于文件可读  r

2)对于文件可写  w

3)可执行文件    x

权限体现在什么地方?

[root@jenny ~]# ll /usr/sbin/useradd

-rwxr-x---. 1 root root 118232 Oct 31 00:33 /usr/sbin/useradd

1位 显示了文件的类型

- 普通文件

d 目录文件

l 链接文件

c 字符设备文件

b 块设备文件

s 套接字文件

p 管道文件

2-4位 代表的是User的权限

5-7位 代表的是Group的权限

8-10位 代表的是Others的权限

修改权限相关指令

1) chown   修改文件的拥有者

chown jenny file  将文件拥有者修改为jenny用户

chown :testgroup file  将文件所属组变更为testgroup

chown root:root file 同时将文件拥有者和所属组修改为root

2) chgrp   修改文件的所属组

chgrp GROUP FILENAME

3) chmod   修改文件的权限值

通过字符表达方式修改文件权限:

chmod u + r file

g - w

o = x

通过数字表达方式修改文件权限:

r-- = 100 = 4

-w- = 010 = 2

--x = 001 = 1

rw- = 4+2 = 6

r-x = 4+1 = 5

rwx =7

[root@jenny srv]# chmod 645 file

[root@jenny srv]# ls

file

[root@jenny srv]# ll

total 0

-rw-r--r-x. 1 root root 0 Apr 20 09:55 file

练习:

1.添加用户carol,jenny,ivy

2.创建文件/tmp/file

3.要求

1) carol用户能够vim file文件,并正常保存退出    将文件拥有者变更为carol,rw-

2) jenny用户能够看到file文件的内容,不允许修改  r--

3) ivy用户也能够看到file文件的内容,不允许修改  r--

4) 其他剩余用户对于文件没有任何权限   ---

答案:

[root@jenny tmp]# ll /tmp/file

-rw-r-----. 1 carol testgroup 23 Apr 20 10:21 /tmp/file

55  chown carol file

64  groupadd testgroup

65  usermod -aG testgroup ivy

66  usermod -aG testgroup jenny

67  id ivy

68  id jenny

69  ll

70  chown :testgroup file

对于文件的权限

1)对于文件可读  r

2)对于文件可写  w

3)可执行文件    x

对于目录的权限

- r: 可读取目录结构和权限

- w: 可更改目录结构列表、新建 / 删除 / 重命名 / 转移子文件 / 目录。

- x: 表示用户可进入到该目录中

目录/testdir:

carol: r-x

ivy|jenny: rwx

others: r-x

86  mkdir /testdir

87  ll -d /testdir/

88  chown carol:testgroup /testdir/

89  ll -d /testdir/

90  chmod 575 /testdir/

91  ll -d /testdir/

文件testfile:

carol:rw-

ivy|jenny: r--

others: ---

创建文件、目录默认权限和umask值有关

公式: 最大权限值-umask=默认权限值

目录:  777 - 022 = 755

文件默认权限: 666 - 022 = 644

权限分类

1) UGO 基础权限 - 控制文件、目录的用户行为

root 用户是不受UGO权限限制的

2) ACL 权限 - UGO权限的补充

alice r--

bob rw-

jenny rwx

ivy    r-x

设置的方式

setfacl -m u:user:permission file

setfacl -m g:group:permission file

删除某一条规则

setfacl -x u:user    file

setfacl -x g:group   file

罗列ACL规则

getfacl file

3) 特殊权限

SUID: 文件,任何人在执行指定文件的时候,临时拥有文件拥有者用户的权限  /usr/bin/passwd

设置方式 chmod u+s filename

SGID: 目录,继承目录所属组

设置方式 chmod g+s dirname

STICKY: 目录, 只有 root 用户和文件拥有者有权删除目录中的文件

设置方式 chmod +t dirname

4) ATTR权限(隐藏权限)

设置命令:

chattr +权限值 file

查看:

lsattr file

权限的含义:

i: 文件不可被删,不可被改变(root也不行)

a: 文件仅可被追加内容,不可被修改

A: 不修改文件的访问时间

5) selinux

一般情况下,在生产环境中,关闭selinux

查看selinux

[root@jenny tmp]# getenforce

Enforcing

设置的方式

1. [root@jenny tmp]# setenforce 0

Permissive

注意:上述针对当前环境有效,服务器重启后无效

2. vim /etc/selinux/config

SELINUX=disabled

注意:重启服务器后生效

回家作业

1. man chattr查看attr具有哪些权限,分别对应的含义

2、权限相关作业:

题目
创建用户carol,ivy,jenny,kevin,alice
创建/test目录,并在目录下创建testfile1,testfile2,testfile3

要求:

1) 所有用户能够查看testfile1的内容。

usermod -aG testgroup carol
usermod -aG testgroup ivy
usermod -aG testgroup jenny
usermod -aG testgroup jenny
usermod -aG testgroup alice
chown :testgroup /test/testfiel1
chmod g+r /test/testfiel1

2) carol、ivy、jenny能够修改testfile1

setfacl -m u:carol:rw /test/testfiel1
setfacl -m u:ivy:rw /test/testfiel1 
setfacl -m u:jenny:rw /test/testfiel1

3) kevin、alice能够修改testfile2

setfacl -m u:kevin:rw /test/testfiel2
setfacl -m u:alice:rw /test/testfiel2

4) kevin、alice能够管理目录下的创建、删除文件操作

setfacl -m u:kevin:rwx /test
setfacl -m u:alice:rwx /test

5) carol、ivy、jenny不能够删除、也不能创建文件

setfacl -x u:carol /test
setfacl -x u:ivy /test
setfacl -x u:jenny /test

6) testfile3 仅允许追加内容,不允许修改

chattr +a /test/testfiel3

7) 创建/tmp/testdir目录,要求该目录下创建的所有文件所属组都为testgroup这个组

sgid权限

mkdir /tmp/testdir

chgrp testgroup /tmp/testdir

chmod g+s /tmp/testdir

查找
whereis 查找命令绝对路径(及其帮助文档)对应的指令
which 查找命令绝对路径所在位置
locate 基于文件名寻找文件路径 (安装locate程序:yum -y install mlocate.x86_64)
1. locate 运行机制
每隔一天,遍历操作系统文件,并将遍历的结果存放至/var/lib/mlocate/mlocate.db
当搜索的时候,直接读取/var/lib/mlocate/mlocate.db,将结果显示出来
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
可以通过执行updatedb,遍历操作系统文件
2. locate 特点
1)搜索的速度是相对较快的
2)不是实时的
3)模糊匹配
4)不是全系统扫描
/etc/updatedb.conf
5)查找条件比较单一
find 全方位搜索 
1. 特点
1)实时查找 --> 慢
2)查找条件丰富 权限、大小、时间、文件类型
3)可以指定查找后动作
2. find命令格式
find [路径] 查找条件 [执行动作]
一个条件一个参数,一个find命令可以有多个条件

例子: 
1. 查找系统中名称为useradd的文件
find / -name useradd
查找系统中/usr/sbin目录下,文件名称不叫useradd的文件
find /tmp ! -name test
2. 查找系统中占用大小大于7M的文件
find / -size +7M

du -sh    *   查看当前目录下所有文件大小
查找系统中文件大小在7M到10M之间的文件
find / -size +7M -size -10M
find / -size +7M -size -10M 2> /dev/null
3. 查找系统中的块设备文件
find / -type b
4. 基于用户和组的查找
-user -group
-uid -gid
5. 查找7天内内容修改过的文件名
find / -mtime 7
6. 基于权限查找
find / -perm 644 代表完全匹配644
find / -perm -644 代表需满足的最小权限
找jenny用户可写的文件,且jenny用户是文件的拥有者
find / -user jenny -perm -200
执行动作, {}替代找到的文件 \;代表语句结束符
-ok 交互式的执行方式
find /tmp -name test -ok ls -l {} \;
-exec 非交互的执行方式
find /tmp -name test -exec ls -l {} \;

作业:
1) 查找系统中文件名为wtmp的文件

find / -name wtmp

2) 查找系统中文件大小超过10M的文件名

find / -size  +10M

3) 查找access time比/etc/fstab更新的文件

4) 查找系统中拥有者是root,并且所属组是input的文件

find / -user root -group input

5) 查找文件类型是链接文件的名称

find / -type l

6) 将查找文件名为test的文件移动到/srv目录

find / -name '*test*' -exec mv {} /srv \;

打包、压缩
1. zip程序
yum -y install zip
压缩
zip [zipfile] [file]
zip -r test2.zip test # 压缩目录加-r选项
解压
yum -y install unzip 
unzip [zipfile] # 默认情况下,解压到当前目录
unzip test2.zip -d /opt/ # 指定解压到/opt目录
2. gzip 程序 、bzip2程序、xz程序
命令的用法
gzip 压缩 gunzip 解压
bzip2 压缩 bunzip2 解压
xz 压缩 unxz 解压
特点
1)压缩时,源文件会自动被压缩程序处理,源文件会不存在
2)解压时,压缩文件会消失,源文件出现
3)不能够压缩目录
4)无法将多个文件压缩至一个压缩包
3. tar ---> 打包
用法:
打包 tar -cf /tmp/test.tar [file]
解包 tar -xf /tmp/test.tar
打包并压缩 tar -czf /tmp/test.tar.gz [file] # 调用gzip程序完成压缩
tar -cjf /tmp/test.tar.bz2 [file] # 调用的bzip2 程序完成压缩
tar -cJf /tmp/test.tar.xz [file] # 调用xz程序完成压缩
解压并解包
tar -xzf test.tar.gz  test  #调用gzip完成解压
tar -xjf  test.tar.bz2 test #调用bzip2完成解压
tar -xJf test.tar.xz test  #调用xz程序完成解压

指定位置解压:
tar -xzf test.tar.gz -C /srv/
实验:
1. 在/tmp/创建 test目录,压缩包名为/tmp/test.tar.xz 对该目录调用xz方式进行压缩

tar -cJf /tmp/test.tar.xz /tmp/test

2. 将/tmp/test.tar.xz解压,解压到/opt目录

tar -xJf /tmp/test.tar.xz /tmp/test

注意: tar路径问题
如果被打包的文件是绝对路径,tar会自动将其变为相对路径。
tar -czf /tmp/efg /srv/file1 /srv/file2
tar: Removing leading `/' from member names
[root@jenny srv]# tar -xzf /tmp/efg.tgz -C /opt/
[root@jenny srv]# cd /opt/
[root@jenny opt]# ls
srv
[root@jenny opt]# cd srv/
[root@jenny srv]# ls
file1 file2

重定向作业:

1. 将uid最大的一个用户名字显示出来

sort -t: -k 3 -n /etc/passwd | tail -n1  | cut -d: -f1

2. 将/var/log目录下的文件根据文件大小排序

ll | sort -k5 -n -r

3. 将/etc/fstab文件中非注释行(以#开头的行为注释行) 写入/tmp/fstab文件中

grep -v ^# /etc/fstab  > /tmp/fstab

4. 将boot目录下的vmlinuz文件的拥有者截取出来

ll /boot/vmlinuz-* | cut -d' ' -f3

Linux-day2-上课笔记的更多相关文章

  1. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  2. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  3. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  4. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  5. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  6. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  7. Linux实战教学笔记02:计算机系统硬件核心知识

    标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...

  8. Linux实战教学笔记01:计算机硬件组成与基本原理

    标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...

  9. storysnail的Linux串口编程笔记

    storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...

  10. linux 驱动学习笔记01--Linux 内核的编译

    由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...

随机推荐

  1. BI商务智能对于企业的意义

    BI商务智能之所以越来越重要,是因为无知是现代企业的最大威胁.不知不觉的风险是巨大的,而一知半解可能比一无所知危害更大,因为我们会带着错误的念头做出决定和采取行动,同时还自鸣得意地认为自己是真理的化身 ...

  2. scrot使用

    在Linux中安装Scrot 在 Debian,Ubuntu 或 Linux Mint 上安装Scrot: $ sudo apt-get install scrot 在 Fedora 上安装Scrot ...

  3. 使用a标签直接下载图片

    通常情况下,使用a标签链接到图片,会在浏览器中打开这个图片,而不会下载 如果要直接下载这个图片,可以使用download属性配合href属性 <a href="./1.jpg&quot ...

  4. python安装第三方包的两种方式

    最近研究QQ空间.微博的(爬虫)模拟登录,发现都涉及RSA算法.于是需要下一个RSA包(第三方包).折腾了很久,主要是感觉网上很多文章对具体要在哪里操作写得不清楚.这里做个总结,以免自己哪天又忘了. ...

  5. SQL连接方式(内连接,外连接,交叉连接)

    1.内连接.左连接.右连接.全连接介绍 內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来.内部连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来.   左连 ...

  6. 系统启动 之 Linux系统启动概述&lpar;1&rpar;

    随着智能终端功能的越来越庞大,与之,硬件配置越来越高,开机时间却越来越长.人们在享受强大功能的同时,对冗长的智能终端的开机时间却越来越缺乏耐心. 为了"取悦"用户,需要提供较好的用 ...

  7. 软件测试:1&period;Describe An Error

    软件测试:1.Describe An Error 要求: 1.简要描述你最近完成项目里的一个error: 2.说明原因,错误影响,及你怎样发现的: 或许因为刚开学的缘故,近期我并没有完成大的项目,多少 ...

  8. js4

    数组的解构赋值: 位置对象的解构赋值: 名称 // {}在解构赋值的时候,不能出现在一行的最前面,否则js解析器会把他当成一个代码块,加()({a, b} = obj),告诉他这个仅仅是一个解构语句 ...

  9. 【转】java:Session(会话)机制详解

    书中讲:以下情况,Session结束生命周期,Servlet容器将Session所占资源释放:1.客户端关闭浏览器2.Session过期3.服务器端调用了HttpSession的invalidate( ...

  10. XML—代码—DOM4J解析

    什么是xml: 众所周知,xml常用语数据存储和传输,文件后缀为 .xml: 它是可扩展标记语言(Extensible Markup Language,简称XML),是一种标记语言. 如何定义这些标记 ...