>[success] # 多用户操作系统 ~~~ 1.多用户操作系统是为了'用户权限的隔离','系统资源的隔离','root用户和普通用户的区别' 2.多个用户使用同一个操作系统,每个人做自己的事。每个人都有自己的账号密码,权限也不一样, 好比老板权限最大,员工权限较低多用户大多都是远程登录去控制服务器,可以理解成可以给予不同人 不同操作权限 ~~~ >[danger] ##### 目录的区别 ~~~ 1.root 用户文件/root 下且能看到home下每个用户文件 2.普通用户的文件都在'/home/用户名' 文件下,只能看到自己的 ~~~ >[danger] ##### root 能做什么 ~~~ 1.它拥有最高的系统所有权,能够管理系统的各项功能,如添加删除用户,启动/关闭进程,开启/禁用硬件设备等等。 ~~~ >[danger] ##### UID 和 GID ~~~ 1.UID -- user Identify 用户id 编号,用户身份账户是唯一的 2.GID -- group Identify 用户组id 编号 3.在 Linux中UID为0,就是超级用户,如要设置管理员用户,可以改UID为0,建议用sudo系统用户 4.UID为1~999 Linux安装的服务程序都会创建独有的用户负责运行 5.普通用户UID从1000开始:由管理员创建( centos7),最大值1000~60000范围 ~~~ >[danger] ##### 用户组 ~~~ 1.为了方便管理属于同一组的用户, Linux系统中还引入了用户组的概念。通过使用用户组号码(GID Group IDentification),我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。 ~~~ >[danger] ##### 用户和组的关系 ~~~ 1.一对一,一个用户可以存在一个组里,组里就一个成员 2.一对多,一个用户呆在多个组里面 3.多对一,多个用户在一个组里,这些用户和组有相同的权限 4.多对多,多个用户存在多个组里 ~~~ >[danger] ##### 查看 ~~~ 1. /etc/passwd用户信息 2. /etc/shadow用户密码信息 3. /etc/group用户组信息 4. /etc/shadow用户组密码信息 ~~~ * /etc/group ~~~js 1. /etc/group 存储当前系统中所有用户组信息 2. `root`组编号为`0` 3. `1-499`系统预留的编号 预留给安装的软件和服务的 4. 用户手动创建的用户组从`500`开始 5.组密码占位符都是`x` 6.如果组内只有一个用户,而且用户名和组名相同的话,是可以省略用户名的 ~~~ `root:x:0:root` | 含义 | 含义 | | --- | --- | | root | 组的名称 | | x | 密码占位符 | | 0 | 组编号 | | root | 组中用户名列表 | * /etc/gshadow ~~~ 1.存放当前系统中用户组的密码信息 2.和`/etc/group`中的记录一一对应 ~~~ `root:*::root` | 内容 | 含义 | | --- | --- | | root | 组的名称 | | \* | 组密码,\*为空 | | | 组管理者,为空表示都可以管理这个组 | | root | 组中用户名列表 | * cat /etc/passwd ~~~ 1. 输入' cat /etc/passwd' 会输入一下内容 'games:x:5:60:games:/usr/games:/usr/sbin/nologin' 每个分号字段表示内容 1.1.用户名对应UID,是用户登录系统的名字,系统中唯一不得重复 1.2.用户密码存放在 /etc/shadow 文件中进行保护密码 1.3.用户UID用户ID号,由一个整数表示 1.4.用户组GID 范围、最大值和UID一样,默认创建用户会创建用户组 1.5.用户说明 对此用户描述 1.6.用户家目录 用户登录后默认进去的家目录,一般是【/home/用户名】 1.7.She解释器当前登录用戶使用的解释器。 centos/redhat糸统中,默认的都是bash。若是禁止此用户登 录机器,改为/ sbin/nologin即可 ~~~ `root:x:0:0:root:/root:/bin/bash` | 内容 | 含义 | | --- | --- | | root | 用户名 | | x | 密码占位符 | | 0 | 用户编号 | | 0 | 用户组编号 | | root | 用户注释信息 | | /root | 用户主目录 | | /bin/bash | shell类型 | * /etc/shadow ~~~ 1.存放当前系统中所有用户的密码信息 2.user:xxx::::::: 3.用户名:密码: ~~~ `root:password:17982:0:99999:7:::` | 内容 | 含义 | | --- | --- | | root | 用户名 | | password | 单向加密后的密码 | | 17982 | 修改日期,这个是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改 | | 0 | 这个是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改 | | 99999 | 如果是99999则永远不用改。如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效 | | 7 | 修改期限前N天发出警告 | | | 密码过期的宽限天数 | | | 帐号失效日期 | | | 保留:被保留项,暂时还没有被用上 | >[danger] ##### 用户操作指令 | 命令 | 作用 | | --- | --- | | useradd | 创建用户 | | usermod| 修改用户信息 | | userdel| 删除用户及配置文件 | | passwd| 更改用户密码 | | chpasswd| 批量更新用户密码 | | chage| 修改用户密码属性 | | id| 查看用户UD、GID、组信息 | | su| 切换用户 | | sudo| 用root身份执行命令 | | visudo| 编辑 sudoers配置文件 |