63

Linux第二周学习笔记(8)-yngndzh的学习博客-51CTO博客

 6 years ago
source link: http://blog.51cto.com/13577820/2067079
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Linux第二周学习笔记(8)

Linux第二周学习笔记(8)

2.14 文件或目录权限chmod

(1). 权限表示

[root@daizhihong01 ~]# ls -l

总用量 12

-rw-------. 1 root root 1418 1月  22 08:19 anaconda-ks.cfg

-rw-r--r--  1 root root 4358 1月  29 23:24 anaconda-ks.cfg.1

文件的权限是和所有者、所属组有关系的,一个文件总共有三个权限位总共有9位分成三段,加上第一位表示设备类型总共十位,一下进行解析:

-rw-r--r-- 

第一位“-”:表示设备类型

d:表示目录

-:表示普通文件(包含文本文档及带色标记的二进制文档)

c: 表示字符串的设备(如:鼠标、键盘)

l:软件连接或者硬连接文件(软连接相当于一个快捷方式)

s:通讯文件(如:进程相互间的通讯)

rw-r--r--(从第二位开始表示权限)

w:是否可写(-不可写);r:是否可读(-不可读);x:是否可执行;

-:不可执行。

第一组rw-:表示所有者(root),文件是谁所有。

rw-表示:r可读,w可写,-不可执行。

第二组-r--:表示所属组(root),文件是属于那一个用户组。

r--表示:r可读,-不可写,-不可执行。

第三组r--:表示其它用户,除了所有者、所有组以外的其它用户

r--表示:r可读,-不可写,-不可执行。

权限使用数字表示:

r=4   w=2   x=1

rwx=7(三个数字相加之和)表示可读可写可执行

rw-=6可读可写不可执行

--x=1只可执行

rw-r--r--=664

rw-r-xr-x=655

-rw-------.:在这权限当中最后一位有一个“.”是代表什么意思,意味着这个文件受制于seLinux,如果seLinux开启的话创建的目录最后一位就会有一个“.”。可使用getenforce命令暂时关闭,如果要完全关闭的话需要更改配置文件vi /etc/seLinux/config

-----------------------------------------------------------------------------------------

"/etc/selinux/config" 14L, 547C

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=enforcing(更改为disabled即可)这节课这里只做了解,不做任何更改

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

"/etc/selinux/config" 36L, 1133C

-----------------------------------------------------------------------------------------

(2.).chmod命令:chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

chmod-R命令:chmod命令只是对文件或者目录生效的仅仅只是指定的这个目录本身,如果要把目录下面的子目录还有子文件全部一次性批量更改的权限,就要使用-R参数

---------------------------------------------------------------------------------------

chmod命令更改权限:新建123.txt文件进行权限更改,权限更改为:所有者可读、可写、可执行,用户组不可读、不可写、不可执行,其它用户不可读、不可写、不可执行;权限表示如下:rwx------=700

[root@daizhihong01 ~]# touch 123.txt

[root@daizhihong01 ~]# ls

123.txt  anaconda-ks.cfg  anaconda-ks.cfg.1

[root@daizhihong01 ~]# ls -l

总用量 12

-rw-r--r--  1 root root    0 1月  30 20:53 123.txt

-rw-------. 1 root root 1418 1月  22 08:19 anaconda-ks.cfg

-rw-r--r--  1 root root 4358 1月  29 23:24 anaconda-ks.cfg.1

[root@daizhihong01 ~]# chmod 700 123.txt

[root@daizhihong01 ~]# ls -l

总用量 12

-rwx------  1 root root    0 1月  30 20:53 123.txt

-rw-------. 1 root root 1418 1月  22 08:19 anaconda-ks.cfg

-rw-r--r--  1 root root 4358 1月  29 23:24 anaconda-ks.cfg.1

更改daizhihong3权限表示如下:drwxr-xr-x

u (User):即文件或目录的拥有者;

g( Group):即文件或目录的所属群组;

o (Other):除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxr-x--x  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

-rw-------. 1 root root    0 1月  22 08:14 yum.log

[root@daizhihong01 tmp]# chmod u=wxr,g=xr,o=rx daizhihong3(在录入的时候是不能加“-”)

 [root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxr-xr-x  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

使用chmod三组权限全部加权限:

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

d-wx--x---  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

[root@daizhihong01 tmp]# chmod a+r daizhihong3(三组权限全部加r,a代表全部)

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxr-xr--  3 root root   24 1月  28 21:58 daizhihong3(全部都加上了r)

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

使用chmod三组权限全部减权限:

 [root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxr-xr--  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

 [root@daizhihong01 tmp]# chmod a-r daizhihong3(三组权限全部减r,a代表全部)

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

d-wx--x---  3 root root   24 1月  28 21:58 daizhihong3(三组权限全部减r)

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

也可以这样使用:

chmod u+r daizhihong3

chmod u-r daizhihong3

chmod g+r daizhihong3

chmod g-r daizhihong3

chmod o+r daizhihong3

chmod o-r daizhihong3

--------------------------------------------------------------------------------

在前面讲密钥认证的时候,在做密钥认证的时候就用到过如下:

[root@daizhihong01 ~]# chmod 700 /root/.ssh

[root@daizhihong01 ~]# ls -ld /root/.ssh/

drwx------. 2 root root 48 1月  26 04:29 /root/.ssh/

--------------------------------------------------------------------------------------------

chmod-R命令: chmod命令只是对文件或者目录生效的仅仅只是指定的这个目录本身,如果要把目录下面的子目录还有子文件全部一次性批量更改的权限,就要使用-R参数

未加R参数:

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxr-xr-x  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

 [root@daizhihong01 tmp]# ls -l daizhihong3

 [root@daizhihong01 tmp]# chmod 770 daizhihong3(更改daizhihong3权限成770rwxrwx---)

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxrwx---  3 root root   24 1月  28 21:58 daizhihong3(更改成功)

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

[root@daizhihong01 tmp]# ls -l daizhihong3

drwxr-xr-x 2 root root 20 1月  28 21:58 daizhihong(但是在daizhihong3下面的子目录权限并未更改)

加R参数:

[root@daizhihong01 tmp]# chmod -R 770 daizhihong3

[root@daizhihong01 tmp]# ls -l

-rw-r--r--  1 root root 2564 1月  29 23:22 anaconda-ks.cfg.1

drwxr-xr-x  2 root root   20 1月  29 13:36 daizhihong

drwxrwx---  3 root root   24 1月  28 21:58 daizhihong3

drwxr-xr-x  5 root root   53 1月  29 11:43 daizhong

 [root@daizhihong01 tmp]# ls -l daizhihong3

drwxrwx--- 2 root root 20 1月  28 21:58 daizhihong(加入-R参数后连着子目录或者子文件的权限一起更改)

-------------------------------------------------------------------------------------- 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK