HCRM博客

CentOS系统中如何更改文件权限?

CentOS文件权限详解

一、文件权限的概念

CentOS系统中如何更改文件权限?-图1
(图片来源网络,侵权删除)

在Linux系统中,每个文件和目录都有相应的权限设置,这些权限决定了哪些用户或用户组可以对文件进行读取、写入或执行操作,文件权限分为三类:读权限(r)、写权限(w)和执行权限(x),这些权限可以分别设置给文件的所有者、所属组和其他用户。

二、文件权限的组成部分

文件类型与权限

文件类型字符:表示文件的类型,如“”表示普通文件,“d”表示目录,“l”表示符号链接等。

权限字符串:由十个字符组成,第一个字符为文件类型,接下来的九个字符分为三组,每组三个字符,分别表示文件所有者、所属组和其他用户的权限。

权限字符示例

r:读权限

w:写权限

CentOS系统中如何更改文件权限?-图2
(图片来源网络,侵权删除)

x:执行权限

权限字符串rwxrxr表示一个普通文件,所有者具有读、写和执行权限,用户组具有读和执行权限,其他用户只有读权限。

数字表示法

每组权限用一个三位数表示,分别代表所有者、用户组和其他用户的权限。

读(r)=4

写(w)=2

执行(x)=1

CentOS系统中如何更改文件权限?-图3
(图片来源网络,侵权删除)

权限字符串rwxrxr对应的数字表示为754

所有者(u)的权限是rwx,即4+2+1=7

用户组(g)的权限是rx,即4+0+1=5

其他用户(o)的权限是r,即4+0+0=4

三、查看文件权限

使用ls l命令可以查看文件和目录的详细信息,包括权限、所有者、文件大小和修改日期等。

[root@centos ~]# ls al
总用量 36
drwx 4 root root 4096 8月  28 17:11 .
drwxrxrx 23 root root 4096 6月  20 10:32 ..
rw 1 root root 5243 8月  30 10:16 .bash_history
rwrr 1 root root 3106 10月 23 2015 .bashrc
drwx 2 root root 4096 6月  17 11:34 .cache
rwrr 1 root root 148  8月  17 10:15 .profile
drwxrxrx  2 root root 4096 7月  6 15:18 .ssh
rw 1 root root 3624 8月  28 17:11 .viminfo

四、修改文件权限

使用chmod命令可以修改文件的权限,命令格式如下:

chmod [who][+||=][mode] 文件名

who:操作对象,可以是u(用户)、g(组)、o(其他)或a(所有)。

+:添加某个权限。

:取消某个权限。

=:赋予给定权限并取消其他所有权限。

mode:所表示的权限可用以下字母的任意组合:r(可读)、w(可写)、x(可执行)。

举例说明

给当前用户添加执行权限

    chmod u+x a.txt

移除文件所属组的写权限

    chmod gw filename

设置其他用户只有读权限

    chmod o=r filename

使用数字表示法设置权限

    chmod 644 filename # 所有者读写,组和其他用户只读

五、特殊权限

SUID(Set User ID)

当文件设置了SUID位时,任何用户执行该文件时,都会以文件所有者的身份运行,这通常用于需要提升权限的操作,设置方法如下:

chmod u+s filename

2. SGID(Set Group ID)

与SUID类似,SGID作用于目录时,任何在该目录下创建的新文件都会继承该目录的组,设置方法如下:

chmod g+s directoryname

Sticky Bit

Sticky Bit通常用于目录,以确保只有文件的所有者或目录的所有者才能删除该目录下的文件,设置方法如下:

chmod +t directoryname

六、更改文件所有者和所属组

修改文件所有者

使用chown命令可以修改文件的所有者,将文件myfile的所有者更改为newuser

chown newuser myfile

如果需要同时更改所有者和所属组,可以使用冒号分隔:

chown newuser:newgroup myfile

修改文件所属组

使用chgrp命令可以修改文件的所属组,将文件myfile的所属组更改为newgroup

chgrp newgroup myfile

七、文件默认权限

在Linux中,每个用户都有一个umask值,它决定了新创建文件的默认权限,使用umask命令可以查看或设置当前用户的umask值。

umask 022

上述命令表示新创建的文件默认权限为755(即所有者读写执行,组和其他人读写)。

八、ACL访问控制列表(Access Control Lists)

ACL是一种更细粒度的权限控制机制,允许为特定用户或组设置特定的权限,CentOS 7支持ACL,但默认情况下可能未启用,启用方法如下:

mount o remount,acl /mount_point

设置ACL的方法如下:

setfacl m u:username:permissions file
setfacl m g:groupname:permissions file
setfacl m d:username:permissions directory

查看ACL的方法如下:

getfacl file

九、归纳

通过本文的介绍,读者应该对CentOS中的文件权限管理有了更深入的了解,正确的文件权限设置能够保护系统的安全性,防止未授权访问和数据泄露,在实际使用中,建议根据实际需求合理设置文件权限,并定期检查和更新权限设置,以确保系统的安全性。

分享:
扫描分享到社交APP
上一篇
下一篇