导航:首页 > 编程系统 > linux系统文件递归权限

linux系统文件递归权限

发布时间:2023-02-26 07:26:30

A. linux setfacl 可以只取消acl的默认权限,或递归权限 其他的权限不动吗

可以啊,抄自己配就可以了,结合用
1.删除ACL权限
setfacl -x u:用户名 文件
删除指定用户的ACL 权限
setfacl -x g:组名 文件名
删除指定组的ACL权限
setfacl -b 文件名
删除文件下所有的ACL权限
2.递归 ACL权限 (针对 目录现有的文件设置ACL)

递归:父目录有,子目录就有
setfacl -m u:用户名:权限 -R 文件名
3. 默认ACL权限 (针对 目录以后的文件设置ACL)

如果给父目录设置了ACL权限,那么在父目录中创建的新文件也会继承父目录的ACL权限
setfacl -m d:u:用户:权限名 文件名

B. 如何在Linux中管理文件和文件夹的权限

命令行:文件权限
改动文件权限和所有权的两个命令如下:
chmod - 更改权限
chown - 更改所有权
上面两个命令用起来都不难。不过你要明白,只有用户是当前所有者或根用户,才能够实际更改文件的权限或所有权,这一点很重要。所以,如果你是用户Bethany,要是不借助根权限(或sudo),就无法对用户Jacob拥有的文件和文件夹进行更改。比如说:
数据分区上创建了一个新的文件夹,名为/DATA/SHARE。Bethany和Jacob这两个用户都需要拥有读取和写入该文件夹的访问权限。有许多方法可以实现这一点(其中一个方法是,把两个用户加入到一个特殊的用户组――我们会在另一篇文章中探讨如何管理用户组)。如果Bethany和Jacob是系统上的唯一两个用户(而且你知道自己的网络很安全――这很重要),就可以更改该文件夹的权限,为他们授予访问权。为此,一个方法就是执行该命令。
sudo chmod -R ugo+rw /DATA/SHARE

上面这个命令的详细分解如下:
sudo - 这用于为使用sudo的任何系统上的命令获得管理员权限(不然你就得使用'su'以获得根权限,运行不带'sudo'的上面这个命令)
chmod - 改动权限的命令
-R - 这改动父文件夹及其里面子对象的权限
ugo+rw - 这为User(用户)、Group(用户组)及Other(其他对象)授予读取和写入访问权限。
你可能也猜测到了,这个命令完全开放了SHARE文件夹的权限,那样系统上的任何人都能访问该文件夹。正如我在前面提到的那样,一种更安全的方法就是使用用户组。但我们使用这种方法仅仅是为了演示。
权限的详细分解如下:
u - 用户
g - 用户组
o - 其他对象
"其他对象"这个条目是个危险的条目,因为它实际上为每个人赋予了文件夹/文件的权限。你为某文件或文件夹所能赋予的权限如下:
r - 读取
w- 写入
x - 执行
使用-R这个参数选项符很重要。如果你在SHARE目录里面有许多子文件夹和文件,又希望权限从父对象(包含文件夹)应用到子对象(子文件夹和文件),就必须使用-R(递归)这个参数选项符,那样同样的权限就可以一路应用到父文件夹里面包含的最深层文件夹。
命令行:文件所有权
更改文件或文件夹的所有权同样很简单。假设Jacob为Bethany把一个文件夹移入到SHARE目录里面,但是Jacob仍拥有所有权。只要借助一个简单的命令,就可以更改这个所有权:
sudo chown -R bethany /DATA/SHARE

让我们详细分解这个命令。
sudo - 必须用到管理员权限,因为我们所处理的是属于另一个用户的文件夹
chown - 更改所有权的命令·-R - 这个递归参数选项符确保所有子对象都获得同样的所有权变更。
bethany - 文件夹的新所有者
/DATA/SHARE - 所要修改的目录
要是Bethany将文件夹发回给Jacob,就需要再次更改所有权(如果使用用户组,同样可以简化这一步)。
GUI:用户权限
我准备在Ubuntu 13.10系统上,使用Nautilus文件管理器,演示如何更改文件权限。
假设你需要允许每个人都获得读取/写入文件夹TEST的权限。为此,在Nautilus文件管理器里面,采取下面这些步骤:
1.打开Nautilus
2.浏览至目标文件或目标文件夹
3.鼠标右击该文件或文件夹
4.选择Properties(属性)
5.点击Permissions(权限)选项卡
6.点击Others(其他)部分中的Access files(访问文件)
7.选择"Create and delete files"(创建并删除文件)
8.点击Change Permissions for Enclosed Files(更改所附文件的权限)
9.在随后弹出的窗口中,选择Files(文件)下的Read and Write(读取和写入),选择Folders(文件夹)下的Create and delete files(创建并删除文件),见图A。
10.点击Change(更改)。
11.点击Close(关闭)。

如果你需要更改不属于你的文件夹的权限,戏法就会出现。可以实现这一幕,但必须在拥有管理员访问权的前提下启动Nautilus。为此,采取下面这些步骤:
1.打开终端窗口
2.执行命令sudo -i
3.执行命令nautilus
sudo -i命令为你赋予了持久访问sudo的权限,直到你输入exit命令,清除该访问权。一旦Nautilus打开,你可以更改文件夹或文件的权限,如上所述――即便你不是该文件夹或文件的所有者。
注意:如果你所使用的发行版并不使用sudo,就要把上述指令改成如下:
1.打开终端窗口
2.执行命令su
3.键入你的根密码,按回车键
4.执行命令nautilus。
在你完成这项任务之后,关闭Nautilus窗口,然后关闭终端窗口。
GUI:更改所有权
更改文件或文件夹的所有权常常需要使用管理员权限。所以为此,你需要采用上面介绍的方法来启动Nautilus。
想借助Nautilus更改文件夹或文件的所有权,请采取下面这些步骤:
1.在借助管理员权限打开的Nautilus窗口中,找到相应的文件夹或文件
2.鼠标右击该文件夹(或文件)
3.点击Permissions(权限)选项卡
4.从Owner(所有者)下拉框中选择新的所有者(见下图)
5.点击Close(关闭)。

就是这样。现在,你借助命令行或GUI,更改文件或文件夹的权限或所有权时应该不会有任何问题了。使用用户组让你可以更改权限和所有权,却拥有更强大的功能和更高的安全性――我们以后会介绍这方面。现在,请享受更改文件和文件夹的便利吧!

C. Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

权限简介

Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。

Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。

Linux下权限的粒度有

拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,

如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

Linux上通常使用chmod命令对文件的权限进行设置和更改。

一、快速入门

更改文件权限 (chmod命令)

一般使用格式

chmod [可选项]

可选项:  -c, --changes          like verbose but report onlywhena change is made (若该档案权限确实已经更改,才显示其更改动作)  -f, --silent, --quiet  suppress most error messages(若该档案权限无法被更改也不要显示错误讯息)  -v, --verbose          output a diagnosticforevery file processed(显示权限变更的详细资料)      --no-preserve-rootdonottreat'/'specially (the default)      --preserve-root    fail to operate recursively on'/'      --reference=RFILE  use RFILE's mode instead of MODE values-R, --recursive        change files and directories recursively(以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)--help显示此帮助信息--version显示版本信息mode :权限设定字串,详细格式如下 :[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]

+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。[rwxX]

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

file...文件列表(单个或者多个文件、文件夹)

范例:

设置所有用户可读取文件 a.conf

设置 c.sh 只有 拥有者可以读写及执行

设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写

设置当前目录下的所有档案与子目录皆设为任何人可读写

数字权限使用格式

在这种使用方式中,首先我们需要了解数字如何表示权限。

首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1

。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4

+1 = 5 即

若要同时设置

rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7 若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置

为 4 + 2 = 6 若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

chmod file...

其中a,b,c各为一个数字,分别代表User、Group、及Other的权限。相当于简化版的chmod u=权限,g=权限,o=权限file...而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限

范例:

设置所有人可以读写及执行

设置拥有者可读写,其他人不可读写执行

更改文件拥有者(chown命令)

linux/Unix 是多人多工作业系统,每个的文件都有拥有者(所有者),如果我们想变更文件的拥有者(利用 chown 将文件拥有者加以改变),一般只有系统管理员(root)拥有此操作权限,而普通用户则没有权限将自己或者别人的文件的拥有者设置为别人。

语法格式:

chown [可选项] user[:group] file...

使用权限:root说明:[可选项] :同上文chmoser :新的文件拥有者的使用者group :新的文件拥有者的使用者群体(group)

范例:

设置文件 d.key、e.scrt的拥有者设为 users 群体的 tom

设置当前目录下与子目录下的所有文件的拥有者为 users 群体的 James

二、Linux权限详解

Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。这也是Linux有别于Windows的机制,也是基于这个权限机智,Linux可以有效防止病毒自我运行,因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。

Linux的文件权限有以下设定:

Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。

Linux下权限的属组有 拥有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。

通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

如果我们要表示一个文件的所有权限详情,有两种方式:

第一种是十位二进制表示法,(三个属组每个使用二进制位,再加一个最高位共十位),可简化为三位八进制形式

另外一种十二位二进制表示法(十二个二进制位),可简化为四位八进制形式

十位权限表示

常见的权限表示形式有:

-rw------- (600)只有拥有者有读写权限。-rw-r--r-- (644)只有拥有者有读写权限;而属组用户和其他用户只有读权限。-rwx------ (700)只有拥有者有读、写、执行权限。-rwxr-xr-x (755)拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。-rwx--x--x (711)拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。-rw-rw-rw- (666)所有用户都有文件读、写权限。-rwxrwxrwx (777)所有用户都有读、写、执行权限。

后九位解析:我们知道Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 上面我们用字符表示权限,其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。

实际上,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,如果我们将各个位置权限的有无用二进制数 1和 0来代替,则只读、只写、只执行权限,可以用三位二进制数表示为

r--=100-w-=010--x=001---=000

转换成八进制数,则为 r=4, w=2, x=1, -=0(这也就是用数字设置权限时为何是4代表读,2代表写,1代表执行)

实际上,我们可以将所有的权限用二进制形式表现出来,并进一步转变成八进制数字:

rwx=111=7rw-=110=6r-x=101=5r--=100=4-wx=011=3-w-=010=2--x=001=1---=000=0

由上可以得出,每个属组的所有的权限都可以用一位八进制数表示,每个数字都代表了不同的权限(权值)。如 最高的权限为是7,代表可读,可写,可执行。

故 如果我们将每个属组的权限都用八进制数表示,则文件的权限可以表示为三位八进制数

-rw------- =600-rw-rw-rw- =666-rwxrwxrwx =777

关于第一位最高位的解释:上面我们说到了权限表示中后九位的含义,剩下的第一位代表的是文件的类型,类型可以是下面几个中的一个:

d代表的是目录(directroy)-代表的是文件(regular file)s代表的是套字文件(socket)p代表的管道文件(pipe)或命名管道文件(named pipe)l代表的是符号链接文件(symbolic link)b代表的是该文件是面向块的设备文件(block-oriented device file)c代表的是该文件是面向字符的设备文件(charcter-oriented device file)

十二位权限(Linux附加权限)

附加权限相关概念

linux除了设置正常的读写操作权限外,还有关于一类设置也是涉及到权限,叫做Linxu附加权限。包括 SET位权限(suid,sgid)和粘滞位权限(sticky)。

SET位权限:

suid/sgid是为了使“没有取得特权用户要完成一项必须要有特权才可以执行的任务”而产生的。

一般用于给可执行的程序或脚本文件进行设置,其中SUID表示对属主用户增加SET位权限,SGID表示对属组内用户增加SET位权限。执行文件被设置了SUID、SGID权限后,任何用户执行该文件时,将获得该文件属主、属组账号对应的身份。在许多环境中,suid

和 sgid 很管用,但是不恰当地使用这些位可能使系统的安全遭到破坏。所以应该尽量避免使用SET位权限程序。(passwd

命令是为数不多的必须使用“suid”的命令之一)。

suid(set User ID,set UID)的意思是进程执行一个文件时通常保持进程拥有者的UID。然而,如果设置了可执行文件的suid位,进程就获得了该文件拥有者的UID。

sgid(set Group ID,set GID)意思也是一样,只是把上面的进程拥有者改成进程组就好了。

SET位权限表示形式(10位权限):

如果一个文件被设置了suid或sgid位,会分别表现在所有者或同组用户的权限的可执行位上;如果文件设置了suid还设置了x(执行)位,则相应的执行位表示为s(小写)。但是,如果没有设置x位,它将表示为S(大写)。如:

1、-rwsr-xr-x表示设置了suid,且拥有者有可执行权限2、-rwSr--r--表示suid被设置,但拥有者没有可执行权限3、-rwxr-sr-x表示sgid被设置,且群组用户有可执行权限4、-rw-r-Sr--表示sgid被设置,但群组用户没有可执行权限

设置方式:

SET位权限可以通过chmod命令设置,给文件加suid和sgid的命令如下(类似于上面chmod赋予一般权限的命令):

chmo+sfilename设置suid位chmo-sfilename去掉suid设置chmodg+sfilename设置sgid位chmodg-sfilename去掉sgid设置

粘滞位权限:

粘滞位权限即sticky。一般用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即便用户对该目录有写的权限,也不能删除该目录中其他用户的文件数据。设置了粘滞位权限的目录,是用ls查看其属性时,其他用户权限处的x将变为t。

使用chmod命令设置目录权限时,+t、-t权限模式可分别用于添加、移除粘滞位权限。

粘滞位权限表示形式(10位权限):

一个文件或目录被设置了粘滞位权限,会表现在其他组用户的权限的可执行位上。如果文件设置了sticky还设置了x(执行)位,其他组用户的权限的可执行位为t(小写)。但是,如果没有设置x位,它将表示为T(大写)。如:

1、-rwsr-xr-t表示设置了粘滞位且其他用户组有可执行权限2、-rwSr--r-T表示设置了粘滞位但其他用户组没有可执行权限

设置方式:

sticky权限同样可以通过chmod命令设置:

chmod +t <文件列表..>

十二位的权限表示方法

附加权限除了用十位权限形式表示外,还可以用用十二位字符表示。

11109876543210S  G  T r w x r w x r w x

SGT分别表示SUID权限、SGID权限、和 粘滞位权限,这十二位分别对应关系如下:

第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位(后九位)。

在这十二位的每一位上都置值。如果有相应的权限则为1, 没有此权限则为0。

-rw-r-sr--的值为:010110100100-rwsr-xr-x的值为:100111101101-rwsr-sr-x的值为:110111101101-rwsr-sr-t的值为:111111101101

如果将则前三位SGT也转换成一个二进制数,则

suid 的八进制数字是4

sgid 的代表数字是 2

sticky 位代表数字是1

这样我们就可以将十二位权限三位三位的转化为4个八进制数。其中

最高的一位八进制数就是suid,sgdi,sticky的权值。

第二位为 拥有者的权值

第三位为 所属组的权值

最后一位为 其他组的权值

附加权限的八进制形式

通过上面,我们知道,正常权限和附加权限可以用4位八进制数表示。类似于正常权限的数字权限赋值模式(使用三位八进制数字赋值)

chmod file...

我们可以进一步使用4位八进制数字同时赋值正常权限和附加权限。

chmod file...

其中s是表示附加权限的把八进制数字,abc与之前一致,分别是对应User、Group、及Other(拥有者、群组、其他组)的权限。因为SUID对应八进制数字是4,SGID对于八进制数字是2,则“4755”表示设置SUID权限,“6755”表示同时设置SUID、SGID权限。

我们进一步将上小节的例子中的二进制数转变为八进制表示形式,则

-rw-r-sr-- =010110100100=2644-rwsr-xr-x =100111101101=4755-rwsr-sr-x =110111101101=6755-rwsr-sr-t =111111101101=7755

对比范例:

设置 netlogin 的权限为拥有者可读写执行,群组和其他权限为可读可执行

设置 netlogin 的权限为拥有者可读写执行,群组和其他权限为可读可执行,并且设置suid

chmod 4755与chmod 755对比多了附加权限值4,这个4表示其他用户执行文件时,具有与所有者同样的权限(设置了SUID)。

为什么要设置4755 而不是 755?

假设netlogin是root用户创建的一个上网认证程序,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。但假如netlogin执行时需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

D. linux文件权限设置

文件的三个最基本的权限是读写执行
r,读,可以读取文件,对目录来说可以列出目录的文件列表
4
w,写,可以修改删除文件,对目录来说可以创建删除文件
2
x,执行,可以执行文件,对目录来说可以cd进入目录
1
注意点:目录上只有执行权限,则可以进入或者穿越此文件夹,但是要访问此文件夹下有读取权限的文件,则必须输入文件名,只有执行权限的文件夹,不能列出目录,也不能删除目录
特殊位,SUID,SGID,stickt-bit位,如果设置了SUID的可执行文件被执行的,文件将以所有者的身份来运行。SGID,意思同SUID,sticky-bit位,尽管其他用户有写权限,但是必须由属主执行删除和移动操作。子目录也只有属主可以操作。
权限设置命令
chmod,-R,递归,s表示SUID或者SGID,t表示stick-bit,
chown,改变用户属主和组,-R递归,加:则是改变组,不加是改变用户,
umask,设置文件默认生成编码,就是创建一个新文件的时候的默认权限,-S查看默认权限。
find,查找文件,<起始目录><选项表达式><条件匹配表达式><动作表达式>
选项表达式,-follow,遇到符号链接则跟踪符号链接。-regextype指定-regex和-iregex使用的正则表达式的类型,-depth,查找子目录之前先查找完当前目录,-mount,不跨越文件系统,-xdev,同-mount,-maxdepth,最大深度查询,
条件匹配表达式,-name
匹配文件名
-iname匹配文件名不区分大小写,
-lname匹配符号链接文件名,
-ilname匹配符号链接文件名不区分大小写,-path路径,-regex,正则匹配,-iregex,正则匹配,不区分大小写,-amin
N查找N分钟之前被访问过的所有文件,-atime
N
查找N天之前被访问的文件,-cmin,和-ctime是文件状态被修改过的(比如权限),-mmin和-mtime是文件内容被修改过的,-uid
N查找uid是N的文件,-gid,查找gid是N的所有的文件,-inum,查找i-node是N的文件,-links
N,查找硬链接为N的文件,-size
N[bcwkMG]按照大小查找,-perm
MODE按照权限查找,
-perm
-MODE,按照最低权限查找,
-anewer
file,查找比file访问时间新的文件,
-cnewer查找比fule新的修改时间的文件,
-newer
file查找比file新的内容修改过的文件,
-fstype指定类型的文件系统,-type指定文件类型,-empty内容为空,-user
NAME,按照用户查找,-group按照组查找,-nouser,文件不属于/etc/passwd中的用户,-nogroup,文件不属于/etc/group中的组
动作表达式,-print,每行一个文件,-print0取消间隔符。
grep
[options]
PATTERN
[FIFL...]所有文本内容,把匹配的行打印出来,-c只显示匹配的次数,-i搜索时不区分大小写,-n匹配行的行号,-v输出不匹配的行,-A同时显示匹配到的行后面的N行,-B匹配输出行前面几行,-C匹配输出行前后各几行,

E. Linux文件权限一:普通权限(rwx)

一、查看文件的普通权限

1.ls -l [file | dir],查看一个文件或者目录内部所有文件的权限

2.ls -ld dir,查看一个目录本身的权限

二、rwx权限的含义

三、普通权限的设置

四、修改user或者group

五、

六、命令与杂谈
进入需查看子级权限目录,ls -lh查看所有权限 rwx代表着权限,如图代表 777 对应三个群体,自己 所在组 其他

而如果需要修改 则进入文件夹 输入 chmod -R 777 则可把所在文件夹所有文件以递归方式进行修改权限

七、 其他
1.mac可在终端 输入> ssh [email protected](输入你远程服务器的IP地址可进行远程操作)
root表示以root用户进入,如果要使用其他用户则对应替换即可)
2.然后输入服务器密码
3.成功进入,如我的输出Welcome to Alibaba Cloud Elastic Compute Service !

远程控制tomcat开关重启
1.登录成功后在命令行 cd /user/tomcat/apache-tomcat-7.0.90/bin/ 目录下
2.启动tomcat,命令行 sh startup.sh
3.关闭tomcat,命令行 sh shutdown.sh

F. 在linux修改文件夹及其子文件夹的权限

1:想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-内R表示启动递归处容理。

例如:

[root@localhost ~]# chmod 777 /home/user注:仅把/home/user目录的权限设置为rwxrwxrwx

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

2:想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理。

例如:

[root@localhost ~]# chmod 777 /home/user注:仅把/home/user目录的权限设置为rwxrwxrwx

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

例如:chmod -R +x /usr/apache-tomcat-5.5.23/webapps/NEWTRADECARD 修改此目录下所有文件及文件夹增加可执行权限

G. Linux权限管理基本知识

Linux权限管理基本知识大全

Linux系统有什么基本权限,权限管理命令是什么?下面跟我一起来看看吧!

一、基本权限

linux权限机制采用UGO模式。其中 u(user)表示所属用户、g(group)表示所属组、o(other)表示除了所属用户、所属组之外的情况。

u、g、o 都有读(read)、写(write)、执行(excute) 三个权限,所以UGO模式是三类九种基本权限。

用命令 ls -l 可列出文件的权限,第一列输出明确了后面的输出(后面一列代表 ugo权限)。第一个字母对应的关系:

“-” 普通文件

“d” 目录

”l“ 符号链接

”c“ 字符设备

"b" 块设备

"s" 套接字

"p" 管道

修改文件或目录的所属用户: chown 文件名 | 目录名 用户

-R 该参数以递归的方式修改目录下所有文件的所属用户,参数可以敲 chown --help 查看。

修改文件或目录的所属组: chgrp 文件名 | 目录名 组名

-R 该参数以递归的方式修改目录下的所有文件的'所属组。

命令chmod 用来修改文件或目录的权限: chmod -参数 模式 文件 | 目录

例子: 修改目录 log下所有文件的权限为700

chmod -R 700 log

注:700的来历是 u g o

rwx rwx rwx

111 000 000

关于 chmod 命令的权限模式除了数字表示,还可以是 u、g、o 、a 加 +、- 来表示。格式如下:u、g、o分别代表用户、属组和其他,a 就是

all ,可以代替ugo。 +、- 代表增加或删除对应的权限,r、w、x 代表三种权限,分别是读、写、执行。

例子:对于目录 log下的所有文件(已有权限是700)增加所属组(g)的读(r)、执行(x)权限。

chmod -R g+rx log

类似的命令可能还有很多,这里只是举几个最基本且常用的例子。很多命令用到时,再去查也可以。还可参考《鸟哥的Linux私房菜》。

二、特殊权限

Linux的3个特殊的权限,分别是setuid、setgid和stick bit。

setuid权限(S):只有用户可拥有,出现在执行权限(x)的位置。

setuid权限允许用户以其拥有者的权限来执行可执行文件,即使这个可执行文件是由其他用户运行的。

setgid权限(S):对应于用户组,出现在执行权限(x)的位置。

setgid权限允许以同该目录拥有者所在组相同的有效组权限来允许可执行文件。但是这个组和实际发起命令的用户组不一定相同。

stick bit (t /T):又名粘滞位,只有目录才有的权限,出现在其他用户权限(o)中的执行位置(x)。当一个目录设置了粘滞位,只有创建了该目录的用户才能删除目录中的文件,但是其他用户组和其他用户也有写权限。使用 t 或 T来表示。若没有设置执行权限,但是设置了粘滞位,使用 t;若同时设置了执行权限和粘滞位使用 T。典型的粘滞位使用是 /tmp 目录,粘滞位属于一种写保护。

设置特殊权限:

setuid: chmod u+s filename

setgid: chmod g+s directoryname

stick bit: chmod o+t directoryname

用数字表示特殊权限,是在基本权限之上的。浊嘴笨腮说不清楚,看例子:

例子:将上面例子中的log日志目录(已有权限 700)权限设置为755。特殊权限是类似 /tmp目录的 stick bit有效。

特殊权限 基本权限

setuid setgid stick bit user group other

0 0 1 rwx rwx rwx

111 000 000

所以,设置特殊权限(stick bit)的命令应该是:chmod 1755 log

设置特殊权限后,ls -dl 查看该目录:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊权限的字母 t )

取消该特殊权限的命令:chmod 755 log 。如此 stick bit的权限就没有了。

再次 ls -dl 查看该目录: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最后一位已经变为代表普通权限的字母x )

需要注意的是,最前面一位 ”1“ 就是特殊权限位。其他两个特殊权限的设置也类似。setuid使用不是无限制的。出于安全目的,只能应用在Linux ELF格式二进制文件上,而不能用于脚本文件。

三、高级权限

ACL(Access Control List),访问控制列表是Linux下的的高级权限机制,可实现对文件、目录的灵活权限控制。ACL 允许针对不同用户、

不同组对同一个目标文件、目录进行权限设置,而不受UGO限制。

在一个文件系统上使用ACL需要在挂载文件系统的时候打开ACL功能。而根分区(ROOT)默认挂载的时候支持ACL。

命令:mount -o acl /挂载路径

例子:mount -o acl /dev/sdb1 /mnt

查看一个文件的ACL设置的命令: getfacl file

(针对一个用户)为一个文件设置指定用户的权限的命令: setfacl -m u:username:rwx filename

(针对一个组)为一个文件设置指定组的权限的命令: setfacl -m g:groupname:r-x filename

删除一个ACL设置的命令: setfacl -x u:username filename

;

H. 在linux中怎么给文件夹赋权限

在linux中给文件夹赋权限的步骤如下:

1.首先,咱们用客户端工具(工具很多,我用的是xshell),用需要建立的文件夹的账户登录系统,例如我现在是用的Root用户。红色框框内,写着root证明,登录的用户没有问题。

阅读全文

与linux系统文件递归权限相关的资料

热点内容
linux如何查看一个文件的位置 浏览:911
c头文件无法打开源文件stdafx 浏览:750
苹果x的桌面上可以建文件夹 浏览:368
ug8532位破解版安装教程 浏览:490
电脑网络如何重新驱动 浏览:125
win10连接服务器命令 浏览:228
卢克raid活动20升级卷 浏览:969
机票预订什么网站好 浏览:690
读写xml配置文件 浏览:153
java爬虫解析html 浏览:861
约瑟夫集合java 浏览:275
我的ie8网站显示不居中 浏览:423
win10图片原地址在哪显示 浏览:201
怎么样把app添加到小组件 浏览:148
省内顺丰邮文件多少钱 浏览:715
绝密级文件应保留多少年 浏览:701
发文件给同事怎么说 浏览:468
苹果80岁用什么app 浏览:28
顺丰寄快递文件多少钱 浏览:164
消费邦app是怎么反现的 浏览:112

友情链接