第4讲 Linux文件权限与目录配置
Linux文件和目录的权限

Linux初探>Linux文件和目录的权限几个基本概念:·文件所有者(用户)owner·用户组group·其他人others·root文件属性:ls -al 查看文件及属性第一列:文件类型和权限第1个字符代表文件类型(文件、目录或链接文件等)第234个字符表示文件所有者对文件/目录的权限第567个字符表示文件所有者所在用户组对文件/目录的权限第890个字符表示文件所有者所在用户组之外的用户对文件/目录的权限权限用固定的rwx序列表示,有该权限则写相应字符,无权限则写-root拥有最高权限第二列表示有多少个文件名连接到此节点(i-node)第三列表示这个文件/目录的“所有者”账号第四列表示这个文件所属的用户组第五列为这个文件的大小,默认单位B第六列为这个文件的创建或修改日期。
中文日期为乱码可以使用“LANG=en_US”修改语言第七列为文件名,前面为“.”则为隐藏文件改变文件属性与权限:1.chgrp改变文件所属用户组语法:chgrp [-R] groupname dirname/filename参数:-R 递归,同时改变目录及其下所有子目录、文件的权限要求:groupname存在问题:能否改变用户组为文件所有者不支持的用户组。
如果可以,会是什么情况。
2.chown改变文件所有者语法:chown [-R] username dirname/filename要求:必须是存在的用户问题:改变文件所有者或,所属用户组是否随之改变。
3.chmod改变文件/目录权限数字法:用421分别表示rwx的权值,用权值和表示权限,如5代表权限r-x,7代表rwx。
用三位数表示完整权限,如755代表rwxr-xr-x。
字符法:第一组字符:u(user)文件所有者、g(group)用户组、o(others)其他人。
a (all)所有人第二组字符:+ 添加权限、- 去掉权限、=赋予权限第三组字符:r读 w写 x执行语法:chmod [-R] 权限 dirname/filename例:chmod 755 .bashrcchmod u=rwx,go=rx .bashrcchmod a+w .bashrc目录与文件的权限意义:文件:r:可读取此文件的实际内容,如读取文本文件的文字内容。
Linuxchmod命令修改文件与文件夹权限使用教程

Linux chmod命令修改文件与文件夹权限使用教程Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
在linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,具体怎么使用呢?下面我写了几个简单的实例大家可参考一下方法步骤语法:chmod [who] [+ | - | =] [mode] 文件名命令中各选项的含义为u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。
它是系统默认值。
操作符号可以是:+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
实例修改文件可读写属性的方法例如:把index.html 文件修改为可写可读可执行:复制代码代码如下:chmod 777 index.html要修改目录下所有文件属性可写可读可执行:复制代码代码如下:chmod 777 *.*把文件夹名称与后缀名用*来代替就可以了。
比如:修改所有htm文件的属性:复制代码代码如下:chmod 777 *.htm修改文件夹属性的方法把目录 /images/xiao 修改为可写可读可执行复制代码代码如下:chmod 777 /images/xiao修改目录下所有的文件夹属性复制代码代码如下:chmod 777 *把文件夹名称用*来代替就可以了要修改文件夹内所有的文件和文件夹及子文件夹属性为可写可读可执行复制代码代码如下:chmod -R 777 /upload补充:Linux基本命令1.ls命令:格式::ls [选项] [目录或文件]功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
Linux目录和权限设置

Linux文件和目录访问权限设置一、文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。
同时,用户能够控制一个给定的文件或目录的访问程度。
一个文件活目录可能有读、写及执行权限。
当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。
文件所有者可以将这些权限改变为任何他想指定的权限。
一个文件也许只有读权限,禁止任何修改。
文件也可能只有执行权限,允许它想一个程序一样执行。
三种不同的用户类型能够访问一个目录或者文件:所有着、用户组或其他用户。
所有者就是创建文件的用户,用户是所有用户所创建的文件的所有者,用户可以允许所在的用户组能访问用户的文件。
通常,用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
最后,用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。
在这种意义上,系统内的其他所有用户就是other用户类。
每一个用户都有它自身的读、写和执行权限。
第一套权限控制访问自己的文件权限,即所有者权限。
第二套权限控制用户组访问其中一个用户的文件的权限。
第三套权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。
我们可以用-l参数的ls命令显示文件的详细信息,其中包括权限。
如下所示:[root@localhost ~]# ls -lh总用量 368K-rw-r--r-- 1 root root 12K 8月 15 23:18 conkyrc.sampledrwxr-xr-x 2 root root 48 9月 4 16:32 Desktop-r--r--r-- 1 root root 325K 10月 22 21:08 libfreetype.so.6drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth0-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth1-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lodrwxr-xr-x 2 root root 48 9月 6 13:06 vmware当执行ls -l 或 ls -al 命令后显示的结果中,最前面的第2~10个字符是用来表示权限。
红帽Linux下文件和目录权限设置

#useradd user3创建用户user3
#passwd user3创建用户user3
#usermod –g user1 user2将user2用户设为和user1同组
2、切换为user1登陆,在/testdir目录下创建新文件
#su user1
$groups是否属于user1组
$cd /testdir
$cat本人姓名.txt读该文件内容(应该可看见)
$vim本人姓名.txt改写内容(应该不能保存)
4、user3用户登陆,测试其他用户权限
$su - user3切换到user3用户(对user1来说是其他用户)
$groups是否属于user3组
二目录权限设置1切换到user1登陆在testdir目录下创建新目录并设权限suuser1cdtestdirmkdiruser1dirlslduser1dir查看目录user1dir的权限精品文档精品文档可以编辑修改等待你的下载管理教育文档chmodurwxuser1dir将目录的权限设为所有者完全权限chmodgrxwuser1dir将目录的权限设为同组用户可读可进入权限chmodorwxuser1dir将目录的权限设为其他用户可读权限lslduser1dir查看目录的权限2用user2登陆进行同组用户权限测试suuser2cdtestdiruser1dir显示目录内容应该能显示清单cduser1dir进入该目录应该能进入该目录下mkdirtt创建子目录应该不能创建3用user3登陆进行其他用户权限测试suuser3cdtestdiruser1dir显示目录内容应该能显示清单cduser1dir进入该目录应该不能进入该目录六本次实训的体会
如何在Linux终端中进行文件和目录的权限修改

如何在Linux终端中进行文件和目录的权限修改在Linux终端中进行文件和目录的权限修改Linux系统是一种强大的操作系统,特点之一就是其具有很高的安全性。
为了保护用户数据的安全,Linux采用了一套权限系统,用于控制用户对文件和目录的访问权限。
本文将介绍如何在Linux终端中进行文件和目录的权限修改。
一、查看文件和目录权限在进行权限修改之前,首先需要了解当前文件和目录的权限情况。
在Linux终端中,使用ls命令可以查看当前目录下的文件和目录列表,并显示它们的权限信息。
例如,输入以下命令可以查看当前目录下所有文件和目录的权限:```ls -l```该命令将会显示文件和目录的详细权限信息,包括所有者权限、所属组权限和其他用户权限。
二、修改文件和目录权限1. 修改文件权限要修改文件的权限,可以使用chmod命令。
chmod命令可以通过用户、组和其他用户来设置该文件的访问权限。
语法如下:```chmod [选项] 权限文件名```其中,[选项]指定了要修改的权限类型,权限表示为三位数字,每一位对应于所有者、所属组和其他用户的权限。
数字1表示执行权限,数字2表示写权限,数字4表示读权限。
通过将这些数字相加,可以设置文件的特定权限。
例如,要将一个文件的读权限设置为只有所有者有,可以使用以下命令:```chmod 400 文件名```2. 修改目录权限要修改目录的权限,使用chmod命令同样适用。
但与修改文件权限不同的是,在目录权限中有一个特殊权限"执行权限"。
在Linux中,要对一个目录进行读取或写入操作,必须具有执行权限。
例如,要将一个目录的权限设置为所有者可读写,并拒绝其他用户的访问,可以使用以下命令:```chmod 700 目录名```该命令将目录的所有者权限设置为读取、写入和执行,而所属组和其他用户的权限为无。
三、递归修改权限有时候需要对一个目录下的所有文件和子目录进行权限修改,可以使用chmod命令的递归选项-R。
Linux-权限管理(文件权限)

Linux-权限管理(⽂件权限)Linux - 权限管理(⽂件权限)⼀:基本权限1.基本权限介绍基本权限类型类型全拼释义权限位r read可读4w write可写2x execute可执⾏1权限的归属归属字母属主u属组g其他⽤户o2.设置权限修改属主、属组# 修改⽂件:1.txt的属主为:darker 属组为:human[root@localhost ~]# chown darker.human 1.txt# 修改⽂件:1.txt的属主为:darker[root@localhost ~]# chown darker 1.txt# 修改⽂件:1.txt的属组为:human[root@localhost ~]# chown .human 1.txt# 递归修改⽬录:file1的属主为:darker 属组为:human[root@localhost ~]# chown -R darker.human file1修改u、g、o对应的权限# 加减法# 修改⽂件:1.txt的权限为:属主为u 属组为w[root@localhost ~]# chmod u+x,g-w 1.txt# 赋值法# 修改⽂件:1.txt的权限为:所有⽤户为rwx[root@localhost ~]# chmod a=rwx 1.txt# 修改⽂件:1.txt的权限为:-[root@localhost ~]# chmod a=- 1.txt# 修改⽂件:1.txt的权限为:属主属组为rw 其他⽤户为r[root@localhost ~]# chmod ug=rw,o=r 1.txt# 数字# 修改⽂件:1.txt的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 7771.txt# 递归修改⽬录:file1的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 777 file1注意:把某⼀个⾮属主⽤户添加到⽂件的属组⾥,他就拥有了该组的权限,⽽不再是其他⼈权限对⽂件/⽬录的意义⽂件:ls -l ⽂件名权限释义r可以cat读取⽂件内容w可以修改⽂件x 可以执⾏⽂件代码,如果该⽂件的代码是编译好的结果那么只有x权限即可执⾏但如果该⽂件的代码是⼀个解释型的脚本程序则需要配合r权限才可执⾏⽬录:ls -dl ⽂件名权限释义r可以ls浏览⽂件下的内容w可以在⽬录下创建新⽂件or⽬录x 可以执⾏⽬录下的程序,除了对⽬录有执⾏权限外,还要对程序⽂件有执⾏权限才⾏可以正常cd切换到⽬录下涉及到多层⽬录如/a/b/c,需要对每⼀级都有x权限才可以正常⾛到下⼀级对⽂件夹的操作(不操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件夹有r或w权限权限释义r可以浏览w可以创建、删除、移动⼦⽂件和⼦⽬录对⽂件的操作(操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件有r或w权限权限释义r可以读取⽂件内容w可以修改⽂件内容注意点:vim修改的原理是将原⽂件删掉,然后再将内容的内容覆盖写⼊了新⽂件,新⽂件名重命名为原⽂件名验证vim修改的原理# (root⽤户)切换到/usr/local⽬录[root@localhost local]# cd /usr/local# (root⽤户)递归创建test01/dir1⽬录[root@localhost local]# mkdir -p test01/dir1# (root⽤户)递归修改⽬录test01权限为733[root@localhost local]# chmod -R 733 test01# (root⽤户)在test01⽬录下创建1.txt并写⼊内容“123”[root@localhost local]# echo "123" > test01/1.txt# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt123# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:其他⽤户只有(r)读的权限[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 root root 4 Nov 2510:02 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:02:58.471562017 -0500Modify: 2020-11-2510:02:58.471562017 -0500Change: 2020-11-2510:02:58.471562017 -0500Birth: -# 切换到其他⽤户/⽤其他⽤户登录PS C:\Users\Darker> ssh darker@192.168.50.101darker@192.168.50.101's password:[darker@localhost ~]$ whoamidarker# (普通⽤户)⽤vim打开/usr/local/test01⽬录下的1.txt[darker@localhost ~]$ vim /usr/local/test01/1.txt123~~~"/usr/local/test01/1.txt" [readonly] 1L, 4C 1,1 All # [readonly] 只读# 按i进⼊插⼊模式-- INSERT -- W10: Warning: Changing a readonly file# (普通⽤户)修改1.txt的内容,强制保存并退出456Esc:wq!# 回到原来的root⽤户的窗⼝# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt456# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:属主和属主变了[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 darker darker 4 Nov 2510:21 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ darker) Gid: ( 1000/ darker)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:30:54.822530748 -0500Modify: 2020-11-2510:21:17.823541511 -0500Change: 2020-11-2510:21:17.824541511 -0500Birth: -结论vim修改⽂件时:会将原⽂件删除,⽣成新的⽂件,属主和主组会变成修改的那个⽤户和⽤户所在的组⼆:特殊权限权限权限位SUID4SGID2权限权限位SBIT1SUID1.疑问普通⽤户既不是root也不属于root组,因此它对/etc/shadow⽂件没有任何权限(全是---)# 查看/etc/shadow信息[darker@localhost ~]# ll /etc/shadow----------. 1 root root 970 Nov 2407:29 /etc/shadow但是:普通⽤户为何可以⽤passwd直接修改密码?并且修改的是/etc/shadow⽂件,如何实现的?[darker@localhost ~]$ ll `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd这⾥可以看到,本应为rwx的第三个x变成了s,这就是s权限2.s权限的特殊之处SUID权限仅对⼆进制可执⾏⽂件有效(对⽬录⽆效)如果执⾏者对于该⼆进制可执⾏⽂件具有x的权限,执⾏者将具有该⽂件的所有者的权限本权限仅在执⾏该⼆进制可执⾏⽂件的过程中有效3.权限设定的⽅法字母表⽰法chmod u+s 可执⾏⽂件 # 给属主添加s权限chmod u-s 可执⾏⽂件 # 删除属主的s权限数字表⽰法(第1位4表⽰SUID,后3位表⽰普通权限 rwx)chmod 4755可执⾏⽂件 # 添加SUID权限到⼆进制可执⾏⽂件chmod 0xxx ... # 可以删除⽂件的SUID(但是⽆法删除⽬录的SUID)4.实例# (root⽤户)查看which cat[root@localhost ~]# ll `which cat`-rwxr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:没有权限(普通⽤户虽然是r-x,但是⽆法直接查看)[darker@localhost local]$ cat /etc/shadowcat: /etc/shadow: Permission denied# (root⽤户)修改 which cat 权限[root@localhost ~]# chmod u+s `which cat` # 或者 chmod 4755 `which cat`#(root⽤户)再次查看which cat[root@localhost ~]# ll `which cat`-rwsr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:有权限了[darker@localhost local]$ cat /etc/shadowroot:$6$Jvw3z/jmU1ASO4P1$vpTJ5OGEtfBOmIpjyK55k87iQPHXCC3.kKOFW9jkyslqC2DMdN7SZdT/zYRfmQ4hBAQXG6CQ4kKdRQ8eFqChf.::0:99999:7::: bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::...5.上例的⼯作原理环境前提:Linux中有1个⼆进制程序:cat,属组属组都是rootLinux中有⼀个系统⽂件:/etc/shadow,属组属组是: root:root有⼀个普通⽤户:darker普通⽤户:darker 属于其他⽤户,对⼆进制程序:cat 有执⾏(x)的权限普通⽤户:darker 对系统⽂件:/etc/shadow 没有任何权限默认情况下:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程该进程的属主属组是该程序的发起者:darker,也就是: darker:darkercat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:darker:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主属组不匹配,所以被拒绝访问了:Permission denied给⼆进制程序:cat 设置SUID之后:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程执⾏者对于该⼆进制可执⾏⽂件具有 x 的权限,执⾏者将拥有该⽂件的属组的权限该进程属主是程序的发起者:darker,属组是cat原来的:root,属主属组就是:darker:rootcat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:root:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主匹配,可以正常访问SGID1.权限设定的⽅法字母表⽰法chmod g+s ⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod g-s ⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限数字表⽰法(第1位2表⽰SGID,后3位表⽰普通权限 rwx)chmod 2755⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod 0755⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限chmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰[root@localhost ~]# ll 1.txt-rwxr-sr-x. 1 root root 3243 Nov 2515:411.txt3.SGID相关说明作⽤在⼆进制可执⾏⽂件上时:执⾏有SGID权限的程序时,该⽤户将继承该程序的属组权限作⽤在⽬录上时:该⽬录下所有⽤户新建的⽂件都会⾃动继承该⽬录的属组当⼀个⽤户对某⼀⽬录有写和执⾏权限时,该⽤户就可以在该⽬录下建⽴⽂件如果该⽬录同时⽤SGID修饰,则该⽤户在这个⽬录下建⽴的⽂件都是属于这个⽬录的属组4.实例# (root⽤户)切换到/usr/loca/⽬录并创建⽬录:test02[root@localhost ~]# cd /usr/local[root@localhost local]# mkdir test02# (root⽤户)查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-xr-x. 2 root root 6 Nov 2514:19 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:1.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/1.txt[root@localhost local]# ll /usr/local/test02/1.txt-rw-r--r--. 1 root root 0 Nov 2514:19 /usr/local/test02/1.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:2.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/2.txt[darker@localhost ~]$ ll /usr/local/test02/2.txt-rw-rw-r--. 1 darker darker 0 Nov 2514:20 /usr/local/test02/2.txt# (root⽤户)修改⽬录:test02 的权限[root@localhost local]# chmod 2773 test02# (root⽤户)再次查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-sr-x. 2 root root 6 Nov 2514:20 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:3.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/3.txt[root@localhost local]# ll /usr/local/test02/3.txt-rw-r--r--. 1 root root 0 Nov 2514:21 /usr/local/test02/3.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:4.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/4.txt[darker@localhost ~]$ ll /usr/local/test02/4.txt-rw-rw-r--. 1 darker root 0 Nov 2514:21 /usr/local/test02/4.txtSBITSBIT 是the restricted deletion flag or sticky bit的简称,有时也称为Sticky,粘滞位SBIT 与 SUID 和 SGID 的关系并不⼤1.权限设定的⽅法字母表⽰法chmod o+t ⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod o-t ⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Sticky数字表⽰法(第1位1表⽰添加Sticky位,后3位表⽰普通权限 rwx)chmod 1755⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod 0755⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Stickychmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰⽂件other位有x权限,并且⽤t代替了,表⽰被设置了Sticky如果other位没有x权限,会显⽰为⼤写T,表⽰有故障(权限⽆效)[root@localhost local]# ls -dl test03drwxr-xr-t. 2 root root 18 Nov 2514:34 dir013.相关说明对于⼀个多⼈可写的⽬录,如果设置了sticky,则每个⽤户仅能删除和改名⾃⼰的⽂件/⽬录只能作⽤在⽬录上,普通⽂件设置⽆意义,⽽且会被Linux内核忽略⽤户在设置 Sticky 权限的⽬录下新建的⽬录不会⾃动继承Sticky权限4.实例# (root⽤户)切换到 /usr/loca/⽬录[root@localhost ~]# cd /usr/local# (root⽤户)递归创建test03⽬录及2个⼦⽬录dir1和dir2[root@localhost local]# mkdir -p test03/dir{1,2}# (root⽤户)创建2个⽤户:user01、user02[root@localhost local]# useradd user01[root@localhost local]# useradd user02# (root⽤户)分别设置dir1和dir2的属主属组为user01和user02[root@localhost local]# chown -R user01:user01 test03/dir1[root@localhost local]# chown -R user02:user02 test03/dir2# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxr-xr-x. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# (root⽤户)修改⽬录:test03 的权限[root@localhost local]# chmod 1777 test03# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxrwxrwt. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# 切换到普通⽤户:user01[root@localhost local]# su - user01# !测试(普通⽤户)切换到test03⽬录[user01@localhost ~]$ cd /usr/local/test03# !测试(普通⽤户)查看当前⽬录下的信息[user01@localhost test03]$ lltotal 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# !测试(普通⽤户)⽤户user01将dir1重命名为dir11[user01@localhost test03]$ mv dir1 dir11# !测试(普通⽤户)⽤户user01将dir2重命名为dir22[user01@localhost test03]$ mv dir2 dir22mv: cannot move ‘dir2’ to ‘dir22’: Operation not permitted# !测试(普通⽤户)⽤户user01在dir11⽬录中创建⽂件:1.txt[user01@localhost test03]$ touch dir11/1.txt# !测试(普通⽤户)⽤户user01在dir2⽬录中创建⽂件:2.txt[user01@localhost test03]$ touch dir2/2.txttouch: cannot touch ‘dir2/2.txt’: Permission denied5.注意点SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件:⽐较常见的例⼦就是/tmp⽬录权限信息中最后⼀位t表⽰该⽬录被设置了 SBIT 权限SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹(⽬录)三:chattr引⾔你是否遇到过⽂件或⽬录具有可读写权限,但是使⽤root⽤户删除、修改时提⽰"Operation not permitted"的情况?可能是由chattr设置了⽂件的隐藏保护权限导致通过chattr命令修改⽂件或⽬录属性能够提⾼系统的安全性与chmod命令相⽐,chmod只是改变⽂件的读写、执⾏权限,更底层的属性控制是由chattr命令改变的。
LINUX文件权限26页PPT

31.03.2020
河南机电高专计科系
数字形式修改权限
数字形式即由三位八进制数字组成,其命令格 式为:
chmod 八进制模式 文件名 chmod 641 f1 等价于 chmod u+wr,g+r,o+x f1
31.03.2020
河南机电高专计科系
文件的默认权限 umask
[rootlocalhost test]# umask 0022 [rootlocalhost test]# umask -S u=rwx,g=rx,o=rx
分析:
student 在执行 passwd 修改自己的密码时,其修改的密 码,最终是需要保存到 /etc/shadow 这个文件中,而这个 文件的权限是 -r--------,它的拥有者是 root 。在这个权 限中,也只有 root 可以“强制”存储,其他用户连看都不 行。
可偏偏 student 去执行 passwd (/usr/bin/passwd), 却可以更新自己的密码。
31.03.2020
河南机电高专计科系
31.03.2020
河南机电高专计科系
ቤተ መጻሕፍቲ ባይዱ
权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其 他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他 用户。
chmod命令用于更改文件对于某类用户的操作权限
chmod [ugoa...][[+-=][rwx] FILE...
设置权限的对 象,可以是用 户、组、其他 人或所有人
属性操作符 +增加权限 -减少权限 =设置权限为
Linux常用命令(3)--文件管理(查看文件大小权限信息、修改文件所属用户和操作权限、压。。。

Linux常⽤命令(3)--⽂件管理(查看⽂件⼤⼩权限信息、修改⽂件所属⽤户和操作权限、压。
⼀、查看⽂件⼤⼩、⽂件夹⼦⽬录1、查看⽂件系统磁盘⼤⼩、挂载点df :可以查看⼀级⽂件夹⼤⼩(默认单位为:k)、使⽤⽐例、档案系统及其挂⼊点(但对⽂件却⽆能为⼒)。
df -T :显⽰分区的⽂件系统(不带单位,默认为k;结果中包含分区⽂件类型Type)df -h :显⽰⽂件系统的可⽤空间及使⽤情形(采⽤⽤户易读的⽅式)概念解析:挂载点 Linux是树型⽬录结构,Linux只有⼀个根⽬录'/',其余各个⽬录都是基于这个根⽬录发散,就是树形结构。
Linux分区是将某个分区挂到⼀个对应的⽬录上。
例如/home对应⼀块分区,home⽬录就是这块分区的挂载点;/boot对应 虽然硬盘分区表中最多能存储四个分区,但我们实际使⽤时⼀般只分为两个分区,⼀个是主分区(Primary Partion)⼀个是扩展分区(extended partition)两种,主分区可以马上被使⽤但不能再分区,扩展分区必须再进⾏分区后才能使⽤,也就是说它必须还要进⾏⼆次分区。
那么由扩充分区再分下去的是什么呢?它就是逻辑分区(LogicalPartion),况且逻辑分区没有数量上限制。
Linux⽆论有⼏个分区,分给哪⼀⽬录使⽤,它归根结底就只有⼀个根⽬录,⼀个独⽴且唯⼀的⽂件结构。
每个分区都是⽤来组成整个⽂件系统的⼀部分,因为它采⽤了⼀种叫“挂载点”的处理⽅法,它的整个⽂件系统中包含了⼀整套的⽂件和⽬录,且将⼀个分区和⼀个⽬录联系起来。
这时要载⼊的⼀个分区将使它的存储空间在⼀个⽬录下获得。
Linux的分区是不同于其它操作系统的分区,它的分区格式常⽤的有Ext3和Swap两种,Ext3⽤于存放系统⽂件,Swap则作为交换分区(相当于windows中的虚拟内存⽂件)。
推荐阅读:概念解析:tmpfs tmpfs是⼀种虚拟内存⽂件系统,⽽不是块设备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
访问权限
Linux系统中规定了3种不同类型的用户:
文件属主(user) 同组用户(group) 可以访问系统的其他用户(others)
访问权限规定3种访问文件或目录的方式:
读(r) 写(w) 可执行或查找(x)
文件属性
在Linux的命令提示符下,键入命令“ls -l” 可显示当前目录下每个文件的属性信息:
Linux目录结构
目录结构(2/12)
/dev
存放与设备有关的文件,Unix/Linux系统均把设备 当成是文件来看待,例如/dev/sda代表硬盘,而 /dev/mouse则代表光盘。这个目录底下的文件通 常分为两种,分别是管理磁盘 I/O的块文件和串行 设备的字符文件。
/etc
这个目录是linux系统中最重要的目录之一。在这个 目录下存放了系统管理时要用到的各种配置文件和 子目录。我们要用到的网络配置文件,文件系统, x系统配置文件,设备配置信息,设置用户信息等 都在这个目录下。
Linux目录结构
目录结构(3/12)
/home
这是系统默认的用户家目录(home directory),新增 用户时默认会在/home下建立与用户名同名的子目 录。如果建立一个用户,用户名是“tom”,那么在 /home目录下就有一个对应的/home/tom路径,用 来存放用户的主目录。
/lib
改变文件权限-数字法
用于改变或设置文件或目录的访问权限。 格式:chmod[-R]xyz 文件或目录名 xyz分别为三组rwx属性数值的和 选项:
-R:对目前目录下的所有文件与子目录进行相同的权限变更 (即以递归式的方式逐个变更)
说明:只有文件属主或超级用户root才有权用chmod改变 文件或目录的访问权限
放置一般源码。内核源码的默认目录则是 /usr/src/kernels.
• /usr/X11R6
放置X Window系统文件的目录,一般包括lib和 bin两个子目录
Linux目录结构
目录结构(12/12)
/var
用于存储各种快速增长或者变化的东西。 • /var/log:放置所有服务的登录文件或者错误日志 • /var/spool/mail 或/var/mail :用户未读邮件默认存放地点是 • /var/lib:程序本身执行过程中,需要使用到的数据文件。 • /var/lock:解决冲突 • /var/spool:放置队列数据,“队列”是等待其他程序使用的数据。 • /var/run:某些程序或者服务启动后,将她们的pid放置这个目录下 • /var/cache:程序本身运行过程中产生的一些暂存文件
改变文件或目录的所属组。 格式:chgrp [-R] 组名 文件名 选项:
-R 递归式地改变指定目录及其下面的所有子目录 和文件的用户组
说明:
如果用户不是该文件的文件主或超级用户,则不能 改变该文件或目录的所属组 chown可以同时改变文件拥有者和所属组,chgrp 只具有改变所属组的功能
lib是库(library)英文缩写,系统使用的函数库的 目录。程序在运行过程中,可能会调用一些额外 的参数,这需要函数库的支持,这些函数库就存 在此处。
Linux目录结构
目录结构(4/12)
/media
• 放置可删除设备,软盘、光盘、dvd等设备的挂载目录。通 常软盘挂在/ media /floppy下,而光盘挂在/ media /cdrom 下。
• /usr/share/man
放置一些程序的说明文件的地方,就是使用man的时候, 会去查询的路径。例如你使用man ls这个指令时,就会 查出/usr/share/man/man1/ls.1.bz2(也可能是ls.1.gz) 这个说明文件的内容。
Linux目录结构
目录结构(11/12) • /usr/src
读权限(r)表示可以查询存储在该目录下的文件, 即读目录内容 写权限(w):可以更改该目录结构列表
– – – – 建立新的文件与目录 删除已经存在的文件与目录(不管该文件是属于谁的) 重命名已经存在的文件或目录 移动该目录内的文件、目录位置
执行权限(x)表示能用cd命令将工作目录切换到 该目录
文件权限
所有者 所属用户组 其他人
-rwxrwx-- 读权限(r)表示只允许指定用户读取相应文件的 内容,禁止对它做任何的更改操作; 写权限(w)表示允许指定用户打开并修改文件 内容; 执行权限(x)表示允许指定用户将该文件作为一 个程序执行; [-]代表无此属性。
文件权限
问题1:若有一个文件的属性为“-rwxr-xr--”,那 么代表什么意思?
Linux目录结构
目录结构(6/12)
/srv
• 启动网络服务后,这些服务所需要取用的数据目 录。例:www服务需要的网页文件存在/srv/www 里面。
/tmp
存放临时文件的地方,所有的用户都可以使用。一 般要定期清理,重要的数据也不要放到这个目录 下面。
Linux目录结构
目录结构(7/12)
目录结构(8/12)
/usr(unix software resource)
非常重要的一个目录,存放应用程序与命令,类似 于Windows的“Program Files”, 是linux系统中占用 硬盘空间最大的目录。 放置系统默认的软件,即系统安装套件中提供的软 件。 • /usr/include
第6章 Linux的文件权限与目录配置
学习目标
了解用户与用户组 掌握Linux中的文件类型 掌握Linux中文件和目录的属性意义 掌握如何更改Linux中文件权限 掌握Linux的目录配置
用户与用户组
用户
一定资源的使用者,可以创建和管理文件以及访 问其他用户文件
用户组
改变文件权限-字符法
chmod命令用于更改某类用户对于文件的操作权限 chmod [ugoa...][+-=][rwx] FILE...
设置权限的对 象,可以是用 户、组、其他 人或所有人 属性操作符 +增加权限 -减少权限 被设置属性的 文件或目录 权限内容,可以 是读、写、执行 权限的组合
=设置权限为
/proc
• 用于放置系统核心与执行程序所需的一些信息。这个目录 将在启动的时候自动的被挂上,而且该目录底下不会占去 硬盘空间!因为这个目录里面的数据都在内存中。
/lost+found /sys
• 作用与/proc 类似。
• 文件系统发生错误时,将一些丢失的片段放到这个目录下。
Linux目录结构
由一定数量的对某些文件具有相同操作权限的用 户组成的小组
其他人
root
用户与群组
一个用户可以从属于多个群组 一个群组可以拥有多个用户 root用户是超级管理员
权限控制机制
Linux系统是个多用户系统,能做到不同的用户能同时访 问不同的文件,因此一定要有文件权限控制机制。 Linux系统的权限控制机制和Windows的权限控制机制有 着很大的差别 Linux的文件或目录被一个用户拥有时,这个用户称为 文件的拥有者(或属主); 同时文件还被指定的用户组所拥有,这个用户组称为 文件所属组; 文件的权限由权限标志来决定,权限标志决定了文件 的拥有者、文件的所属组、其他用户对文件访问的权 限。
文件属性
文件的类型与权限 硬链接数量 所有者 所属用户组 文件大小 创建/修改日期 文件名称
文件类型
-rwxrwx--第一个字符代表这个文件的类型:
[-]普通文件
• 纯文本文件(数字、字母) • 二进制文件 (ls)
[d]目录文件 [l] 软链接文件:类似于windows下面的快捷方式 [b]块(block)设备文件:存储设备 [c]字符(character)设备文件:串行口设备,键 盘、鼠标、终端
程序用到的头文件,通常在编译时需要。
Linux目录结构
目录结构(9/12)
• /usr/lib 应用程序需要的函数库。 • /usr/local 新安装的软件以及升级后的软件默认安装目录。
Linux目录结构
目录结构(10/12)
• /usr/share/doc
放置一些系统说明文件的地方,例如如果安装了grub,那 么其下必然有grub相关的目录,从中可以找到说明文档 。
/mnt
• 这个目录在一般情况下也是空的。可以临时将别的文件系 统挂在这个目录下。
/opt
• 第三方软件放置的目录 • 其他非安装套件提供的软件安装在/usr/local目录下
Linux目录结构
目录结构(5/12)
/root
系用的程序,例如:fdisk, mke2fs,fsck, mkswap, mount等。与/bin不太一样的地方,这个目 录下的程序通常是给root等系统管理员使用的程序
目录结构(1/12)
/ 根目录root /bin bin 就是二进制(binary)英文缩写,是存放 用户可执行的二进制文件的目录。这里存放例如 ls, mv, rm, mkdir, rmdir, gzip, tar, telnet及ftp等等 常用的执行文件。 /boot
这是放置Linux内核与启动相关文件的地方,这个 目录底下的vmlinuz-xxx就是Linux的Kernel。如果 引导加载程序选择grub的话,那么这个目录内还 有/boot/grub这个子目录。
chown命令
改变某个文件或目录的拥有者和所属的组 格式:chown [-R]用户:组 文件名 选项:
-R 递归式地改变指定目录及其所有子目录、 文件的文件主
说明:
只有文件主和超级用户才可以使用该命令 同时改变文件主和文件所属的组时,用户名和 用户组名用冒号或点分开
chgrp命令
文件访问权限