一、服务器系统版本介绍
Windows服务器系统:win2000、win2003、win2008、win2012 ,现在市面上最常见的是win2003和win2008。
Linux服务器系统:Redhat、Centos。两个同属一家公司,Redhat是付费的,但是要注意的是不是给源代码付费,而是给服务付费,换句话说,如果系统使用过程中有任何问题,都有人上门或者远程服务帮助解决。Centos是免费的,所以使用过程中有任何问题,是不提供服务帮助的。
有小伙伴可能会说:Linux不是开源的,免费的吗?
要注意,开源不等于免费,开源是开放源代码。与之相反的就是闭源,比如Windows系统就是闭源,不开放源代码的。我们可以使用Windows的功能,但是不知道其中的源代码。所以在传统意义上来说,Linux系统漏洞要远远低于Windows,Windows系统的源代码只有微软的员工可以查看和维护,但是毕竟人员有限,而Linux因为开源的缘故,全世界所有的开发者都可以看,都可以维护和修改漏洞,所以由于开源,漏洞就少,攻击面就少。因而很多公司喜欢用Linux系统做服务器,安全又便宜,但是缺点也很明显,只能用命令来操作。Windows虽然昂贵,又闭源,但是图形化界面做的好,用户可以通过图形化界面操作,不用记太多繁琐的命令,因此也有一大批忠实粉丝。
二、用户管理
1. 用户概述
- 每个用户登录系统后,拥有不同的操作权限。
- 每个账户有自己唯一的SID(安全标识符),类似于每个人自己都有唯一的身份证号。
- 用户SID:S-1-5-21-426206823-2579496042-14852678-500
- 系统SID:S-1-5-21-426206823-2579496042-14852678
注意:上面的一串数字中最后一个横杠后面的数字500是用户UID,前面的数字是电脑系统的,每个电脑的系统SID绝对是不一样的。好比身份证号码组成:前面的是所在省份地址信息,后面的才是个人信息
Windows系统管理员administrator的UID是500
普通用户的UID是1000开始
说明:赋权限实际就是给用户的SID赋权限,如果不小心删掉了某用户,然后再新建相同用户名的用户,则该用户是没有原有用户的权限的,因为虽然名字相同,但是SID号不同。比如张三有清华大学的毕业证,难道我起个名字叫张三,我就有清华毕业证了吗?那肯定不是的,因为证书实际上是颁发给身份证号为xxx的张三,身份证号才是人的唯一标识。
- 账户密码存储位置:C:\Windows\System32\config\SAM
说明:账户密码指的是我们电脑的用户名和密码,上面路径即为存放用户名和密码的地方。但是打开之后是看不了的,原因是数据是经过加密的,而且是不可逆的,Windows自己都没有办法解开,该算法是哈希算法(hash),哪怕你的数据大小有1T,使用该算法加密之后的结果也只会生成一串4个字节的值,该值的作用是验证数据完整性 。该算法的特点就是:如果是一模一样的数据,加密之后的值绝对一样。但是哪怕数据有一丁点不同,加密之后的结果也是天差地别,绝不可能一样。那Windows怎么验证我们输入的用户名和密码是否正确呢?首先我们初次设置好用户名和密码之后,系统会将我们输入的用户名和密码使用哈希加密成毫无规律的数值存入SAM文件中,而后用户每次登录系统时,输入用户名和密码,然后回车的瞬间,系统会将输入的用户名和密码同样使用哈希加密,将所得结果与SAM文件中存入的结果比对,完全一致则认证成功。 - Windows系统上,默认密码最长有效期是42天
说明:这里指的是服务器系统,个人系统一般没有做强制性限制,所以我们用户感觉不到。服务器系统默认密码有效期是42天,当然这个时间可以改,改长点也可以,时间一到,密码强制要修改,不然登录不上去。因为服务器系统关乎很多用户关键数据及公司运营核心数据,必须定期更改,防止被远程破解等等。安全领域里面也会有专门的文档,是用来做安全加固的,不同的安保等级采用不同的密码有效期值,需要按照对应的值对单位进行安全加固。
2. 内置账户
内置账户就是Windows系统安装好之后就自带的账户,总共5个账户,分为两类。
- 给人使用的账户:
administrator #管理员账户(权限非常高,可以格式化、删除文件等)
guest #来宾账户(权限极其低,比如格式化、删除文件等都不能做,甚至从网上下载的东西都保存不住,比如学校图书馆里面的公用电脑用的就是来宾账户,权限极低主要是防止用户做一些危害性操作) - 计算机服务组件相关的系统账户:
system #系统账户(权限至高无上)
local service #本地服务账户(权限等于普通账户)
network service #网络服务账户(权限等于普通账户)
说明:这三个系统账户,用户是登录不了,也使用不了的,是给系统使用的。比如我们在登录电脑时,输入用户名和密码之后,系统会帮我们把输入的数据加密然后对比验证是否正确,这里其实就是system账户在工作,它的权限是最高的,比administrator账户权限还高。比如我们如果格式化盘符时,其他盘符都可以,C盘是格式化不了的,因为C盘是系统盘。如果说能够用system账户登录,那C盘也可以格式化,这就太狠了。local services和network services权限就比较低了,一个是本地服务账户,一个是网络服务账户。在电脑开机的时候,刚开始会有个圈圈在转,然后呢才是进入欢迎界面,最后再是登录界面。实际上在登录界面之前,Windows中的本地服务账户和网络服务账户就在启动了,这两个账户把系统里面所有需要的服务都启动了,比如网卡服务、声卡服务等等,凡是跟网络无关的服务都是由本地服务账户开启,如声卡、显卡等,凡是跟上网有关的服务都是由网络服务账户开启。而系统中每个服务都是由对应的账户来管理,如下图所示:
从图中可以看出,除了我们自己登录的管理员账户(administrator)之外,还有其他的账户,都不是我们创建的,是系统内置的。
问题来了:为什么系统要设置这么多账户呢?都用管理员一个账户不就行了吗?
假设现在我的电脑就是一台服务器,给用户提供ftp下载服务,结果呢?不小心被黑客找到web服务漏洞给攻破了,那么就拿到了该服务对应的账户权限。但是ftp服务对应的账户是普通账户权限,即使攻破了也对我的电脑没有多大伤害。而如果把所有服务都设置为一个管理员账户来管理,那如果攻破其中一个,我的电脑就玩完了,他可以直接对我的电脑上数据做任意处理。所以我们要设置很多服务相关的账户,给与不同账户不同权限,也就是防止出现系统重大安全事故。
说明:五个内置账户权限从高到低依次是:system > administrator > local service = network service > guest。权限最高的是system系统账户,权限最低的是guest来宾账户,local service本地服务账户和network service网络服务账户权限相同。
3. 配置文件
在Windows系统中叫配置文件,Linux系统中叫home(家)。换句话说,每个用户第一次登录一台电脑时,这台电脑会为用户建立一个家目录,里面放的都是你的私人文件,比如你的收藏夹、桌面、文档等等。这就意味着,同一台电脑,两个不同的用户去登录,进去之后各自的桌面是不一样的。
在win7/win2008/win10系统中,配置文件也就是家目录位置在:C:\用户\,如下图所示。
打开我的账户配置文件之后,可以看到如下图所示都是我的私人数据。
![](/qrcode.jpg)
在winXP、win2003系统中,配置文件也就是家目录位置在:C:\Documents and Settings\
4. 用户管理命令
net user 列出当前计算机的账户列表
net user 用户名 查看指定用户详细信息
net user 用户名 密码 更改账户密码(该命令只有管理员才可以用,好处就是一条命令就可以修改,不需要原密码)
net user 用户名 密码 /add 新建账户
net user 用户名 /del 删除账户
net user 用户名 /active:yes/no 激活或禁用账户
注意:命令"net user 用户名 /active:"后面跟no表示禁用,yes表示激活。
三、组管理
假如某公司有几百人,每个员工都有一个账号,一个人一个权限。作为一个系统运维人员,如果一个个赋予或者删除某些特定权限,就工作量很繁重。但是里面肯定是一部分人有相同的权限,另一部分人有另外共同的权限。可以建一个组,把拥有相同权限的账号都放到这个组里,然后在赋权限的时候,就不需要一个个赋予,直接给组赋予一次就可,那么该组全部成员都会拥有这个权限,同样,如果要删除某个权限,也不用一个个用户删除,直接删除一次组权限即可。(个人经验:如果是在公司里面,一般都是以部门为组)
1. 组概述
组的作用:简化权限的赋予。
赋权限方式:
- 用户→组→赋权限(把用户放进组里,然后给组赋权限,则用户也有该权限)
- 用户→赋权限(直接为用户赋权限)
2. 内置组(系统自带的组)
内置组的权限默认已经被系统赋予。人为建的组是空的,没有任何权限,也没有任何成员,但是内置组已经被赋予了权限。比如下面的这些都是常见的系统内置组:
- Administrators # 管理员组
- Guests # 来宾组
- Users # 普通用户组,默认新建用户都属于该组
- Network Configuration Operators # 网络配置组
- Print Operators # 打印机组
- Remote Desktop Users # 远程桌面组
3. 组管理命令
net localgroup 查看所有组列表
net localgroup 组名 查看该组所有成员
net localgroup 组名 用户名 /add 添加某用户到指定组
net localgroup 组名 用户名 /del 从指定组删除某用户
net localgroup 组名 /add 创建新的组
说明:把普通用户添加到管理员组称为提权,从管理员组删除称为降权。