Linux文件权限与目录配置

本文阅读 7 分钟
首页 Linux,系统 正文

Linux文件权限与目录配置(学习笔记)

用户与用户组

任何一个文件都具有用户(user),所属群组(group),其他人(Others)三种身份的个别权限

  • 每个账户都能有多个用户组支持
  • 用户组可以通过设置权限来保护你的隐私(用户团队协同合作的时候)
  • 用户可以设置自己为某个自建文件夹的文件拥有者 img 以上图为例,假设用户1有文件a(设置了权限),那么文件a的文件拥有者时用户1,这个文件a和用户1属于用户组1,而用户3只是对于用户1的其他人(Others)而已,而root可以随意查看任何用户的信息,拥有至高无上的权利

Linux中,默认将系统上所有账号以及root都记录在 /etc/passwd 这个文件夹中,个人密码则记录在/etc/shadow中,所有组名记录在 /etc/group 中,这三个文件十分重要!

当在控制台中看见 Permission deny时,定是文件权限设置错误,下面讲讲文件权限概念:

[huaye@localhost ~]$ su - #可以先用这个命令提示一下身份
....
[root@localhost ~]$ ls -al #ls是list的意思,重点在于显示文件的文件名和相关属性

具体可以看下图:

img 下面讲讲具体如何看显示出来的“东东”:

  1. 第一栏: 第一个字符是表示是文件(—),目录( d )还是链接文件( | ) 接下来的字符,每三个一组,r:有读权限,w:写权限,x执行权限,具体如图标所示 img
  2. 第二栏表示有多少文件名链接到此节点
  3. 第三栏表示这个文件(或目录)的拥有者账号
  4. 第四栏表示这个文件(或者目录)的所属用户组
  5. 第五栏表示这个文件的大小
  6. 第六栏表示文件的创建日期或者最近的修改日期
    <li>第七栏表示文件名(最前面有 . 的表示隐藏文件) </li>

如何修改文件属性和权限

chgrp:修改文件所属用户组 chown:修改文件拥有者 chmod:修改文件的权限

一下均拿initi-setup-ks.cfg文件做例子 1.

[root@localhost ~]$ chgrp huaye  initi-setup-ks.cfg    
#修改这个文件的用户组为huaye,

需要注意的是,修改后的所属用户组要存在于/etc/group中,否则会失败 2.

[root@localhost ~]$ chown zhangsan initi-setup-ks.cfg    
#修改这个文件的拥有者为zhangsan,
[root@localhost ~]$ chown root:root initi-setup-ks.cfg
#把这个文件的拥有者改为root用户组下的root用户

那么什么情况下会用到这个呢?当你需要将自己的拥有文件复制给其他用户时,复制后文件的属性不变,所有复制后目标用户还是无法获取信息,需要修改文件的拥有者

[root@localhost ~]$ cp 源文件 目标文件    
#将源文件复制到目标文件中

以上就是复制文件的操作 3.

[root@localhost ~]$ chmod 777  initi-setup-ks.cfg    
#修改这个文件的权限为rwxrwxrwx

以上时用法,具体的Linux的文件权限有9个,分别是文件拥有者和所属组群,其他人对于的读,写,执行权限,可以参考上模块中的第一栏介绍; 读,写,执行分别对于不同的数组对照表:

r:4
w:2
x:1

上述示例中的777代表7-(rwx)7-(rwx)7-(rwx),同理,600代表的权限是rw- — --- 也就是只有文件的拥有者才可以进行读写操作!

那么设置权限到底有什么用呢?

以下是设置权限对文件的重要性: r(read):可以读取文件的实际内容,如修改文本文件的文字内容 w(write):可以编辑,新增或者是修改文件的内容(但是不能删除!!!) x(execute):可以被系统执行

而目录设置权限的重要性就更重要了! r:可以读取目录下的文件名数据,并且可用ls将内容列出来 w:建立新的文件夹;删除已经存在的文件和目录(不管要删除的文件的权限是什么);将已经存在的文件或者目录更名;移动该目录内的文件夹或者目录位置 x:与文件不同的是,设置目录的x权限代表着你是否有它的“钥匙”,即没有该权限则无法读取以及切换工作空间(cd命令)

linux文件种类与拓展名

文件种类:

  1. 常规文件:纯文本文件(执行 【cat ~/.bashrc】可以查看该文件内容,cat是将文件内容读出来的命令),二进制文件(命令cat就是一个二进制文件),数据文件(能用 【last】 命令读取)
  2. 目录,即第一属性是d,如【drwxrwxrwx】
  3. 链接文件,可以理解为windows下的快捷方式
  4. 设备与设备文件,例如/dev/sda,你会发现文件第一个属性是【b】,字符设备文件:鼠标键盘等,第一个属性是【c】
  5. 数据接口文件,第一个属性是【s】,常在/run或/tmp这两个目录看见这个文件类型
  6. 数据输送文件,第一个属性是【p】

文件扩展名:一个Linux能不能执行,和第一栏的十个属性有关,与文件扩展名一点关系都没有!当你有x权限时,代表这个文件具有能被执行的能力 (具有可执行的权限以及具有可执行的程序代码是两回事,能不能真正执行成功,有x权限还不行,要看文件内容) 【.sh】:脚本或批处理文件 【.Z .tar .tar.gz .zip .tgz】:经过打包的压缩文件 值得注意的是,Linux下的文件名最好避开命令行关键字:【* ? < > ; & ! [ ] | ’ " ( ) ` { }】

CentOS的观察: 查看内核版本:

[huaye@localhost ~]$ uname -r  #查看内核版本
[huaye@localhost ~]$ uname -m  #查看操作系统架构版本
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/m0_46435741/article/details/115773542
-- 展开阅读全文 --
Redis底层数据结构--跳跃表
« 上一篇 04-28
BUUCTF Web [强网杯 2019]随便注
下一篇 » 06-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复