用户分类
普通用户:由管理员创建一般在/home下,权限小于超级用户 UID为 Centos7 1000-60000,C6 500-60000 可以用 登录shell 一般在/bin/shell解析器下
超级用户 :用户名rootUID为0 权限最高 ,系统管理员,一般禁止使用root用户登录登录安全
虚拟用户:(傀儡用户) 登录shell /sbin/nologin 作用就是满足进程启动时对用户和组的要求uid 1-499
相关配置文件
/etc/passwd :用户主配置文件,用户的各个属性(UID,GID,家目录,登录shell)
retc/passwd;用户信息;root:x:0:0:root:/root:/bin/bash#以冒号为分隔符;
第一列:用户名称;
第二列:用户的密码;x->不可见->/etc/shadow;
第三列:用户的UID
第四列:用户组的GID
第五列:用户的描述信息;(手机号;等等)
第六列:用户的家目录;
第七列:用户的登录Shel1;/bin/bash-->正常登录/sbin/nologin禁止登录
/etc/shadow 用户密码与文件存放密码及密码的属性(失效时间,密码修改时间)
bin:*:18353:0:99999:7:::
/etc//login.defs 创建用户系统配置,对应文件详细信息
/etc/group 组文件,存放用户组及属性
用户组:类似于人的家庭 一个用户可以在多个组里 一个组可以有多个用户,用户组,在创建用户时默认产生,且UID和GID相同
useradd 创建用户和usermod修改用户信息 相关参数
-u指定uid -g 指定属于的组,-e指定过期时间 -d指定家目录 -M 不创建家目录 -s指定登录解析器 chage -l 查看用户修改信息时间 groupadd 创建组
1)程序:控制这个目录上传的内容只能是。jpg,.zip
2)nginx:针对upload访问的时候,除了。jpg .zip之外,不提供访问
3)动态服务器和静态服务器分离,访问的时候只有静态服务器(不安装PHP,java,python)
4)不让执行:磁盘上挂载的时候,设置禁止程序运行(二进制程序)。
1.suid
1)suid(setuid)位通过S字符标识。
2)存在于基本权限的用户权限位的x权限对应的位置。
3)如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识。
4)suid的s对应的数字权限为4。
5)完整权限用八进制数4000表示。
数字权限设置suid:
chmod 4644 suid.txt
[root@oldboy oldboy]# chmod 4644 suid.txt
[root@oldboy oldboy]# ls -l suid.txt
-rwSr--r--. 1 root root 0 5月 21 11:55 suid.txt
[root@oldboy oldboy]# chmod u+x suid.txt
[root@oldboy oldboy]# ls -l suid.txt
-rwsr--r--. 1 root root 0 5月 21 11:55 suid.txt
取消:
[root@oldboy oldboy]# chmod 644 suid.txt
[root@oldboy oldboy]# ls -l suid.txt
-rw-r--r--. 1 root root 0 5月 21 11:55 suid.txt
字符设置suid
chmod u+s suid.txt
ls -l suid.txt
chmod u-s suid.txt
ls -l suid.txt
oldboy用户使用passwd命令,修改/etc/shadow文件,来实现修改密码的。勤奋1s-1/etc/shadow
[oldboyColdboy ~]$1s-1/etc/shadow
--.1 root root 24845月2112:10/etc/shadow传统权限分析,oldboy是其他用户,修改/etc/shadow权限---,没有权限修改。。
事实呢?改了
suid的特殊作用:可以绕过基础权限体系,可以修改没有权限修改的文件。
基于二进制命令的。
[oldboy@oldboy ~]$1s-1'which passwd
-rwsr-xr-x.1 root root 27856 4月12020/bin/passwd
1)给一个命令设置suid以后,所有使用这个命令的用户,都拥有和这个命令对应的用户的权限
4.suid 核心知识小结
1)suid功能是是针对二进制命令或程序的,不能用在Shell等类似脚本文件上。
2)用户或属主对应的前三位权限的x位上,如果有s(S)就表示具备suid权限。
3)suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,拥有和命令对应属主(一般为root管理员)一样的身份和权限(默认)。
4)二进制命令程序需要有可执行权限x配合才行。
5)suid对应的身份和权限仅在程序命令执行过程中有效。
6)suid是一把双刃剑,是一个比较危险的功能,对系统安全有一定的威胁,企业里用户授权可以使用sudo等替代suid功能。授权suid破坏性
7)在进行安全优化时,系统中默认设置了suid权限的命令要取消掉。