IT评测·应用市场-qidao123.com

标题: Linux 中文件的权限阐明 [打印本页]

作者: 三尺非寒    时间: 2024-12-1 16:35
标题: Linux 中文件的权限阐明
一:文件权限类型

Linux中文件的权限可以大致分为默认权限、平凡权限和特殊权限三大类;

二:默认权限管理

Linux中创建文件的默认权限是由umask的值决定,而且另有个特点就是root用户的umask值宁静凡用户的umask值不一样;
1. 查看当前用户的umask值

umask的值是三位八进制数字,它表示需要去掉的权限。最前面的0表示这是一个八进制数。
  1. # 在终端输入 umask 可以查看当前的 umask 值
  2. ehigh@ubuntu:~$ umask
  3. 0002
  4. root@ubuntu:~# umask
  5. 0022
复制代码
2. 修改当前用户的umask值

命令行修改umsk只会临时见效,系统重启后就失效了。
例如
  1. umask  026
复制代码
3. 根据umask盘算默认权限


例如:umask为0002,文件的默认权限为:
  1. 666 - 002 = 644
复制代码
  文件默认权限基准值是666 是因为文件一般不需要可执行权限;
目次默认权限基准值是777 是因为目次需要“执行”权限才气进入和列出内容;
盘算非目次文件权限时,如果结果是奇数阐明具有执行权限,+1可以去掉其执行权限;
  三:平凡权限管理

1. 三种平凡权限阐明

1.1 对于非目次文件来说


1.2 对于目次文件来说


   目次的最小权限是执行权限,既对于一个目次来说,必须要保证有执行权限,因为目次是一种特殊的文件类型,用于存储其他文件和目次。对于一个目次来说,必须拥有执行权限才气进入这个目次。不然连目次都没法进入。
  2. 查看某个文件的权限信息

2.1 利用 ls -l

  1. root@ubuntu:/home/ehigh# ls -l time_stamp.log
  2. -rw-r--r-- 1 root root 11 10月 16 19:05 time_stamp.log
复制代码
2.2 利用 stat

  1. root@ubuntu:/home/ehigh# stat time_stamp.log
  2.   File: time_stamp.log
  3.   Size: 11                Blocks: 8          IO Block: 4096   regular file
  4. Device: 801h/2049d        Inode: 8936463     Links: 1
  5. Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  6. Access: 2024-09-26 09:59:52.000000000 +0800
  7. Modify: 2024-10-16 19:08:20.824239766 +0800
  8. Change: 2024-10-16 19:08:20.824239766 +0800
  9. Birth: -
复制代码
3. 修改某个文件的权限信息

通过chmod命令可以修改某个文件的权限信息,chmod有两种格式,字符格式和数字格式。
3.1 chmod 的符号模式

符号模式:用一个字符来表示某个权限,通过+、-、=符号来确认是增加权限还是去除权限。
表示用户:

执行的利用:

权限类型:

例如:
  1. # 给文件所有者增加可执行权限
  2. chmod u+x file_name
  3. # 给所有用户(所有者、所属组、其它用户)增加可执行权限
  4. chmod a+x file_name
  5. # 去除其它用户的r权限
  6. chmod o-r file_name
  7. # 给文件所有者重新赋予权限
  8. chmod a=rxw  file_name
复制代码
3.2 chmod 的数字模式

数字模式由 三个八进制数字构成 ,从左到第一个数字代表文件所有者权限,第二个数字表示文件所属组权限,第三个数字表示其他用户权限。
类别的权限(属主、组用户、其他用户)都是通过这些数字的组合来表示

例如
  1. # 表示给所有者、所属组和其他用户都授予读写执行权限  7=4+2+1 表示具有读写执行权限
  2. chmod 777 file_name
复制代码
四:特殊权限管理

1. 三种特殊权限阐明

1.1 SUID 权限


1.2 SGID 权限


1.3 Sticky Bit



例如:passwd命令设置有SUID权限:
平凡用户利用 passwd 命令修改本身的暗码时,需要访问 /etc/shadow 文件,但是该文件只有 root 用户才有权限访问。

为了允许平凡用户修改本身的暗码,passwd 程序需要拥有 SUID 权限,这样平凡用户在运行 passwd 程序时,就会暂时获得 root 用户的权限,可以访问 /etc/shadow 文件并修改本身的暗码。


例如:temp目次设置有 Sticky Bit 权限


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4