用户、组、权限:
用户是权限的集合,是获取资源的凭证  让进程获取资源的身份标识
权限     获取使用资源的能力
进程:获取了一定的系统资源正在运行或准备运行的...的副本
 没一个进程都是在特定用户


认证机制(确保获取资源的实体是他声称的实体),表米程度越高  认证越复杂


用户帐号 
linux  依靠用户ID号来识别用户的  ID 号是十进制的整数 一般用户和ID号是一一对应的
  0-65535  UID
  
用户类别:
管理员:root,0
系统用户:1-499   为了运行后台进程         从不登录
普通用户:500-60000
nobady--->guest

SHELL:
 GUI:
  Gnome
  KDE
  Xface
 CLI:
  bash
  sh
  ksh
  zsh
  csh
  tcsh
  ash
  
存放当前所有用户的信息
用户 /etc/passwd

组:分派权限的容器  权限的集合  用户加入组  自动集成组所具有的权限
  GID
管理员组:
系统组:
普通组:

用户至少 要有基本组
基本组  用户建立起来的时候默认的组
额外组/附加组 
/etc/group   存放当前所有组的信息
#newfrp  临时切换组到其他组去


密码:
 用户密码:/etc/shadow: 影子口令  加密存放
 组密码:/etc/gshdow
 单向加加密     +salt杂质  明文放在shadow 里
 
 
 
文件权限:
 权限模型mod:属主(所有这)和属组(所有的组)
     权限
文件类型:
 1、普通文件 f(ls命令显示的结果中显示 - ) :
 2、链接文件 l (软链、符号链):
 3、目录文件 d (蓝色)
 4、特殊文件:
  4.1、设备文件
   4.1.1、块设备 b  随机的
   4.1.2、字符设备 c  线性设备
  4.2、
   4.2.1、套接字文件  s
   4.2.2、命名管道 p
 
----------
文件类型   九位权限

   -   ---  ---  ---
   文件类型 u  g  o 
      属主 属组 其他
 
 
      - - -
      r w x   有权限写没有权限-
      读 写 执行
      
一般普通文件不具备执行权限

 

文件权限:
 r:查看
 w:编辑
 x:运行
目录权限:
 r:ls查看  只有r不能 ls  -l  不能cd汲取
 w:具有在目录中创建文件的权限
 x:能cd进去能ls-l
 
rwx:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

 

添加一个用户
#useradd 用户名
 -u  UID  一个不存在
 -g GID 此组必须存在
 -c  注释 全名
 -d 家目录
 -s  默认shell
 -G 附加组 必须存在  可以指定多个  逗号隔开
 
添加一个组
#groupadd 组名
 -g  GID 指定 GID
 
 
/etc/shells  系统中有的SHELL


给用户指定 密码
passwd [username] 
 -l 锁定指定的帐号
 -u  解锁              只有管理员 能用
 --stain  从标准输入读入密码


删除用户
#userdel 用户名  不会将加目录一起删除
 -r  一并 将其 家目录删去
 
删除组
#geoupdel

/etc/shadow  内容存放格式
1:2:3:4:5:6:7:8 :9
 1、用户名:
 2、$加密方式$杂质$加密后的密码:
 3、时间戳(最近一次修改密码的时间):
 4、密码最短使用期限:
 5、最常使用期限:
 6、离密码过期前提前N天提醒:
 7、定义在用户密码超期多长时间以后锁定:
 8、用户帐号锁定时间
 9、预留段

修改用户属性
#usermod
 -u  UID  一个不存在
 -g GID 此组必须存在
 -c 注释  全名
 -d 家目录
 -s  默认shell
 -a -G 在原有附加组基础上再加几个附加组
 -l 改名
 -e  用户帐号的有效期限  YYYY-MM-DD
 -f 
 -d 创建新的家目录
 -d -m  并移动原有数据
 
passwd
 -l 锁定密码
 -u -f  解除密码锁定
 -n 最短使用时间
 -x  最长使用时间
 -w  提醒时间
 -i 用户密码超期多长时间以后锁定
 -d  清空密码
 -S 显示某个用户的状态


权限管理
改变属主
 #chown 用户 文件,...  默认只改变文件或文件夹本身 不修改文件夹下的文件
  -R 递归修改  文件夹下的文件也修改
  --reference=源文件 目标文件  把源文件的属主属组改成跟目标文件的一样
 #chown 用户:组 文件,...
 #chown 用户,组 文件,...   组和文件一起改    只改属组 把冒号前的省略掉
 #chown :组 文件,...  改属组
改变属组
 #chgrp 组 文件,...
  -R 递归修改  文件夹下的文件也修改
 --reference=源文件 目标文件  把源文件的属主属组改成跟目标文件的一样
 
改权限
#chmod [options] mode,mode... file,...
  选项  模型   文件
  
#chmod u|f|o|a=权限 文件,...  权限不一样 用,隔开u|g|o
#chmod u|f|o|a +|- 权限 文件,...  权限不一样 用,隔开u|g|o   a可以省略
  -R 递归修改  文件夹下的文件也修改
  --reference=源文件 目标文件  把源文件的属主属组改成跟目标文件的一样


用户工作环境配置文件:
 全局配置:/etc/prefile, /etc/profile.d/*, /etc/bashre
 个人配置:~/.bash_profile,  .bashrc
  ~/.bash_history  命令历史
  ~/.bash_logout   登出配置
  
  profile类 :交互式登录用户生效
     1、设置环境变量
     2、运行一些命令或脚本
  
     
  bashrc类:交互式和非交互式登录用户生效(不用用户登录就系要执行一些)
     1、设置本地变量
     2、定义命令别名

交互式登录用户执行用户配置文件的过程
/etc/profile--->/etc/profile.d/*--->~/.bash_profile--->~/.bashrc--->/etc/bashrc
非交互式登录:
~/.bashrc--->/etc/bashrc--->/etc/profile.d/*     

 

用户权限管理:
touch 一个文件的权限是 644
mkdir 一个文件夹的权限是 755

umack   反向遮罩码       控制创建的文件目录的权限

创建目录  777-umask
创建文件  666-umask

修改 umack   /etc/bashrc   ~/.bashrc


suid:一个可执行文件在属主执行权限上是s 用户在执行这个文件的时候将是以属主的权限运行
 原来没有表现为S  原来有变现为s
 chmod u+s 添加
 chomod u-s 删除
 
 
sgid:一个可执行文件在属组执行权限上是s 用户在执行这个文件的时候将是以属组的权限运行
sticky:  在目录中   让用户只能删除自己的文件不能删除别人的文件
 chomod o+t
 
---
-  -  -
suid sgid sticky