Linux是一个多用户,多任务的操作系统,允许多个用户同时登陆到系统上使用资源,系统还根据账户来区分,每个用户的文件进程,任务,给每个用户提供特定的工作环境.
目录
基本概念:
系统上的每个进程都作为特定用户运行,;每个文件都有特定的用户拥有,用户对文件和目录的访问收到限制,与运行中的进程相关量的用户确定该进程可访问的文件和目录.
在Linux中,最高权限就是,用户就是root用户,也就是系统管理员,该用户的身份码是0,在Linux7中通过身份码编号可以区分用户类别:
管理员uid为0:所有权限;
系统用户uid为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整个服务器,所以默认服务程序会有独立的系统用户负责运行,如mysql程序, 进而有限的控制被破坏的范围.
普通用户: uid从1000开始: 有管理员创建用于日常的工作.
需要注意的是:用户uid是不能冲突的,系统管理员创建的uid默认从1000开始,
这里: 使用id命令,就可以查看当前用户的uid和gid,即是用户的信息.
id命令还有一些参数: -u:仅显示有效的uid ;
-g :仅显示用户的基本组id
-G:显示用户所属的所有组id;
-n显示名字而是id号
为了方便管理: 引入了组的概念,通过使用组编号gid,将不同用户可以添加到一个组中,实现同一的管理,,从而更好的对权限进行划分.另外: 在Linux系统中创建用户时.将自动创建一个同名组.而且该组就该用户一个人,如果该用户被归入其他组,.那么那个其他组被称为扩展用户组,而自己的那个组是基本组,一个用户只能有一个基本组,可以有多个扩展组..
下面介绍一些,用户在和组管理的命令:
useradd命令
useradd命令用于创建新的用户,格式: useradd [option] 用户名
使用该目录创建用户账户时,默认的用户家目录会被存放在home下,默认的shell解释器为/bin/bash,而且会默认创建一个与用户名同名的基本组。且该组就一个用户。
参数 | 作用 |
-d | 指定用户家目录(默认为/home/username) |
-e | 账户的到期时间 格式为:YYYY-MM-DD |
-u | 指定用户的默认UID |
-g | 指定一个初始的用户基本组(必须已经存在的) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定用户的默认shell解释器 |
批量创建用户:
1.先编辑一个文本文件将需要添加的用户加入到其中,每一列按照/etc/password,密码文件的格式进行书写,其中的密码栏可以空白.
2.以root身份执行命令: /usr/sbin/newsusers 从刚创建的用户文件中导入数据, newusers < user.txt 然后执行vim /etc/passwd 查看用户宿主是否已经创建
usermod命令
usermod命令用来修改用户属性,usermod [option] 用户
-u: 修改用户的id为此处新指定的uid;
-g 修改用户所属的基本组;
-G 修改用户所属的附加组,原来的组会被覆盖
-a 与-G一同使用,用于为用户追加的新的附加组,一般情况使用这个参数为用户增加附加组.
-c : 修改注释信息
-d:修改用户家目录,用户原有的文件不会被转移到其他地方
-m: 只能与-d一同使用,用户将原来的家目录移动到新的家目录.
-l 修改用户名
-s : 修改用户的默认shell
-L :锁定用户密码.
-U: 加锁用户密码
userdel命令:
userdel 删除用户
-r参数,删除用户一并删除其用户的家目录
groupadd命令
groupadd命令用于创建用户组,格式: groupadd [option] 组名
存放目录文件: /etc/group
-r 创建系统组: gid在1000以内
-g GID :指定gid,默认是上一个组
groupmod命令
修改用户组属性:
-g GID:修改组的GID
n new_name:修改组名
groupdel命令:
groupdel 删除组
passwd命令:
passwd命令用于修改用户名,密码,过期时间,认证信息等,格式为passwd [option] [用户名]
普通用户只能使用该命令更改自身密码.而root可以修改其他用户密码.而且root用户修改他人密码时不同验证旧密码.
参数:
-l 锁定用户禁止其登录
-u 解除锁定,允许登录
--stdin:允许通过标准输入修改用户密码
-d:使该用户可用空密码登录
-e 强制用户在下次登录时修改密码
-w : 警告期限
-x: 密码最长使用期限
gpasswd命令
用于设置组密码 存放文件位置: /etc/gshaow
-a :向组中添加用户
-d:从组中移除用户
newgrp命令
newgrp 指令类似 login 指令,当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用 newgrp 指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则 newgrp 指令会登入该用户名称的预设群组。
临时切换指定组为基本组
语法:newgrp【-】【group】
会模拟用户重新登陆以实现重新初始化其工作环境