linux 学习笔记 第四天

Linux 目录结构
当使用linux 的时候,如果通过ls -l / 就会发现,在 / 下包含很多的目录。比如etc、usr、var、bin、等目录,而这些目录中,发现也有很多的目录或文件。文件系统在linnux下看上去就像树型结构,所以我们可以把文件系统的结构形象的称为 树型结构

目录介绍
/bin---------/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般账号使用,主要有:cat、chmod、chown、date、mv、mkdir、cp、bash等常用指令。

/boot---------主要放置开机会用到的档案,包括linux核心档案以及开机选单与开机所需设定档。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程序,则会存在/boot/grub/这个目录。

/dev ---------任何装置与周边设备都是以档案的形态存在于这个目录中。只要通过存取这个目录下的某个档案,就等于存取某个装置,比较重要的档案有 /dev/null、/dev/zero、/dev/tty、/dev/ip※、/dev/hd※、/dev/s※等等

/etc---------系统的主要的设定档几乎都放置在这个目录中,例如:人员的账号密码档、各种服务的起始档等等。一般来说,这个目录下的各种档案属性是可以让一般使用者查阅的,但只有root有权利修改。FHS建议不要放置可执行档(binary)在这个目录中。

/home-------- 这是系统预设的使用者家目录(home directory)。在你新增一个一般的使用者账号时,预设的使用者家目录都会规范到这里来。两种代号:~:代表当前使用者的家目录。 ~user:代表用户名为user的家目录。

/lib----------放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库。

/media---------放置的是可移除的装置。包括软碟、光碟、DVD等等装置都挂载于此。常见的文档名有:/media/floppy、/media/cdrom等等

/mnt---------用来暂时挂载某些额外的装置。用途于media相同,后来被media代替

/opt---------这是给第三方协议软体放置的目录。在以前的linux中,习惯放置在/usr/local目录下。

/root---------系统管理员的家目录,我们希望root的家目录与根目录放置在一个分区中。

/sbin ---------放在/sbin底下的为开机过程中所需要的,里面包括开机、修复、还原系统所需的指令。某些伺服器软体程序,放置在/usr/sbin/中,至于本机自行安装的软体所产生的系统执行档(system binary),则放置在/usr/local/sbin/中。常见的指令包括:fdisk、fsck、ifconfig、init、mkfs等

/srv ---------是一些网络服务启动后,所需要取用的资料目录。常见的服务:WWW、FTP

/tmp ---------让一般使用者或者正在执行的程序暂时放置档案的地方,这个目录是任何人都能够存取的,所以需要定时清理。

扩展:
/lost + found ---------是使用标准的ext2/ext3档案系统格式下才会产生的一个目录,目的在于当档案系统发生错误时,将一些遗失的片段放置到这个目录下。存在于分割槽的最顶层,例:装一个硬盘于/disk中,那在这个系统下就会自动产生一个这样的目录/disk/lost+found

/proc ---------这个目录是一个虚拟文件系统。放置的资料都是在内存中。本身不占任何磁盘空间

/sys ---------跟/proc相似,是虚拟档案系统,记录与核心相关的资讯。同样不占硬盘容量

不可与根目录分区的是:
/etc:配置文件
/bin:重要执行档
/dev:所需要的装置文件
/lib:执行档所需的函式库与核心所需的模块
/sbin:重要的系统执行文件

Linux 文件类型

Linux文件类型和linux文件的文件名所代表的意义是两个不同的概念,我们通过一般应用程序而创建的比如 file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在linux文件类型中衡量的话,大多是常规文件(普通文件)。
Linux 文件类型常见有:普通文件、目录文件、字符设备文件、块设备文件、符号链接文件等。

Ls -l 查看文件后,文件中各个信息代表的含义
从左到右;
文件类型、文件权限、链接数、所属者、所属组、文件大小、最后修改时间、文件名
文件类型中;
“-” 表示普通文件
“d” 表示目录文件
文件权限中:
“r” 读权限
“w” 写权限
“x” 可执行权限

在设备目录下:
C:字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。键盘、串口、调制解调器都是典型的字符设备。
B:块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备。

用户身份分类
Linux是一个多用户、多任务,这点和windows有所不同,正常情况下windows只能让一个用户使用,如果第二个用户远程登录系统时,第一个用户会断开。但linux不会出现这样的情况,,它允许同时登录多个用户、并且不会产生冲突、这就是多用户。与windows相同的时linux也时分角色的,不同角色拥有不同的权限。

Linux用户分类
超级用户(root)权限为#,uid和gid均为0,拥有最高的管理权限。一般尽量使用普通用户登入,防止权限过大。

普通用户 权限为$,uid范围:500-65535 ,会受到基本权限的限制,nobady uid:65534(来宾)一般都可以登入系统,仅具备操作自己家中目录文件及目录的权限,一般不具有创建、修改、删除的权限。

虚拟用户 (虚拟出来的用户) uid范围:1-499 最大的特点是:系统安装后就默认存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的。在/etc/passwd文件中看到的uid在1-499之间的用户都是虚拟用户

Linux 用户与用户组的对应关系
一对一:一个用户可以存在一个组中,也可以是组中的 唯一的用户。
一对多:一个用户可以存在多个用户组中,那么此用户具有多个组的共同权限。
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限,
多对多:多个用户可以存在多个组中。

切换用户的方法
Su
Su -lm -c 命令 username
-b:使后续的命令自行执行,不与目前的shell产生影响。

Sudo
使用su切换身份需要root密码,不安全,可以使用sudo 来执行需要root权限的功能。
Sudo由root指定,指定后用户只需输入账户密码就能申请到root权限,无需告诉别人。
Sudo -b -u username 需要执行的命令

Linux 文件权限
Ls -l = ll 查看文件权限

普通文件权限限制
“r” 表示读取文件内容的权限
“w” 表示编辑、修改文件内容的内容
“x” 表示文件是否可以被执行 (windows可通过文件扩展名判断文件是否被执行,linux文件名无特别意义)
目录权限
“r” 表示读取目录结构列表的权限,查看目录中的文件名列表。
“w” 表示更改目录结构列表的权限,也就是变动该目录下的文件名列表的权限。
“x” 可读取、执行该目录下的文件(如果文件本身开放读、执行权限的话),若目录无”x”权限,则无法读取、执行该目录下的文件:

注意:1. 目录开放“x”权限时,一般也要开放“r”权限。
2.用户在目录下创建、删除、剪切文件,若仅有“w”权限而无“x”权限,则仍会 提示无权限操作。

读写权限及修改
chmod
命令chmod:用于修改文件权限。仅root和文件属主可修该文件权限。
文件的读、写、执行权限共9位,每3位表示一组的读、写、执行权限。
每组的取值范围是0-7,可视作3个8进制数。
数字表示权限
1 表示:执行
2 表示:写
3 表示:读

符号符号表示用户
文件或目录的拥有者 :u
文件或目录的所属组 : g
除u和g 之外的其他用户 :o
全部的用户 : a (包含u、g、o)

八进制修改
Chmod 权限数字表示 修改的文件或目录
例:chmod 777 file.txt

字符修改
Chmod 用户的权限的加减 修改的文件或目录
例:chmod u+x,g+x,o+x file.txt

SUID
Set uid ,该权限仅对二进制文件有效,且仅在该文件执行过程中生效。
当文件具有suid权限时,文件属主的“x”权限位变为“s”。
作用:若文件具有suid权限,且执行者对于该文件由“x”权限,当文件被其执行时,执行者将具有该文件属主的权限。

SGID
Set gid ,文件具有此权限时,属组用户的“x”权限变为“s”。Sgid对于二进制文件和目录有效。
作用;对于二进制文件(类似suid)若执行者对于文件具备“x”权限,当文件被其执行时,执行者将具有该文件属主的权限。
对于目录,用户在目录下创建的文件,属组不是用户的属组,而是目录的属组。

SBIT
Sticky bit 。仅对目录有效。若目录由此权限,目录的其他用户的“x”权限变为“t”
作用:具有SBIT权限的目录a,其中由文件b,则仅目录a的属主、文件b的属主和root可以对其重命名、剪切、删除等

文件特殊权限及修改
Chmod命令 (8进制数和符号两种方式)
使用8进制数修改
修改“rwx”权限时,可使用3位8进制数,在前面增加一位8进制数,用来表示特殊权限。
Suid 4
Sgid 2
Sbit 1

使用符号修改
和更改读、写、执行权限类似
权限分为:s、t
修改谁的权限:u、g、o、a
进行修改的符号:+、-、=

注意:t权限只能作用域目录。

特殊: chmod 6666 file
输出:(-rwSrwSrw-)
文件开放s权限,其属主、属组成员的“x”变为“s”,但若其本就没开放属主或属组成员的“x”权限,则s权限会用“S”表示。
sbit权限根上相似,“t”权限没有“x”权限就会变为“T”权限,但不影响sbit的效果。

文件权限隐藏及修改
文件权限隐藏有多个,对于数据安全较为重要。
命令lsatte r :用于显示文件隐藏权限
权限 e 表示文件使用的是etx文件系统,在红帽6中使用的是ext文件系统,新建的文档都有 e 权限,且无法使用chatter 删除该权限。
命令 chatter : 用于修改文件隐藏权限
命令 chatter 仅可在ext文件系统使用
普通用户可使用该命令,但某些隐藏权限仅root可设置。
该命令可使用 + - = 三种方式。

常用的命令
权限 “i” 仅root可设置,表示文件不可被修改、删除、重命名、
对目录设置该权限,仅能修改其中的子文件内容而不能新建或删除文件。
完全变为只读文件,对系统安全有很大帮助。

权限 “a” 仅root可设置,表示文件仅可追加数据,文件不可被修改、删除。
用于日志文件,使其增加内容,旧数据不能被修改和删除。

权限 “s” 彻底从硬盘中删除,不可恢复

Facl(文件访问控制列表)
作为文件额外的赋权机制(除了u、g、o方式权限)。
命令:setfacl 设置用户或组对指定文件有何权限,
-m 赋予权限 、-x 收回权限
命令:getfacl 查看指定文件对哪些用户和组开放了权限
例:
赋予用户对文件file的w权限
Setfacl -m u:user:w file (u表示用户,g:表示组)
Getfacl file
权限位中有 + 号的出现,表示文件有额外的权限。

赋予组group对文件file1的rw权限
Setfacl -m g:group:rw file1
Getfacl file1

撤销赋予的权限
Setfacl -x u:user:w file
Setfacl -x g:group :rw file1

文件属主、属组修改
命令chgrp:用于修改文件属组,修改的属组必须是“/etc/group”中以存在的。
Chgrp 修改的属组名 被修改的文件
–R :用于递归修改指定目录下的所有文件的属组
例: chgrp group1 file (对文件的进行修改)
Chgrp - R group2 file/ (对文件目录及以下的所有文件和恶目录进行修改)

命令chown:用于修改用户属主、属组。修改的属主、属组必须是“/etc/passwd、/etc/grou中以存在的。
Chown 修改的属主名:修改的属组名 被修改的文件名 (可同时修改,写那个就修改那个)
例:
Chown user file (修改属主名)
Chown :group file (修改属组名)
-R:用于递归修改,效果与chgrp一样。

文件时间修改
文件的时间的戮包括:modification time(mtime)status time(ctime)access time(atime)
Mtime:表示文件内容最近被修改的时间,当文件的数据、内容被修改时,mtime会更新,内容不包括文件的属性、权限。
Ctime:表示文件状态最近被改变的时间。当文件的状态被修改时,ctime会更新,比如文件的权限、文件的属性。
Atime:表示文件的最近被访问的时间。比如cat了文件,其atime就会更新。

命令 touch=;用于更新文件的时间为现在的时刻(若文件不存在,则用于创建文件)
Touch 文件名 (默认三个时间都更新)
Touch -a ------------仅更新atime (ctime也会更新,atime属于文件属性之一)
Touch -m ------------仅更新mtime(ctime也会更新,mtime属于文件属性之一)
Touch -c ------------仅更新文件时间,若文件不存在,不创建文件
Touch -d ------------表示更改为指定日期,日期格式yyyy/mm/dd,ctime无法被指定
Touch -d ------------更新为当前时间的某段时间前,如:“2 years ago”
Touch -t ----------更改为指定时间,时间格式为 yymmddhhmm

2019.12.2

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值