一.Linux中的用户
Linux中分为两种用户,分别为:
1.root 用户,也叫超级用户,它的权限非常高,不受其他权限的约束,也就是可以为所欲为;
2.普通用户:除了root用户外,都是普通用户,受权限的约束。
我们可以输入命令:ls /home 查看当前根目录下有多少普通用户:
当然也可以添加一些选项,来显示更详细的内容。
提权命令:sudo
可以让一条指令暂时拥有root的权限,但是新建的用户,sudo没有颁发实行,系统并不信任你;
除非加入到信任白名单内。
二.什么是权限
1.权限和人有关;
Lniux中,这里的“人”指的是:
a,所有者
b,所属组
c,其他
2.权限和事物的属性有关
Linux下一切皆文件,而文件具有可读,可写,可执行的属性。
三.文件类型和文件权限
如上图所示,这前面的10个字符,第一个字符表示文件类型,后面的9个字符表示文件属性;
文件类型
文件类型一般有:
d:目录文件
-:普通文件(文本,可执行程序,库都属于普通文件)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件(用来进行通信的)
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
最常见的就是目录文件和普通文件了。
文件属性
这里的文件属性包括:可读(r),可写(w),可执行(x),- 表示无任何权限
这里的9个字符是3个为一组的,按照前后顺序表示:所有者,所属组,其他的权限,且每组内rwx的顺序是严格不变的,即:
1.位置是什么含义是确定的,第一个位置只有 r/- ,以此类推;
2.每一个位置只有是或者否,具有指定的权限。
所以就可以用二进制的0和1表示。
四.文件权限值的表示方法
字符表示法
8进制和2进制表示法
有了这些权限值的表示方法,我们就可以修改一个文件的权限了。
五.文件权限的修改
chmod
字符修改:
所有者,所属组,其它分别用这些字母表示:u,g,o
增加权限 chmod [u/g/o] + [r/w/x] 文件
例:给文件n1加上可执行权限
去除权限也是一样的道理,只需把+换成-即可;
八进制修改
一个八进制数字代表一组,所以一共有三个数字,八进制换算成二进制后,就能知道有哪些权限。
实例:
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt