一、服务器系统版本介绍
-
windows服务器系统:win2000 win2003 win2008 win2012
-
linux服务器系统:Redhat Centos
linux系统是开源的—系统里所有程序的代码都是空开的,只能通过命令行操作系统
windows系统不开源,可以通过图形化界面来操作系统
-
服务器系统与个人系统是不同的,我们安全的重点更多是在服务器系统上
二、用户管理
1.用户概述
-
一个系统可以设置多个用户,不同用户可以设置不同操作权限
-
每个电脑上的用户有自己唯一的SID(安全标识符)
-
用户的SID有两部分组成—系统SID和用户UID。
系统SID为电脑的标识、相当于身份证号的省份号;用户UID为用户标识、相当于身份证号后四位
用户SID:S-1-5-21-426206823-2579496042-14852678-500 系统SID:S-1-5-21-426206823-2579496042-14852678 用户UID:500
-
理解:用户新建出来就随机生成了自己唯一的SID,在电脑上给不同的用户赋权限,其实就是用SID来区分不同用户的,即为不用账户的SID赋权限。如果有一天这个用户不在了,现在新创建一个用户,即便名字等信息设置和先前用户一模一样,但是SID不同,就不是同一个用户!
-
常识: windows上的系统管理员Administrator的UID一般为500,其他任何新用户都是从1000开始编号
-
查看当前用户的SID命令
whoami /user
-
-
账户密码存储位置:
c:\windows\system32\config\SAM
(此文件开机状态下是无法打开的)账户和密码都是通过不可逆算法hash算法加密再存储的,无法从密文再还原成明文密码,只能通过爆破和撞库
- 暴力破解:先生成密码字典,通过不断尝试字典中的密码破解
- 撞库:收集大量的密码对应的密文,通过密文与收集的密码进行对比,找到则可得到密码。推荐网站https://www.cmd5.com/
-
windows系统上,默认密码最长有效期为42天
2.内置账户(系统自带的账户)
-
给人使用的账户:
administrator #管理员账户
guest #来宾账户 == 权限最低,默认禁用
-
计算机服务组件相关的系统账号 :
system #系统账户 == 权限至高无上
local services #本地服务账户 == 权限等于普通用户
network services #网络服务账户 == 权限等于普通用户
开机时电脑会自动启动系统账户,下面两个账户会开启系统中所需要的所有服务—声卡服务、网卡服务等,即电脑上的服务就是系统服务账户来管理的;system账户管理c盘中的一些重要文件,比如你登录输入密码时就是system账户在拿你输入的密码加密后和SAM文件中的hash值做比较,一样则登录成功
3.为什么要设置很多的账户
- 假如电脑上有一个FTP服务,黑客找到漏洞攻破了FTP服务,但是只能得到管理FTP服务的账号权限对电脑进行一些操作,但是管理FTP服务的账户为local services,权限仅等于普通用户,那么就对电脑造成不了很大的伤害
4.配置文件
-
每个用户都有自己的配置文件(家目录),在用户第一次登录时自动产生,且其他用户无法打开别的用户的配置文件
-
路径:
win7/win2008 c:\Users\用户名
xp/win2003 c:\Documents and Settings\
-
系统变量userprofile的值即为不同用户的家目录
5.添加删除新用户(图形化操作)
-
主机新添加的用户为普通用户
-
步骤:
-
我的电脑右键管理–>本地用户和组–>用户
-
右键新用户–>创建并设置权限
-
-
一旦添加新用户,新用户登录一次后,就会生成用户自己的家目录,且普通用户的权限很低
-
对用户右键删除即可删除该用户,无法删除系统的内置账户。即使是管理员账户也没这个权限,只有system才有这个权限
6.用户管理命令(net user)
net user #查看用户列表
net user 用户名 #查看指定用户的信息
net user 用户名 密码 #改密码
net user 用户名 "" #删除此用户的密码
net user 用户名 密码 /add #创建一个新用户
net user 用户名 /del #删除一个用户
net user 用户名 /active:yes或no #激活或禁用账户
只有管理员用户才有此命令执行的权限
三、组管理
1.为什么引入组
-
简化权限的赋予
- 如果公司一个服务器有要设置很多账号,每个账号要赋予不同的操作权限,一个一个的赋值会很繁琐,如果把赋予相同用户权限的用户加入到一个组中去,对这个组赋一次权限,那么该组的所有用户会继承组的权限。
- 由于我现在要出差,无法对服务器进行管理,我想让小白代我管理服务器,但我又不能给他管理员账号(有安全隐患),所以我可以新创建一个用户(默认在users组),然后再将这个用户加入到一个自定义的组中,设置一些足够管理服务器的权限给这个组,那么我以后想让谁管理这个服务器就把谁加入到这个组中,不想就从组中踢除即可
2.赋权限的方式
-
用户—组—赋权限
用户分到组中,给组赋权限
-
用户–赋权限
直接给用户赋权限
3.内置组
-
内置组的权限默认已经被系统赋予好了
-
内置组
1)administrators # 管理员组
2)guests # 来宾组
3)users # 普通用户组,默认新建用户都属于该组
4)network # 网络配置组
5)print # 打印机组
6)Remote Desktop # 远程桌面组
-
一个用户可以加入多个组,最终的权限取加入的组权限的并集
4.组管理命令(net localgroup)
net localgroup # 查看组列表
net localgroup 组名 # 查看该组的成员
net localgroup 组名 /add # 创建一个新的组
net localgroup 组名 用户名 /add # 添加用户到组
net localgroup 组名 用户名 /del # 从组中踢出用户
net localgroup 组名 /del # 删除组
注意:如果组名有空格,输入命令时要给组名加双引号