首页 > 编程知识 正文

linux怎么给用户权限,linux文件授权命令

时间:2023-05-05 12:25:06 阅读:172569 作者:1837

2019年11月20日0次阅读,3850个字符0评论0人称赞QueenDekimZ

Linux权限概述

在Linux系统上,对文件的权限受到严格控制,因此如果要对文件执行某些操作,则必须具有相应的权限才能成功。

在Linux上文件的权限类型通常包括读取、写入和执行。 字母对应于r、w和x。

Linux上的权限粒度有所有者、组和其他组三种。 每个文件可以为三个粒度设置不同的读写执行(rwx )权限。 通常,一个文件只能属于一个用户和组。 如果其他用户希望拥有此文件的权限,请将该用户加入到授权组中,以便一个用户可以同时属于多个组。

在Linux上,通常使用chmod命令设置和更改文件权限。

更改文件权限(chmod命令)一般使用格式

chmod [选项]文件…

选项:

-c,--changeslikeverbosebutreportonlywhenachangeismade (仅当文件权限实际发生更改时才显示更改操作) )。

- f---silent---- quietsuppressmosterrormessages (如果文件权限无法更改,则不显示错误消息) ) )。

-v,--verboseoutputadiagnosticforeveryfileprocessed (查看权限更改详细信息)

无预定义根节点“/”规范(the default )。

preserve-rootfailtooperaterecursivelyon‘/’

reference=rfile userfile’smodeinsteadofmodevalues

-R,- -对当前目录下的所有文件和子目录递归进行相同的权限更改) ) )。

help显示此帮助信息

version显示版本信息

模式:权限设置字符串。 详细形式如下。

[ugoa…][[=][rwxX]…][,…],其中

[ugoa…]

u表示该文件的所有者,g表示与该文件的所有者属于同一组的人,o表示其他人,a表示全部(包括上面的三方)。

[=]

表示要增加权限,-表示要取消权限,=表示要唯一设置权限。

[rwxX]

r表示可读,w表示可写,x表示可执行,x表示文件是子目录,或者文件已经设置为可执行。

文件…

文件列表(单个或多个文件、文件夹)。

例如:

设置所有用户均可读取文件a.conf chmod ugo r a.sh或chmod a r a.conf

只有所有者可以读写和执行

chmod u rwx c.sh

将文件a.conf和b.xml的权限设置为与所有者所属的组相同的组可以读写,其他组不能读写

chmod a r,ug w,o-w a.conf b.xml

将当前目录下的所有文件和子目录设置为任何人都可以读写

chmod -R a rw *

在这种用法中,首先需要知道数字如何表示权限。 首先,规定数字4、2、1表示读取、写入、执行的权限。 具体原因可以知道下一节权限详细内容。 也就是说,r=4,w=2,x=1。 此时,其他权限组合也可以用rwx=4 2 1=7 rw=4 2=6 rx=4 1=5即其他8进制数表示

要同时设置rwx (可读写执行)权限要将此权限位设置为4 )2)1=7要同时设置rw-(可读写执行)权限要同时设置此权限位4 )2=6) r-x (可读执行)写

如上所述,每个文件可以对三个粒度设定不同的rwx (读写)权限。 也就是说,可以用三个八进制数表示所有者、组和其他组(u、g、o ) )的权限详细信息,然后直接在chmod中添加三个八进制数来直接更改文件的权限。 语法如下。

chmod file…

其中

a、b、c分别是1个数字,分别表示用户、组、Other的权限。

相当于简化版

chmod u=权限,g=权限,o=权限文件…

此处的权限以八进制形式表示用户、组和所有者的读取、写入和执行权限

例如:

设置为所有人都能读写

chmod777file(chmodu=rwx,g=rwx,o=rwx file或chmod a=rwx file等效) ) ) ) ) ) ) ) ) ) ) )。

所有者识字,其他人不识字

chmod 600文件(等效于chmodu=rw

,g=—,o=— file 或 chmod u=rw,go-rwx file )

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

语法格式:

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

使用权限:root

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

范例:

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

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

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

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

Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
Linux下权限的属组有 拥有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。
通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
如果我们要表示一个文件的所有权限详情,有两种方式:
第一种是十位二进制表示法,(三个属组每个使用二进制位,再加一个最高位共十位),可简化为三位八进制形式
另外一种十二位二进制表示法(十二个二进制位),可简化为四位八进制形式
查看当前目录下所有文件的权限:

ls -al

常见的权限表示形式有:

-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 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 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)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。