目录
Linux权限基础
Linux用户权限
在Linux中,根据权限的不同,大致可以分为三种:超级用户(root)、普通用户、虚拟用户,从Linux中的/etc/password文件中,我们可以很详细的了解当前系统内每一个用户的不同之处,文件内容如下所示
1.root:x:0:0:root:/root:/usr/bin/zsh
2.user1:x:1000:1000:user1,,,:/home/user1:/usr/bin/zsh
3.www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
每个用户在/etc/passwd文件中的格式通常为account:passwd:UID:GID:GECOS:shell(账号:密码:用户ID:组ID:一般信息:HOME目录:shell类型)
上面的1为超级用户,2为普通用户、3为虚拟用户,1的UID和GID为0,2的UID和GID范围是 500-60000,3的UID和GID的范围为 1-499
注:虚拟用户一般是由各种服务创建的。比如www-data就是Apache服务创建的虚拟用户,专门用来运行Apache服务
Linux文件权限
Linux系统中的文件针对访问者设置了三种权限:
、
每个文件针对每访问者定义了三种主要权限:
r:read=4
w:write=2
x:xexcute=1
特殊的Linux文件权限
u+s:suid(所属用户的禁锢位)
数字标记:4
仅对可执行文本文件(命令文件)设置有意义,将某文件的所属用户进行锁死到root,不可以让其他用户代替自己称为所属用户,运行命令文件进程的所属用户是命令自身的身份;
普通用户使用在passwd执行时打开一个新的终端,在新终端中使用ps -ef 来查询该进程的运行权限:
可以看到进程的权限并非user1 而是文件创建者root。也就是说,带有SUID属性的文件,不管运行这个文件的用户是谁,它的运行者都睡变成文件的创建者,那么在执行的过程中,执行用户将会短期的拥有文件