看书学习之linux文件权限

一.文件属性

[kiosk@foundation8 Desktop]$ ls -al

total 1322772

drwxr-xr-x   9 kiosk kiosk       4096 Dec 29 18:40 .

drwx------. 18 kiosk kiosk       4096 Dec 29 18:40 ..

drwx------   5 kiosk kiosk       4096 Sep 11 17:43 books

-rw-rw-r--   1 kiosk kiosk        322 Nov 10 16:15 ip-host

drwx------   4 kiosk kiosk         37 Aug 28 22:06 linux

-rw-rw-r--   1 kiosk kiosk         97 Nov 10 18:03 ll

 

 

-rw-rw-r--     1       kiosk   kiosk      97  Nov 10 18:03    ll

[   1   ]    [ 2 ]     [ 3 ]   [ 4 ]     [ 5] [     6    ]   [ 7 ]

 

[1].文件权限:- | rw- | rw- | r--

            

第一个字符:

    若是[d],则代表目录

    若是[-],则代表文件

    若是[l],则代表为连接文件

    若是[b],则表示设备文件里面可供存储的接口设备

    若是[c],则表示设备文件里面的串行端口设备,例如键盘,鼠标(一次性读取设备)

    接下来的字符中,以三个为一组,且均为rwx的组合。其中[r]代表可读,[w]代表可写,[x]代表可执行。这三个权限位置不会改变,如果没有权限,就会出现[-].

    *第一组为文件所有者权限

    *第二组为同用户组的权限

    *第三组为其它非本用户组的权限

ps:目录与文件权限意义并不相同,不可一概而论,目录权限会在后期补充

 

[2].表示有多少文件名连接到此节点。

[3].表示这个文件(或目录)的所有者帐号

[4].表示这个文件的所属用户组。

[5].表示这个文件容量大小,默认单位为B。

[6].显示这个文件的创建文件日期或者是最近修改日期。

[7].表示为该文件名称

 

二.改变文件属性与权限

*chgrp:改变文件所属用户组

*chown:改变文件所有者

*chmod:改变文件权限

 

1.改变所属用户组

操作格式:

[root@server3 mnt]# chgrp [-R] dirname/filename ...

参数:

-R:进行递归的持续更改,即连同子目录下的所有文件,目录。

例:

[root@server3 mnt]# ls -l

total 28

-rw-r--r--  1 root root    0 Dec  8 16:28 acltest

-rw-r--r--  1 root root    0 Nov 24 17:36 bashrc

-rw-r--r--  1 root root   13 Dec  2 19:42 catfile

-rw-r--r--  1 root root   15 Dec  3 18:59 file

......

[root@server3 mnt]# chgrp LoL file(修改命令)

[root@server3 mnt]# ls -l

total 28

-rw-r--r--  1 root root    0 Dec  8 16:28 acltest

-rw-r--r--  1 root root    0 Nov 24 17:36 bashrc

-rw-r--r--  1 root root   13 Dec  2 19:42 catfile

-rw-r--r--  1 root LoL    15 Dec  3 18:59 file

......

其中文件file的用户组被修改为LoL

 

2.改变文件所有者:chown

操作格式:

[root@server3 mnt]# chown [-R] 帐号名称 文件或目录

[root@server3 mnt]# chown [-R] 帐号名称:组命 文件或目录

参数:

-R:进行递归的持续更改,即连同子目录下的所有文件都更改

例:

[root@server3 mnt]# ls -l

total 28

......

-rw-r--r--  1 root root   15 Dec  3 18:59 file

-rw-r--r--  1 root root    0 Dec  3 18:49 file2

......

[root@server3 mnt]# chown LoL file

[root@server3 mnt]# ls -l

total 28

......

-rw-r--r--  1 LoL  root   15 Dec  3 18:59 file

-rw-r--r--  1 root root    0 Dec  3 18:49 file2

......

file文件所有者被改变

 

[root@server3 mnt]# ls -l file2

-rw-r--r-- 1 root root 0 Dec  3 18:49 file2

[root@server3 mnt]# chown LoL:LoL file2

[root@server3 mnt]# ls -l file2

-rw-r--r-- 1 LoL LoL 0 Dec  3 18:49 file2

 

file文件所有者与用户都被改变

 

3.改变权限:chmod

**数字类型改变文件权限

 

文件基本权限有9个,分别是owner.group.others三种身份都有自己的r.w.x权限,我们可以用数字来代表各个权限:

    r:4

    w:2

    x:1

每种身份(owner.group.others)的权限(r.w.x)数字是需要累加的,例如[-rwxr-x---],其中:

    owner = rwx = 4+2+1 = 7

    group = r-x = 4+0+1 = 5

    others= --- = 0+0+0 = 0

 

所以当权限更改时,该文件的权限数字就是750,更改权限chmod的语法如下:

[root@server3 mnt]# chmod [-R] xyz 文件或目录

参数:

[-R]:进行递归的持续更改

[xyz]:就是刚说道的数字类型的权限属性,为rwx属性数字相加

例:

[root@server3 mnt]# ls -l file

-rw-r--r-- 1 LoL root 15 Dec  3 18:59 file

[root@server3 mnt]# chmod 777 file

[root@server3 mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

 

**符号类型改变权限

由上我们得知,一个文件基本上有9个权限,分别是owner.group.others3种身份。我们可以通过u.g.o来代表3中身份权限。此外,a代表all。指全部的身份。那么读写权限就可以写成r.w.x,可以如表所示:

chmod

u

g

o

a

+ (加入)

-(除去)

=(设置)

r

w

x

 

文件或目录

 

例:

将一个文件权限改成-rwxr-xr-x

[root@server3 mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

[root@server3 mnt]# chmod u=rwx,go=rx file

[root@server3 mnt]# ls -l file

-rwxr-xr-x 1 LoL root 15 Dec  3 18:59 file

给每个人都拥有写入权限

[root@server3 mnt]# chmod a+w file

[root@server3 mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

给每个人都拥有执行权限

[root@server3 mnt]# chmod a-x file

[root@server3 mnt]# ls -l file

-rw-rw-rw- 1 LoL root 15 Dec  3 18:59 file

 

猜你喜欢

转载自www.cnblogs.com/zhengyipengyou/p/10198318.html