树莓派创客:手把手教你玩转人工智能
上QQ阅读APP看书,第一时间看更新

1.3.3 文件属性

Linux的文件属性设计是对安全性的有力保障,但也会带来使用上的问题。如果在执行命令的过程中遇到了权限问题,就试着在命令前加上sudo。

文件属性是文件类型后包含字母rwx的序列。文件属性能够告诉你某一用户能否读取、运行这个文件。如果你想要运行一个程序(比如之前的python games),在你的文件属性中需要包括x;对于文件夹来说,x属性允许你cd到它的内部。

现在尝试cd到/usr/share/python_games并且输入命令“sudo chmod a-x launcher.sh”,这里的a表示所有组(user、group与others),使用u、g、o可以只改变一个组对应的权限。修改过后,现在你已经无法执行我们的Python游戏了。想要恢复权限,我们可以使用指令:sudo chmod 755 launcher.sh。

上面的数字755是另一种表示权限的方式。3个数字分别代表user、group与others这3个组对应的权限。那么这些数字如何解读呢?一般来说,4代表读权限,2代表写权限,1代表执行权限。在解读的时候,我们把这些数字加起来即可。举例来说,7=4+2+1,那么7也就表明对应的用户组对这个文件有读、写、执行的权限;5=4+1表明有读、执行的权限。在当前目录执行ls -l,你会发现在launcher.sh的权限变为了-rwxr-xr-x。

chown命令与chgrp命令可以改变文件所属的用户以及文件所属的用户组。在当前目录下新建一个文本文件myfile.txt,然后输入sudo chown root myfile.txt,你会发现现在这个文件只能读,不能写了。运用相似的原理,你可以尝试着新建一个可以写、可以执行但不能读的文件。

    pi@raspberrypi:~$ id
    uid=1000(czk) gid=1000(czk) 组=1000(czk),4(adm),24(cdrom),27(sud
o),30(dip),46(plugdev),118(lpadmin),129(sambashare),996(docker)

id指令显示你现在的用户组访问信息,这决定了你使用、修改文件与设备的权限。

一般来说,chmod 755是你在之后的工作日常中经常要使用的命令,当你在网上下载了一个脚本文件却发现无法运行时,那么先确认文件的使用权限,然后使用chmod命令为它加上执行权限。