一.Linux文件属性及权限

1.文件/目录属性查看

(1)文件属性查看

[root@localhost ~]# ls -l file

-      rw-r--r--.     1             root      root    0        11月 15 23:55         file

类型       文件权限     连接数        文件所有人  文件所有组    大小    最后一次被修改的时间    名字

(2)查看目录属性

[root@localhost ~]# ls -ld test

d    rwxr-xr-x.       2     root        root       6         11月 15 23:56             test

类型      权限          连接数  目录所有人  目录所有组 子文件属性大小    目录中内容变化        目录名

注:1.文件名第一个字符为“.”的文件是隐藏文件,用“ls -al”查看

2.文件的容量大小,单位为B。

3.显示完整的时间格式,用“ls -l --full-time”。

(3)文件权限的含义

a.对文件的含义

r:可读权限,可以使用类似cat等命令查看文件内容

w:可以对文件进行编辑和删除

x:可以运行此文件

b.对目录的含义

r:可以对此目录查看目录内的文件内容,如ls

w:可以在此目录创建文件或目录,但必须有x的权限。

x:可以使用cd命令切入到此目录或使用ls -l查看那目录内文件的详细内容。

2.改变文件属性与权限

(1)文件所属用户组

chgrp命令用来改变文件或目录所属的组。

命令结构:

chgrp  (-R) 用户组名/gid  文件/目录    ##改变文件/目录所属用户组

chgrp  (-R) --reference=文件名      要修改的文件名     ##将要修改的文件的所属组改为和前者文件一致的所属组,前一个文件是被参照的文件,后一个文件为被修改的文件。

注:被改变的组名必须在/etc/group文件内存在,否则显示错误。

[root@localhost ~]# chgrp test file

chgrp: invalid group: ‘test’                     ##test用户组不存在

[root@vm1 ~]# ls -l test.txt

-rw-r--r-- 1 rootroot 0 8月   4 10:36 test.txt

[root@vm1 ~]# chgrp 38 test.txt        ##以gid为参数修改,38为ntp的gid。

[root@vm1 ~]# ls -l test.txt

-rw-r--r-- 1 rootntp 0 8月   4 10:36 test.txt

[root@vm1 ~]# ls -l file.sh

-rw-r--r-- 1 root root 0 8月   4 10:37 file.sh

[root@vm1 ~]# chgrp --reference=/root/test.txt file.sh

[root@vm1 ~]# ls -l file.sh

-rw-r--r-- 1 root ntp 0 8月   4 10:37 file.sh

(2)更改文件权限

chmod:不是所有人都可以使用chown更改文件权限,除root外,其余用户只能更改属主为自己的文件或目录。

注:当复制文件/目录给某个用户,复制后文件/目录的属性和权限不会更改,则需要用chown改变文件所有者和所属组。

chmod具有四种更改方式:赋权,授权,八进制更改,参照文件更改。

更改参数:-o(other):更改其他用户的权限

-g(group):更改属组权限

-u(user):更改属主权限

a(all):更改所有用户权限(将以上三种全部更改)

命令结构:

chmod       权限      文件/目录       ##改变文件/目录的权限

a.赋权表示法

用“=”来进行赋权更改,直接更换文件原有的权限,更改为指定的权限。

[root@vm1 ~]# chmod u=rwx file.sh

[root@vm1 ~]# ls -l file.sh

-rwxr--r-- 1 root ntp 0 8月   4 10:37 file.sh

b.授权表示法

用“+”“-”来进行授权更改,其含义为在原有的权限上增加或者减少权限

[root@vm1 ~]# chmod u-w,g-r,o-r file.sh

[root@vm1 ~]# ls -l file.sh

-r-x------ 1 root ntp 0 8月   4 10:37 file.sh

c.八进制表示法

用八进制如:“777”直接对目录或者文件进行权限更改。

[root@vm1 ~]# chmod 644 file.sh

[root@vm1 ~]# ls -l file.sh

-rw-r--r-- 1 root ntp 0 8月   4 10:37 file.sh

d.参照文件表示法

使用选项“--reference=文件”来进行更改,其含义为参照指定文件的权限来对当前指定文件进行权限更改,结果与参照文件的权限一致。

[root@vm1 ~]# ls -l test.txt

-rwxr-xr-x 1 root ntp 0 8月   4 10:36 test.txt

[root@vm1 ~]# ls -l file.sh

-rw-r--r-- 1 root ntp 0 8月   4 10:37 file.sh

[root@vm1 ~]# chmod --reference=/root/test.txt file.sh

[root@vm1 ~]# ls -l file.sh

-rwxr-xr-x 1 root ntp 0 8月   4 10:37 file.sh

注:第一种和第二种只能针对其中一类用户更改,第三中和第四种不能单独更改一类用户。

注:被改变的用户名/组名必须在/etc/passwd和/etc/group文件内存在,否则显示错误。

(3)改变文件属主属组

chown用于修改文件或者目录的属主和属组,root用户可以对所有文件或目录进行属主和属组的更改,普通用户只能更改属主是自己的文件或目录,该命令也可使用参照文件修改法。

命令结构:

chown(-R)  属主名:属组名  文件/目录          ##改变属主属组

chown  (-R) --reference=被参照文件        文件

[root@vm1 ~]# chown apache:memcached file.sh

[root@vm1 ~]# ls -l file.sh

-rwxr-xr-x 1 apache memcached0 8月   4 10:37 file.sh

[root@vm1 ~]# ls -l test.txt

-rwxr-xr-x 1 root ntp 0 8月   4 10:36 test.txt

[root@vm1 ~]# chown --reference=/root/test.txt  file.sh

[root@vm1 ~]# ls -l file.sh

-rwxr-xr-x 1 root ntp 0 8月   4 10:37 file.sh

注:对目录更改属主属组时,如果也需要修改目录文件下的文件和目录一样的属主属组,则可使用“-R”参数,代表递归修改目录下的文件。

a.如果只修改文件的属组,则可使用冒号+属组名,表示只修改属组,属主不变。

b.如果只修改属主,则直接写上用户名即可,属组不变。

3.文件/目录权限的意义

(1)文件是用来记录数据的,包括一般文本文件,数据库内容文件,二进制可执行文件等。

#若文件给“w”权限,则应给“r”权限。文件能否执行由是否含有“x”权限决定。

#文件具备“w”权限,可以“写入,编辑,新增,修改”文件的内容,普通用户不能删除文件,文件的删除由目录的“w”权限决定。

(2)目录是存放数据的,主要的内容是记录文件名列表。

#若目录给“r”权限,则应给“x”权限。“w”权限不可随便给。

#目录“w”权限具备“新建,删除,重命名,转移”文件/目录等功能

#目录“x”权限代表用户能否进入目录。

4.文件的默认权限

(1)默认权限的查看

umask(反掩码)                                 ##默认用户在新建文件或目录后的权限默认值。(默认需要减去的权限)。

[root@localhost ~]# umask

0022                                  ##默认权限为777-022=755.(针对于目录)

注:umask的值默认是四位,分别代表:setUid/setGid/粘着位(sticky)、属主权限、组权限、其他用户的权限。有效值为后三位,bash中,第一位必须为0.

系统超级用户root的umask值是0022,而其余用户的umask值为0002.用户创建“文件”,默认没有执行权限“x”,所以默认值为666,目录默认为777,当目录或文件创建后,需要减去对应的umask值才是目录或者文件的最终权限。所以root创建的目录权限为755,文件权限为644.其余用户创建的目录权限为775,文件权限为664.

系统为什么要经过umask值来创建文件或者目录。

因为系统默认创建文件或目录的权限是666和777,这样不安全,所以引入umask值来控制用户在创建文件或目录时的权限问题。

(-rw-rw-rw)-(-----w--w-)===>-rw-r--r--      ##文件

(drwxrwxrwx)-(d----w--w-)==>drwxr-xr-x   ##目录

(2)默认权限的设定

如何设置umask

[root@localhost ~]# umask 002                        ##设置默认权限为002

[root@localhost ~]# mkdir yang

[root@localhost ~]# ls -ld yang

drwxrwxr-x. 2 root root 6 Nov 16 05:22 yang

(3)umask配置文件的设定

vim /etc/bashrc                                    ##71行是普通用户的更改,73是超级用户的更改

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then      ##如果UID不在199之内,并且用户组名和用户名一致

umask 002                                                ##则该用户是普通用户,umask为0002,

else

umask 022                                                ##反之为系统用户,umask值为0022

fi

vim /etc/profile                                ##60行是普通用户的更改,62是超级用户的更改

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

umask 002

else

umask 022

fi

source /etc/bashrc /etc/profile ##让更改立即生效

注:两个文件必须更改一致。

5.特殊权限

stickyid    ###强制位

o+t                                ###只针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除

t=1

chmod o+t 目录

chmod 1777 目录

[root@localhost mnt]# mkdir test yang

[root@localhost mnt]# chmod 777 test

[root@localhost mnt]# chmod 1777 yang

[root@localhost mnt]# ls -ld test yang

drwxrwxrwx. 2 root root    6 Nov 16 08:00 test

drwxrwxrwt. 2 root root 4096 Nov 16 07:59 yang

[root@localhost mnt]# touch test/file{1..2}

[root@localhost mnt]# touch yang/file{1..2}

[root@localhost mnt]# su - student

Last login: Mon Nov 16 07:56:10 EST 2015 on pts/1

[student@localhost ~]$ cd /mnt

[student@localhost mnt]$ rm -fr test/file*

[student@localhost mnt]$ rm -fr yang/file*

rm: cannot remove ‘yang/file1’: Operation not permitted

rm: cannot remove ‘yang/file2’: Operation not permitted

[student@localhost mnt]$ ls test/

[student@localhost mnt]$ ls yang/

file1      file2

sgid        ###粘制位

g+s        ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的

chmod g+s file|directory

chmod 2777 file|directory

[root@localhost mnt]# mkdir test

[root@localhost mnt]# chgrp student test

[root@localhost mnt]# chmod 2765 test

[root@localhost mnt]# ls -ld test

drwxrwSr-x. 2 root student 6 Nov 16 07:34 test

[root@localhost mnt]# touch /mnt/test/file

[root@localhost mnt]# ls -l /mnt/test/file

-rw-r--r--. 1 root student 0 Nov 16 07:34 /mnt/test/file

suid        ###冒险位

u+s        ###针对文件,文件记录动作在执行时是以文件所有人身份执行的,与是谁发起的无关

chmod u+s file

chmod 4777 file

[root@localhost mnt]# cp /bin/touch .

[root@localhost mnt]# chmod 4755 touch

[root@localhost mnt]# ls -l

total 64

-rwsr-xr-x. 1 root root 62432 Nov 16 07:35 touch

[root@localhost mnt]# ls -l

total 64

-rwsr-xr-x. 1 root root 62432 Nov 16 07:35 touch

[student@localhost ~]$ /mnt/touch file

[student@localhost ~]$ touch file1

[student@localhost ~]$ ls -l

-rw-rw-r--. 1 root student 0 Nov 16 07:37 file

-rw-rw-r--. 1 student student 0 Nov 16 07:40 file

########################################################

二.Linux文件类型,扩展名与目录配置

1.文件类型,扩展名

(1)文件类型

普通文件:第一个字符为[-].

纯文本文件(ASCII)

二进制文件(binary)

数据格式文件(data)

目录(directory):第一个属性为[d]。

链接文件(link):第一个属性为[l]。

设备与设备文件(device):通常集中在/dev目录中

块(biock)设备文件:存储数据,提供系统随机访问的接口设备,第一个属性为[b]。一般为主机硬件设备。

字符(character)设备文件:串行接口的设备,第一个属性为[c]。一般为外置设备。

套接字(sockets):数据接口文件,被用在网络上的数据连接。第一个属性是[s]。通常在/var/run目录中可以看到这种文件类型。

管道(FIFO,pipe):

fifo:解决多个程序同时访问一个文件所造成的错误问题。第一个属性是[p]。

(2)文件扩展名

注:一个文件中没有可执行数据,即使拥有“x”权限,也不能执行。

*.sh:脚本或批处理文件。文件是用shell写的,扩展名为*.sh。

*Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包压缩的文件。

*.html,*.php:网页相关文件,分别带边html语法和php语法的网页文件。.html文件可使用浏览器直接开启,.php文件可以通过客户端的浏览器来服务端浏览。

(3)Linux文件长度限制

默认ext2,ext3,ext4,xfs文件系统

单一文件/目录:最大文件名容许量为255个字符

完整路径名称及目录(/)的完整文件名为4096个字符。

2.目录配置

(1)目录

/       ##根目录。存储与开机系统的文件。/etc./bin./dev./lib./sbin应该和根目录放置在一个分区里,而类似/usr/local可以单独位于另一个分区

/bin    ##在单用户维护模式下能够操作的命令。/bin下的一些命令可以被root与一般用户所使用,主要有cat,chmod,chown,date,mv,mkdir,cp,bash等常用命令。

/sbin    ##系统管理命令存放位置,一般只能有超级用户执行。大多数命令普通用户一般无权限执行,类似/sbin/ifconfig,普通用户使用绝对路径也能执行,用于查看当前系统的网络配置。

/boot    ##启动分区,负责系统启动。存放linux启动时内核以及引导系统程序所需要的核心文件,内核文件(vmlinuz)和grub系统引导管理器(/boot/grub)位于此目录。

/dev    ##存放设备与设备接口管理文件,访问该目录下的某个文件相当于访问某个硬件设备,常用的有/dev/null,/dev/zero,/dev/tty,/dev/ip*,/dev/hd*,/dev/sd*。

/etc    ##存放大多数系统配置文件,作为一些软件启动时默认配置文件读取的目录,不可放置可执行文件。/etc/fstab:存放系统分区挂载信息,/etc/init.d:所有服务的默认启动脚本。/etc/xinetd.d:super daemon(超级守护进程)管理的各项服务的配置文件目录。/etc/X11:与X Windows有关的配置文件,xorg.conf:XServer的配置文件。

/home    ##普通用户的家目录,

/lib    ##32位系统库文件存放位置,主要存放开机时用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。/lib/modules:存放内核相关的模块(驱动程序)

/lib64    ##64位系统库文件存放位置

/media    ##系统临时设备挂载点。存放软盘,光盘,DVD等设备。

/mnt    ##系统临时设备挂载点

/run    ##系统临时设备挂载点

/opt    ##第三方软件安装位置。存放第三方软件以及自行安装额外的软件。

/proc    ##虚拟文件系统,存放系统运行时的运行信息,如进程信息,内核信息,网络信息等。此目录存放在内存中,实际不占用磁盘空间。如/proc/cpuinfo存放cpu的相关信息。

/root    ##超级用户家目录

/srv,/var    ##系统数据,日志文件

/sys    ##系统管理,主要是关于内核的

/tmp    ##系统临时文件存放位置,任何人均可访问。系统软件或者用户运行程序时产生的临时文件存放在这里。此目录数据需要定期清除。

/usr    ##系统用户相关信息数据及用户自定义软件存放位置。

(2)系统文件路径

绝对路径

文件在系统的真实位置,文件名字以“/”开头,例如:/usr/share/doc。

相对路径

文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值

linux b权限开头的文件夹,linux文件权限与目录配置相关推荐

  1. Linux的文件夹及文件的权限

    Linux的文件夹及文件的权限 使用ls -l命令可显示当前目录下所包含的文件及文件的属性和权限 [username@localhost ~]$ ls -l total 32 drwxr-xr-x. ...

  2. linux修改文件夹的访问权限,linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组...

    linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组 我们在创建一个文件夹或者一个文件的时候,希望集成父文件夹的访问权限和组 修改默认访问权限 setfacl 以及 ...

  3. Linux下批量修改文件及文件夹所有者及权限

    Linux下批量修改文件及文件夹所有者及权限 Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的 ...

  4. Linux删除带锁文件夹和无权限文件夹

    1.删除带锁文件夹 因为带锁文件夹是root权限,在带锁文件夹所在的文件夹打开终端,输入如下命令: $ sudo chmod 777 文件夹名 按回车即可去掉带锁符号,然后就可以删除: 2.有些文件夹 ...

  5. Linux 修改文件夹和文件权限

    当我们在服务器创建文件夹或者文件时,可能会遇到下图问题: 这是因为我们的用户权限不够,我们可以修改文件夹以及文件的权限来进行修改,常见的权限有三种,读写以及执行 权限 权限数值 二进制 具体作用 r ...

  6. linux下无法删除文件夹,linux服务器下完美解决无法删除虚拟主机文件或文件夹...

    出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除. 大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除 ...

  7. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解

    Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...

  8. linux 默认文件属性,linux - 文件夹、文件默认属性: umask使用

    一 权限掩码umask umask是chmod配套的.总共为4位(gid/uid,属主.组权,其他用户的权限),只是通经常使用到的是后3个.比如你用chmod 755 file(此时这文件的权限是属主 ...

  9. linux批量更新文件夹里,Linux下使用touch批量修改文件夹和文件的时间

    发布时间:2015-07-26 22:51:41 下面只有两个参数存在差别,......[阅读全文] 阅读(3186) | 评论(0) | 转发(0) 发布时间:2015-06-19 17:25:38 ...

最新文章

  1. JEECMS V3.0 常用标签使用说明
  2. 理解 Android Build 系统
  3. 北京卫生中级英语计算机考试成绩查询,2019年北京卫生专业技术资格成绩查询时间及入口...
  4. 【数字图像处理】四.MFC对话框绘制灰度直方图
  5. iis6扩展php_Web服务器IIS6的PHP5.2.5最佳配置方法
  6. Codeforces Round #592 (Div. 2) F. Chips 构造 + 细节
  7. 信息学奥赛一本通(1132:石头剪子布)
  8. wpf 设置滑动条不能划到头_改善移动用户体验的7条原则
  9. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
  10. 机器学习笔记2 – sklearn之iris数据集
  11. 手把手!基于领域预训练和对比学习SimCSE的语义检索(附源码)
  12. Java多线程再理解(synchronized)
  13. 033-生产机器扩容
  14. matlab数字仿真实验,matlab数值仿真
  15. (十二)GA-RPN----2019CVPR论文解读
  16. 元数据驱动的大数据服务平台
  17. 怎么彻底删除users下的文件夹_c盘用户文件夹特别大,c盘users文件夹可以删除吗...
  18. ttest求pvalue_TTEST 在EXCEL计算出的结果是t还是p值,用哪一个公式在excel中计算出t值和p值是多少...
  19. 什么是拨号Internet连接?
  20. 如何判断你是合格的高级iOS开发工程师?

热门文章

  1. LVM基本介绍与常用命令
  2. 大数据分析平台搭建方式有哪些
  3. 大数据技术在物流中的应用
  4. html5初探ppt,HTML5---HTML5初探151019讲义.ppt
  5. 计算机系统中字word的描述性定义是,计算机基础练习题1
  6. 10截图时屏幕变大_刚刚才知道!华为手机还有7种截图方式,其中1种居然能隔空截图...
  7. python中链表是什么_python 单链表的实现
  8. 2020 年百度之星程序设计大赛 - 初赛二
  9. vue props 多类型_一个TypeScript简例,以及Vue支持TS的一些些事儿
  10. ThreadLocalConnection