第七章 Linux文件夹及权限

第七章Linux文件夹及权限

我们将要学习:

1 . Linux  下目录文件

2 .  目录文件的权限

3 . umask

4 .系统默认根目录的文件夹

 chmod 1777 /tmp  相当于 chmod o+t 

  1就是sticky黏贴位,1就是代表粘性位, ls -l命令显示的时候,会用t来表示,创建文件的用户或者root用户才可以删除该文件


扫描二维码关注公众号,回复: 1834109 查看本文章

同样对,rwx、s/S,t/T进行一个解释:

1.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
2.w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
3.x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
4.s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
5.t或T(Sticky):/ tmp和 /var/ tmp目录供所有用户暂时存取文件,所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用

 

系统默认的文件夹一般的都是755权限

对于文件夹来说x执行权限最重要

x 可以 cd

rx 可以 cd  ls

wx 可以 cd  touch rm  vi改写自己与别人的文件

wxt 可以 cd  touch rm只能删除自己创建的文件  vi只能改写自己创建的文件

[root@localhost lianxi-linux]# ls -ld /tmp/

drwxrwxrwt. 22 root root 4096 Jun 28 09:42/tmp/

1777: drwxrwxrwt            /tmp
0777: drwxrwxrwx             /tmp
t
属性就是创建这个文件的用户才能访问其他用户不允许访问

s权限是很危险的操作程序一旦拥有s权限也就是相关组和其他的一般用户都可以拥有ROOT的权利操作
   
比如/bin/passwd就是这样的文件 
     
也就是说每个用户可以修改自己的密码

设置s u i d /    g u i d

命令                           结果                                            含义

chmod4755           -rwsr-xr-x                suid、文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限

chmod6711           -rws--s--x                suidsgid、文件属主具有读、写和执行的权限,所有其他用户具有执行的权限

chmod4511           -rwS--x—x              suid、文件属主具有读、写的权限,所有其他用户具有执行的权限

上面的表中有具有这样权限的文件:rwS --x -- x,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置可以忽略它的存在。

注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但 chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。

用户可以用chmod指令来为文件设置强制位与冒险位。

–set uidchmod u+s 文件名

–set gidchmod g+s 文件名

–stickychmod o+t 文件名

强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。

–4(set uid)

–2(set gid)

–1(sticky)

=============================================文章二:

目录也是一种文件 []

目录上的读写执行权限与普通文件有所不同:

读:用户可以读取目录内的文件

写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。

执行:用户可以进入目录,调用目录内的资料

*** 除了读写执行权限以外,ext2ext3文件系统还支持强制位(setuid setgid)与冒险位(sticky)的特别权限。

*** 针对ugo,分别有set uidset gid,及sticky

*** 强制位与冒险位添加在执行权限的位置上。

如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。

*** set uidset gidugx位置上各采用一个ssticky使用一个t

***

*** 默认情况下,用户建立的文件属于用户当前所在的组。

*** 目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。

***

*** 默认情况下,如果一个目录上有wx权限,则任何人可以在此目录中建立与删除文件。

*** 一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。

*** 在可执行文件上,用户可以添加set uidset gid

*** 默认情况下,用户执行一个指令,会以该用户的身份来运行进程。

*** 指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。

*** 用户可以用chmod指令来为文件设置强制位与冒险位。

– set uidchmod u+s 文件名

– set gidchmod g+s 文件名

– stickychmod o+t 文件名

*** 强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。

– 4(set uid)

– 2(set gid)

– 1(sticky)

设置s u i d / g u id

命令结果含义

chmod 4755 -rwsr-xr-x suid、文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限

chmod 6711 -rws--s--x suidsgid、文件属主具有读、写和执行的权限,所有其他用户具有执行的权限

chmod 4511 -rwS--x—x suid、文件属主具有读、写的权限,所有其他用户具有执行的权限

上面的表中有具有这样权限的文件:rwS --x -- x,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置可以忽略它的存在。

注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但 chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。

关于Linux下粘贴位(sticky)

要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。

如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在文件上起不到什么作用。

在一个目录上设了sticky位后,(如/home,权限为1777)所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用。

4、umask值

? 每个用户建立文件时,此文件都会有默认权限

?  默认权限的值由环境中的umask值来确定

?  用户可以自主改动umask值,并在改动后建立的文件上得到体现值,

?  一般用户的默认umak 值为002,系统用户的默认umask值为022。

umask 中各个数字最大可以到 7。

666 - umask 值= 实际文件的权限

777 - umask 值= 文件夹的权限

对普通用户而言,其 umask 值为 002,即其建立起来的普通文件默认权限为 664,目录权限为 775。

超级用户的 umask 值为 022,即建立普通文件默认权限为 644,目录权限为 755。

[root@localhost lianxi-linux]# ls /

bin  dev  home  lib64 mnt  proc  run  srv  tmp  var

boot etc  lib   media opt  root  sbin sys  usr

bin下面放的可执行文件是所以人都可以访问的可执行文件

sbin 里面放的是系统管理员的可执行文件

usr 用户自己装的软件的目录,对系统来说可有可无

dev 设备文件

home 用户主目录

lib 动态库      lib/modules  内核模块

boot/vmlimuz----内核

var 变量,可变东西,日志,邮件

boot  kernel  grub(引导)

opt 装第三方软件

sys  硬件信息

目录  说明

/boot 存放系统启动时的内核文件,模块映像等,包括 kernel grub

/bin 普通用户可执行的命令的文件夹另一部分放在 /usr/bin

/etc 存放系统配置目录及文件

/dev 存放设备文件

/home 存放普通用户主目录

/lib 存放库文件,例如内核模块,驱动 pam 模块等

/initrd 使用 RAM Disk 方式启动用户挂载 RAM 设备的文件夹

/misc Autofs 的主目录

/mnt 提供安装额外文件系统时后的安装目录

/opt 用来安装给所有用户使用的文件或程序

/proc 是系统内核映像,该目录的文件系统叫做 proc 文件系统

/lost+found Ext3 文件系统中存放丢失 block 的地方

/root 超级用户 root 的缺省主目录

/sbin 给超级用户管理系统时使用的命令如 fsck 等

/tmp 存放临时文件

/usr  存放应用程序文件,占用磁盘空间最大的目录

/var 存放系统中经常变化的文件如 log mail cron 等


猜你喜欢

转载自blog.csdn.net/i_love_xiao/article/details/80841492