我在执行elf文件时给我的回应是没有权限,经了解可以用chmod修改文件的权限,所以我们现在来学习一下!
chmod的功能
linux系统中,用chmod命令来修改文件或目录的访问权限。用它控制文件或目录的访问权限。
文件的权限
文件或目录的访问权限分为只读、只写和可执行文件。
只读--用户只可以读取文件,不可以对文件进行修改
可执行--允许将该文件作为一个程序执行
只写--只能被对应的用户组写入而不能被该用户组读取
文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合(这里就可以用chmod命令改变文件权限)。
查看文件的访问权限
有三种不同类型的用户可对文件或目录进行访问:文件所有者,文件所有者的同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -al命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。
ls:显示没有隐藏的文件和文件夹
ls -a:显示当前目录下的所有文件和文件夹,包括隐藏的文件
ls -l:显示没有隐藏的文件和文件夹的详细信息
ls -al:显示当前目录下的所有文件和文件夹的详细信息


ls -al
在终端输入这个命令就可以得到 回复
总计 1728
drwxr-xr-x 2 kali kali 4096 3月 4日 12:17 .
drwx------ 15 kali kali 4096 3月 4日 12:18 ..
-rw------- 1 kali kali 8872 2月24日 17:29 1
-rwxrwxrwx 1 kali kali 7568 3月 1日 14:10 123
-rw------- 1 kali kali 108 2月20日 23:46 19.py
-rw------- 1 kali kali 227 2月21日 22:15 21.py
-rw------- 1 kali kali 8760 2月21日 20:51 附件
-rw------- 1 kali kali 16656 2月22日 16:20 calc
-rw------- 1 kali kali 3525 3月 1日 11:53 double.png
-rw------- 1 kali kali 7200 2月20日 09:54 level0
-rwx--x--x 1 kali kali 746016 2024年 1月 1日 linux_server64
-rw------- 1 kali kali 16264 3月 1日 09:00 pwn
-rw------- 1 kali kali 882560 3月 1日 10:17 pwn1
-rw------- 1 kali kali 15130 2月21日 21:41 pwn1_sctf_2016
-rwxrwxrwx 1 kali kali 16392 3月 3日 22:45 Yunxi
可以看到第一列是有十个位置。
第一个字符指定了文件类型。
如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。其他不常见的有:l代表链接文件;b代表块设备;c代表字符设备文件。
从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
第1组:rwx: 文件所有者 可读、可写、可执行
第2组:r-x: 文件所有者所在组其它成员 可读、可执行,不可修改
第3组:r-x: 其它人 可读、可执行,不可修改
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chmod命令来更改某个文件或目录的所有者。
命令的写法:
- 包含字母和操作符表达式的文字设定法
- 包含数字的数字设定法
文字设定法:
chmod [who] [+ | - | =] [mode] 文件名
这里的who是指用户组
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
+ | - | = 这是 操作符号
+添加某个权限。
-取消某个权限。
=赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
原file文件的第一列时:
-rwx------
输入命令chmod +x file
经过上面的修改权限后,我们再次查看文件的访问权限时就可以得到
-rwx--x--x
数字设定法
chmod [mode] 文件名
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)
这里注意,数字设定法的mode就仅是三个从0到7的数字,从第一个到第三个分别对应的用户组是:文件所有者,文件所有者的其他同组成员,其他用户。 示例:假如你只想让文件所有者的同组成员拥有可执行权限,那就010;如果想让所有用户都有可读、可写、可执行权限,那么就是4+2+1=7,然后所有用户就得是三个7,所以就输入chmod 777 file
可执行属性
which: 表示查看命令的路径。
一般用于当我们想知道使用的命令来源于什么地方时,比如安装了多个R 或多个python,但又分不清用的是哪个时,which 一下,立即明了。我们用which 获取的是可执行的命令所在的路径,进而查看其属性。
示例
单组用户的权限修改
原:drwx------
chmod o-x file
drwx-----x
所有用户的权限修改
原:drwx------
chmod +x file
或者是chmod a+x flie
得:drwx--x--x
对一个目录及其子目录所有文件添加权限
chmod -R u+x test/
这样test目录下的所有文件和子目录里的所有文件,都可以被所有者可执行
学习完之后我们就可以解决这次开学考,没有权限的问题了
输入chmod 777 Yunxi![]()
6882

被折叠的 条评论
为什么被折叠?



