千家信息网

Linux怎么更改文件及目录权限

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要讲解了"Linux怎么更改文件及目录权限",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux怎么更改文件及目录权限"吧!1. 快速实例
千家信息网最后更新 2024年11月19日Linux怎么更改文件及目录权限

这篇文章主要讲解了"Linux怎么更改文件及目录权限",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux怎么更改文件及目录权限"吧!

1. 快速实例学习:

修改某个目录下的所有文件的权限,包括子目录中的文件,例子如下:

# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

其中,参数-R表示启动递归处理

2. chmod命令解析:

chmod 用3个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限:

  如:chmod 777 /test

  数字7是表达同时具有读,写,执行权限:读取--用数字4表示;

                     写入--用数字2表示;

                     执行--用数字1表示;

  按照规则,如你想设置/test目录的权限为:

    对用户可读可写:4(读取)+ 2(写入)= 6 ;

    对用户组可读可执行:4(读取)+ 1(执行)= 5 ;

    对其他用户仅可读:4(读取);

  这样就可以用命令:

    chmod 654 /test

3. 权限解析:

针对文件的三种权限:

   读文件内容(r),写数据到文件(w),作为命令执行文件(x)

针对目录的三种权限:

   读包含在目录中的文件名称(r);

   写信息到目录中去(增加和删除索引点的连结,w);

   搜索目录(能用该目录名称作为路径名去访问它所包含的文件和子目录);

具体说明:

  1. 有只读权限的用户不能用cd进入该目录:还必须有执行权限才能进入;

  2. 有执行权限的用户只有在知道文件名,并拥有读权利的情况下才可以访问目录下的文件;

  3. 必须有读和执行权限才可以ls列出目录清单,或使用cd命令进入目录;

  4. 有目录的写权限,可以创建、删除或修改目录下的任何文件或子目录,即使使该文件或子目录属于其他用户也是如此;

几种常用权限实例:

  -rw------- (600) 只有所有者才有读和写的权限

  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

  -rwx------ (700) 只有所有者才有读,写,执行的权限

  -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

  -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

  -rw-rw-rw- (666) 每个人都有读写的权限

  -rwxrwxrwx (777) 每个人都有读写和执行的权限

4. 特殊权限:

特殊权限有三种:--s--s--t;

  所有人s权限:称为Set UID,简称为SUID的特殊权限;即当执行该文件时将具有该文件所有者的权限。

  所在组s权限:称为Set GID,简称为SGID的特殊权限;即在该目录下建立的目录和文件都属于固定的组。

  最后的t权限:称为Sticky Bit,简称为SBIT权限,只针对目录有效。它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件。

特殊权限赋予与取消:

1. Set UID

# chmod u+s home/usr01/test
# chmod u-s home/usr01/test

2. Set GID

# chmod g+s home/usr01/test
# chmod g-s home/usr01/test

3. Sticky Bit

# chmod o+t home/usr01/test
# chmod o-t home/usr01/test

或者:

# chmod 0755 home/usr01/test

  0755最前面的0表示不使用任何特殊权限,该位上的数字可以是:

    0(---);1(--t);2(-s-);3(-st);4(s--);5(s-t);6(ss-);7(sst);

系统是这样规定的, 假如本来在该位上有x, 则这些特别标志 (suid, sgid, sticky) 显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T) 。

另外:chmod 777 abc

   chmod +t abc

等价于

   chmod 1777 abc

感谢各位的阅读,以上就是"Linux怎么更改文件及目录权限"的内容了,经过本文的学习后,相信大家对Linux怎么更改文件及目录权限这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0