您的位置:

Linux文件夹权限管理

一、权限基础

在Linux中,每个文件和文件夹都拥有自己的所有者、组和权限。权限是用来控制对文件和文件夹的访问的。权限分为三种类型:读取权限、写入权限和执行权限,分别对应的是r、w和x。

不同的用户或用户组对同一文件或文件夹可能会有不同的权限。

例如,以下命令将文件夹test的所有权赋予用户webadmin,同时删除其他所有用户的权限,对于目录test里的文件,每个用户只有读取和执行的权限,webadmin有读取、写入和执行的权限。

chown webadmin test
chmod -R 755 test

二、权限的数字表示

Linux中,权限可以用数字表示。r对应4,w对应2,x对应1。将数字相加便可表示出不同的权限组合。

例如,数字7代表权限为rwx。

将数字表示权限的命令如下:

chmod 777 test

三、修改文件夹权限

用户对文件夹的权限可以通过命令chmod改变。

以下命令将文件夹test的所有权赋予用户webadmin,同时删除其他所有用户的权限,对于目录test里的文件,每个用户只有读取和执行的权限,webadmin有读取、写入和执行的权限。

chown webadmin test
chmod -R 755 test

四、查看文件夹权限

用户对文件夹的权限可以通过命令ls -l查看。

以下命令将查看文件夹test的权限:

ls -l test

五、特殊权限

除了三种基本权限外,还有三个特殊的权限:setuid、setgid和sticky bit。

setuid权限可以让一个程序在执行时获取文件所有者的权限。

setgid权限可以让文件和文件夹的组权限继承自父文件夹。

sticky bit权限可以防止文件被误删。

下面的命令将test文件夹的sticky bit权限设置为on:

chmod +t test

六、用户组

用户组是指具有相同权限的一批用户的集合。可以使用Groupadd命令添加一个新的用户组。例如:

groupadd developers

可以通过以下命令将用户添加到用户组:

usermod -a -G developers user1

七、文件夹的默认权限

在Linux中,可以为新建的文件夹设置默认的权限。这样,每当用户在该文件夹下创建新的文件夹时,它们就会继承相应的默认权限。

以下命令将文件夹test的默认权限设置为755:

chmod g+rws,o-rwx test
setfacl -d -m g::rwx test

八、使用ACLs进行高级权限管理

ACLs是一种高级权限系统,可以为文件和文件夹指定更加灵活和细致的权限设置。ACLs允许用户详细指定每个用户和用户组的访问权限,并可以具体指定哪种用户拥有哪些权限。

setfacl -m u:user1:rwx /var/www
setfacl -m g:developers:rwx /var/www
setfacl -m m:user1:rwx /var/www

上述命令将为/var/www文件夹指定了一些ACLs规则。