Linux学习(4)文件权限和目录配置

用户和用户组

1、文件拥有者

因为linux是个多人多任务系统。

2、用户组

常用于团队协作,多人同时对文件有权限。

3、其他人

在Linux中,任何一个文件都具有用户(User),所属群组(Group)和其他人(Others)三种身份的权限。

ps:用户和用户组记录账号文件:/etc/passwd,个人密码记录在:/etc/shadow,组名记录在/etc/group。

linux文件权限

code:切换身份成root:$ sudo – ,离开用exit

code:查看所以文件(包括隐藏文件)的权限与属性:$ ls -al

每行输出依次为:【类型和权限】 【链接】 【拥有者】 【用户组】 【文件容量】 【修改日期】 【文件名】

1、类型和权限(一共十个字符):第一个字符(如-)代表这个文件类型:如目录、文件或链接文件等。

d目录
文件
l链接文件
b设备文件里面可供存储的周边设备
c设备文件里面的串行端口设备,如键盘、鼠标

接着三个为一组,均为r、w、x的组合,r为可读,w为可写,x为可执行。如果没有权限则为-,注意三个权限的位置并不会变化,有该权限就会显示。第一组为文件拥有者可具备的权限,第二组为加入此用户组的账号的权限,第三组为非本人且没有加入本用户组的其他账号的权限。

2、链接:表示有多少文件名链接到此节点,与incode有关。

3、拥有者:表示这个文件或目录的拥有者账号。

4、用户组:表示这个文件的所属用户组。

5、文件容量:表示这个文件的容量大小,默认单位为字节(byte)。

6、修改日期:这个文件的创建日期或是最近的修改日期。通常显示为月/日 时间,如果距离太久会显示月/日 年份。

ps:code:显示完整的时间格式:$ ls -l –full-time

ps:系统默认语系修改:修改系统配置文件:/etc/locale.conf,即用上一篇的nano修改文件中的LANG变量。

7、文件名:如果文件名前多一个 . 则为隐藏文件。

tips:更多关于ls命令查询:ls –help或 man ls 或 info ls

tips:如果为r–,虽然有可读权限,但由于没有执行权限,所以不能进入该目录。

修改文件属性和权限

修改文件所属用户组:chgrp

格式:# chgrp [-R] dirname/filename eg # chgrp users test.txt [-R]是进行递归修改,即将该文件所有子文件、目录都更改

修改的组名必须在/etc/group中

修改文件拥有者:chown

格式:# chown [-R] 账号名称 文件或目录

格式: # chown [-R] 账号名称:用户组名称 文件或目录 即顺带修改用户组

-R使用同上

修改的用户名必须在/etc/passwd中

上述命令作用:在复制文件前修改,因为复制会复制执行者的属性和权限。

code:复制文件:# cp 源文件 目标文件

修改权限:chmod(有两种方式实现)

1、数字类型修改权限

linux基本权限只有9个:分别是拥有者、所属群组和其他人的r、w、x。数字对应为,r:4,w:2,x:1,-:0。

个身份权限对应数字为其权限对应数字和:eg:owner = rwx = 4+2+1 = 7

因此修改各身份权限时,就是修改和。

格式:# chmod [-R] xyz 文件目录 ps:xyz分别是三个身份各自的和。[-R]为递归修改。

2、符号类型修改权限

用u、g、o来代表三种身份的权限。+为增加权限,-为移除权限,=为设置权限。r、w、x对应三种权限。

eg # chmod u=rwx,go=rx .bashrc ps:,两端无空格,go是同时给group和others设置权限。如果要对所有人操作则为a=

ps:windows下文件是否具备可执行的能力是由扩展名来判断的,如.exe,而Linux中文件能否被执行只与x权限有关·。

w权限:写入、编辑、新增、修改文件内容的权限。

ps:w权限并不能删除文件。

权限对目录的重要性:

目录:主要是记录文件名列表。

r权限:表示具有读取目录结构列表的权限,可以查询该目录下的文件名数据。

w权限:能改动目录结构列表:建立新的文件和目录,删除已经存在的文件与目录(无论文件的权限是什么),将已经存在的文件或目录进行更名,移动该目录内的文件和目录位置。

x权限:代表用户能否进入该目录。

ps:变换目录命令是cd

code:建立目录:mkdir 新目录名

code:建立空文件:touch 文件位置/文件名

Linux文件种类与扩展名

ps:任何设备在Linux下都是文件!

文件种类:

常规文件(regular file)

即ls -al显示出的第一个字符为-的文件。包括纯文本文件(ASCII):最多的文件类型。二进制文件(binary):如可执行文件(script,脚本文件不算)。数据文件(data):一种特殊格式类型的文件,一般读取(如cat)会出现乱码。

目录(directory)

第一个字符为d

链接文件(link)

第一个字符为l

设备与设备文件(device)

与系统周边及存储等相关的一些文件,通常在/dev下,分为两种:区块(block)设备文件:就是一些存储数据,第一个字符为b。字符(character)设备文件:一些串行端口的接口设备,特点为一次性读取,不能截断输出,如鼠标移动是连续的,第一个字符为c。

数据接口文件(sockets)

通常被用在网络上的数据交换,第一个属性为s,常在/run或/tmp目录中看到。

数据输送文件(FIFO,pipe)

主要解决多个程序读写一个文件所造成的问题,FIFO即先进先出缩写,第一个属性为p。

文件扩展名:

ps:能否被执行与扩展名无关,与x权限有关!

ps:可执行与可以执行成功不一样。可执行与x权限有关,能不能执行成功与内容有关,比如纯文本文件有x权限也不能执行成功。

*.sh:脚本或批处理文件(scripts),由shell写成。

*.Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩文件,不同压缩软件有不同扩展名。

*.html,*.php:网页相关文件,html文件可以使用网页浏览器直接开启,php文件可以通过客户端的浏览器来服务端浏览得到最终运算后的网页结果。

ps:扩展名智能大概了解用途,具体还是要看权限的规范才行。

文件名长度限制:单一文件或目录的最大容许文件名为255字节,每个汉字不一定只占一个字节。

ps:linux文件名通常可以看出是干什么的,所以较长。

文件名内容限制:文件名最好避免一些特殊字符:如* ? 》 《 ; &等

Linux目录配置

FHS:Linux目录配置的依据。

FHS制定的四种目录:可分享(shareable)、不可分享(unshareable)、不变(static)、可变动(variable)。

FSH所定义的三层主目录:/、/var、/usr。

ps:usr = UNIX Software Resource而不是user

所有软件都会放在/usr下

/var目录主要针经常性变动的文件,包括:缓存(cache),日志文件(log file)以及某些软件运行产生的文件。

目录树

概念:所有文件和目录都是由根目录开始的,然后一个个分支下来,所以称为目录树(directory tree)。

特性:目录树启始点为根目录(/,root)。

每一个目录下不止能使用本地分区的文件系统,也能使用网络上的文件系统。

每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

code:查询根目录:ls -l /

绝对路径和相对路径

绝对路径:由根目录(/)开始写起的文件名或目录名称,eg /home/root/.bashrc

相对路径:相对于目前路径的文件名写法,eg ./home/root 或 ../../home/root

tips:只要开头不是/就是相对路径

ps:../为返回上一层,.代表当前目录,也可以用./,..代表上一层目录,也可以用../

code:查看内核版本:$ uname -r

code:查看操作系统的架构版本:$ uname -m

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值