我们说权限的时候一般是不包括root的
Linux比较重要的一个是权限,一个是文件系统结构。
进入任何一个目录都要从跟开始。如果提示权限不对,要修改权限。
Linux有2种权限:
chmod操作权限。Chown所有者权限。
操作权限:就是咱们所说的读写执行权限
ls可以看见文件的基本信息;看文件更详细的信息,如创建时间,创建用户数是多少,通过sl-l,或者是ll来查看。
下图文件信息中,前十个字符,第一个字符代表文件的类型(d表示这是个目录,如果是个减号-,代表普通文件。);剩下9个字符是来控制文件权限的。
r读 w写 x执行。—横杆是不能的意思
权限信息分类:电脑主人的权限就是所有者权限;电脑所在的组的权限,比如17期;其他*限。
所有者权限是由9个字符的前三位来控制;中间3位是控制所属组的权限;后3位是其他人的权限。
一个文件是什么权限,要说所有者能干啥,所属组、其他人能干啥。
最难理解的是x权限,对于一个普通文件来说,x是能执行。
比如一个shell脚本,假如这个脚本的权限都没有x。意味着管理员也不能去运行。但是管理员可以修改为可以。一个文件要想去执行,必须要有x权限。
对于目录来说,如果把这个目录去掉,意味着你进都进不去。
举个例子:
切换到user1这个账号:
su -user1
到这个tmp下去。然后输入clear:
cd /tmp
创建个名为test的文件夹:
rm -rf *
mkdir test
ll看下这个目录下的文件权限。能用读写执行字母标 或数字标记。
r用4表示,w用2,x用1标识
test权限可以看到是755
user1现在能进到test里面去,但不能在test中创建一个文件
user1相对root来说是其他的人。所以看后三位,权限是5,意味着能读能执行。要想在test中创建一个文件,是需要写的权限的。
在Linux里面你创建用户,如果没有指定组,他会自动创建一个组,名字和用户名一样
修改操作权限:
切换到user1,进到tmp,然后进到test中,创建一个空文件,提示权限不够:
添加权限:修改为757。再去touch一个文件,就可创建文件了。Chmod
test文件夹里面有个a.txt ,这个a.txt的主人是user1(cd test 然后ls)
把test变成755,(输入ll命令能看到,现在a.txt的权限是664)
输入chmod 757 test命令,a.txt权限不会改成755
需要加一个-R,a.txt权限也会改成755。Linux中的R都是递归的意思,意思是把当前目录,及目录下的所有文件全部修改掉。
把当前目录,及目录下的所有文件全部删掉:
rm -rf
Linux中除了修改数字来修改权限外,还可以这么修改:
a是所有用户、o是other,g是grope,u是user
下图中的命令意思是为所有用户加一个执行权限。中间一个命令是把执行权限去掉,不写用户,默认是all。最后一个命令是去掉读的权限。
写大R是递归,写小r是去掉读的权限。
改成750,对于user1来说,意味着啥权限都没有。进到test里面和在外面都不能看。
chmod 750 test
cd /test
ls test
如果就想在门口看看,那就需要加个读的权限:chmod 754 test
虽然提示你权限不够,但是还是可以看一下的。你可以认为这个提示是警告:ls test
对于目录来说,x意味着能不能访问。对于文件来说意味着执行。
除了chmod外,还有一个改变所有者权限。如果这个文件我现在不想要,给你了。
chown所有者权限的几种用法:
第一种写法是改变a.txt文件的主人,主人改为user1。组不变。
第二种是把a.txt文件的主人改为user1,组名改为group1.
第三种是用户不变,组改了。
下图这个名字就是当前用户的主人。第二个用户名是组名
修改文件的主人:
修改文件所在组。chown后面的user1是组的意思,因为没有组自动创建一个和主人一样的组。
下图可以看到组和用户名都改了。
在Linux新建一个文件,默认都是不可能有所有权限的。不管你怎么设置最大是666。不会出现7,不会出现单数的,单数意味着肯定有执行权限。涉及到安全。