Linux第二周学习笔记(8)


2.14 文件或目录权限chmod

(1). 权限表示

[[email protected] ~]# 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

[[email protected] ~]# touch 123.txt

[[email protected] ~]# ls

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

[[email protected] ~]# 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

[[email protected] ~]# chmod 700 123.txt

[[email protected] ~]# 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):除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

[[email protected] tmp]# ls -l

总用量 8

-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

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

[[email protected] tmp]# ls -l

总用量 8

-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三组权限全部加权限:

[[email protected] tmp]# ls -l

总用量 8

-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

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

[[email protected] tmp]# ls -l

总用量 8

-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三组权限全部减权限:

[[email protected] tmp]# ls -l

总用量 8

-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

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

[[email protected] tmp]# ls -l

总用量 8

-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

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

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

[[email protected] ~]# chmod 700 /root/.ssh

[[email protected] ~]# ls -ld /root/.ssh/

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

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

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

未加R参数:

[[email protected] tmp]# ls -l

总用量 8

-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

[[email protected] tmp]# ls -l daizhihong3

总用量 0

[[email protected] tmp]# chmod 770 daizhihong3(更改daizhihong3权限成770rwxrwx---)

[[email protected] tmp]# ls -l

总用量 8

-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

[[email protected] tmp]# ls -l daizhihong3

总用量 0

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

加R参数:

[[email protected] tmp]# chmod -R 770 daizhihong3

[[email protected] tmp]# ls -l

总用量 8

-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

[[email protected] tmp]# ls -l daizhihong3

总用量 0

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

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

原文地址:http://blog.51cto.com/13577820/2067079

时间: 2024-08-01 22:47:16

Linux第二周学习笔记(8)的相关文章

Linux第二周学习笔记(11)

2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的atime将不可修改 s:会将数据同步写入磁盘中 a:只能追加不能删除,非root用户不能设定该属性 c:自动解压该文件,读取时会自动解压 i:文件不能删除.从命名.设定链接.写入以及新增数据 lsattr(list attribute)命令:用于读取文件或者目录的特殊权限 a:列出所有文件(包含隐藏文件) R:连同子目录一起列出 d:只

Linux第二周学习笔记(12)

2.18 特殊权限set_uid set_uid:这个权限是针对二进制可执行文件,使文件在执行阶段具有文件所有者的的权限. -------------------------------------------------------------------------------------------- 例如passwd命令: [[email protected] ~]# which passwd /usr/bin/passwd [[email protected] ~]# ls -l /u

Linux第二周学习笔记(7)

2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的内容,包括特殊字符 cat-n命令:显示行号 -------------------------------------------------------------------------------------------- cat命令: [[email protected] tmp]# cat /etc/passwd ro

Linux第二周学习笔记(9)

2.15 更改所有者和所属组chown chown(change owner)命令:更改所有者,也可更改所属组 chown -R命令: chown命令只是对文件或者目录生效的仅仅只是指定的这个目录本身的所属用户及所属组,如果要把目录下面的子目录还有子文件全部一次性批量更改所属人或者所属用户组,就要使用-R参数 -------------------------------------------------------------------------------- chown命令更改文件的所

Linux第二周学习笔记(10)

2.16 umask Umask命令:用于改变文件和目录的默认权限,格式:umask ***(***代表3个数字).查看umask的值,只要在命令行输入umask即可. 默认情况下,文件的权限值是:-rw-r--r--(644),目录的权限值是:drwxr-xr-x(755).着两个权限值是有什么来定的呢?这个就涉及到了一个慨念叫umask,我们通过这个值就可以确定文件的权限值是什么,也可以确定目录的权限值是什么. ----------------------------------------

Linux第二周学习笔记(13)

2.19 特殊权限set_gid 特殊权限set_gid:这个权限可以作用在二进制可执行文件上,还可以作用在目录上.特殊权限set_gid权限位是作用在组权限位上,目录被设置set_gid权限后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组 ----------------------------------------------------------------------------------------------- [[email protected] ~]# chm

Linux第一周学习笔记(2)

Linux第一周学习笔记(2) 1.3认识Linux (1).什么是Linux Linux是一个操作系统,比如说微软的winodws.苹果电脑的masOS.早于Linux发行的unix: 我们平时使用的PPT.浏览网站.玩游戏这些都是需要操作系统的层面上来完成的: 也包括了我们现在手机使用的系统有三个版本一个是Andriod和苹果的Los以及微软的windows,Los其实也就是Unix系统而Andriod是Linux系统: 我们生活当中常用的一些网站.游戏.QQ.微信这些应用都是在Linux操

Linux第二周学习总结——操作系统是如何工作的

LINUX内核分析第一周学习总结——操作系统是如何工作的 黄韧(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [知识点总结] (一)计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能:函

Linux内核分析——第二周学习笔记

20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能: enter pushl %ebp movl %esp,%ebp leave movl %ebp,%esp popl %ebp 函数参数传递机制和局部变量存储 ③中