Linux操作系统是多用户、多任务系统——即允许多个用户同时登录Linux系统并启动多个任务(有的用户是远程登陆)。用户账号和用户组是进行身份鉴定和权限控制的基础,身份鉴别的目的是规定哪些人可以进入系统,而权限控制的目的则是规定进入系统的用户能做哪些操作。

用户:“用户”,“账号”,在Linux系统中,他们是指同一个概念:使用Linux系统的人,他的信息必须事先已经在Linux系统中登记好

组:每一个用户只能归属于一个主要组群,但是可以同时归属于多个附加组群。给用户分组主要是便于管理同一类用户的权限,例如赋予一个组某种权限,那么这个组所有的用户自动拥有该权限

linux中用户组的类型

超级用户:名称为root,具有一切权力,只有进行系统维护或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

系统用户:是Linux系统正常工作所必须的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的。

普通用户:是为了让使用者能够使用Linux系统资源而建立的。

UID:用户的标识,是一个数值,用它来区分不同的用户每个用户都有一个UID数值:

超级用户的UID— —0

系统用户的UID— —1~999

普通用户的UID— —大于等于1000

id  查看当前用户信息
uid=0(root) gid=0(root) groups=0(root)
用户信息保存在 cat /etc/passwd
用户名称:密码占位符:用户uid:组gid:注释信息:用户家目录:登录shell
root:x:0:0:root:/root:/bin/bash
密码存放路径 cat /etc/shadow

用户组和组织架构区别 用户和组的基本概念_x系统




用户的增删改

参数:
-s:指定改用户的默认shell解释器
-d:指定用户的家目录
-u:指定改用户的默认uid
-e:用户的到期时间 YYYY-MM-DD
-G:指定一个或者多个扩展用户组

useradd(一个用户只能属于一个主组,属于多个附加组)
groupadd sa  新增一个组
groupadd sa1  新增一个组
groupadd students 新增一个组
useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash xh
    
创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统 
       useradd mysql -M -s /sbin/nologin
usermod
    usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
    usermod -L change_bgx  #锁定后会无法登陆系统
    usermod -U change_bgx  # 解锁
userdel
    userdel egon  # 删除用户,不删家目录
    userdel -r egon1 # 删除用户,删家目录

修改密码

passwd root

组的增删改

groupadd no_gid   新增组
groupmod -g 1111 student  改组id号
groupmod student -n new_student  改组名字
groupdel new_student   删除组(组下有人,把人删除,再删)

基本权限

1 rwx                 r-x       r-x
  属主(文件所有者)      属组权限    其他人权限
2 权限详解
    r:read写权限
    w: write写权限
    x:可执行
3 修改权限
	7=4(r)+2(w)+1(x)
	chmod 777 文件夹/文件

特殊权限

选项: + 增加权限 -减少权限 =等于某个权限
a:让文件或目录仅可追加内容
i:不得任意更动文件或目录
给某个文件或者文件夹加特殊权限
	-chattr +i lqz.text
    -chattr -i lqz.text

su sudo

su
  su 切换用户
  su - jack:打开新的shell,会加载自己的环境变量
  su jack:不打开新的shell,不会加载它的环境变量

sudo 普通用户可以有一些超级用户的权限,不需要输入密码
   usermod jack -G wheel  # 把jack用户加入到了wheel组
   这个用户没有权限,尝试 sudo mkdir ll试一下,如果不行,超级管理员没有给你配这个权限