一、用户管理

1、对用户而言:管理员uid为0 root
            系统用户:uid (1--499)
            普通用户:uid(大于500)
2、对组而言: 私有组 只有一个用户
           公共组:有多个用户
           系统组:gid在1---499的
3、组对用户而言又分为:
基本组:用户最初属于组时
附加组:用户可以属于多个组,除了基本组外,其他的组就是用户的附加组,在/etc/group第四栏显示                                                                                                                                                                                                                                                                                  
用户在登陆系统时要经过认证(AUTHENTICAION)
                                       和授权(AUTHCKIZATION)
4、用户和组的文件:
用户文件:/etc/passwd用户信息 /etc/shadow 用户密码
组文件:/etc/group用户组信息 /etc/gshadow 存放组密码
5、添加用户命令:useradd 参数有
            -u uid 可以指定用户id 不用系统默认的
            -g gid 指定组id
            -G 组名 指定附加组
            -s Shell 类型 
            -d 家目录
            -c 添加注释信息
            -M 不创建家目录 -m 创建家目录一般与-k连用
      例如: useradd -M jing 在/etc/passwd 文件里会有jing用户的一个位置 但在/home目录里不会出现jing的家目录    
 
批量添加用户
newusers 命令  改命令不会自动在用户家目录添加环境变量(/etc/skel)
 Vim  /tmp/myuser
专门修改用户登录文件的 ,防止多个用户同时修改该文件 防止文件崩溃
vipw   etc/passwd
vigr   etc/group      
6、修改用户信息命令:usermod 参数与添加用户的一样
        -u 
        -g 
         -s
        -d 一般与-m 一块用(在改变家目录时目录有文件时用到)
         -l 改变用户登录名时用到
        -G 与-a(追加)连用
    usermod -a -G user(组名) jack(用户名)
        -e 修改用户密码过期时间 格式:usermod -e 年月日
        -f 密码过期时 账号就禁用了但会有一段的缓和时间,这个时间的设定就用该参数
7、删除用户信息:userdel
            直接加用户名该用户的账号家目录依然在
           -r 家目录会被铲除
8、组的添加和修改:groupadd 参数
          -g gid
          -r 系统组
修改:groupmod -g gid
                -n 组名
     gpasswd   改组密码
     newgrp 临时切换到不属于该组成员的其他组 要有切换组的密码 是给组加密码的原因之一
二、用户密码/etc/shadow 第二栏
    !!表示用户没设密码 如果用户设了密码就表示该用户账号被锁定
密码加密方式:MD5  salt(种子)
         单向加密: 不可逆 提取用户特征码 定长输出 雪崩效应()
        MD5 : 128位
   在两个用户密码一样时,会在成威胁,系统验证时会加上种子值(salt)再进过计算
         Sha1 :安全的哈希短算发 160位
非交互式的给用户加密:
 echo '12345' | passwd -- stdin John(用户名)非交互式的添加密码
三、文件管理:
1、 文件类型
       -普通文件
       d:目录
       p:管道
       l:链接文件
       b:块设备文件 随机存储
       c:字符设备文件 线性的 传输串连的字符
        s:套接字设备
2、 文件权限
(1)分为三类:u:文件的拥有者 g:文件所属组 o:不属于组的其他用户
对于每一类用户:r(4)读 w(写) x(1)执行
 
(2)特殊权限:setuid  setgid  sticky粘滞位
setuid(s)针对文件而言的 设置该属性表示其他用户在执行文件时以文件属主的身份执行
setgid(s)与setuid具有相同的属性,目录里的文件以目录的属组执行不以用户的
Setgid 组里的成员文件可以互相删除
sticky (t)针对目录而言:一旦目录设置了改参数就表示在此目录中,只有文件的拥有者,目录的拥有者及root可以删除该文件,其他用户不能删除 通常用于专项目录
(3)权限修改
命令:chmod chown chgrp
 + 添加权限 – 去除文件 =指定权限
例如:chmod u+s 文件名
      chmod g+s 文件名
      chmod o+t 文件名
也可以用数字表示 setuid(4) setgid (2) sticky(1)
     chmod 4644 文件名 (-rwsr--r--)
对于文件或目录而言 如果本身就有执行权限则用大写S表示 没有的话就用小写s表示
Sticky一样有的话就用大写T表示没有的就用小写t
 Chown 修改文件属主
      #chown jing(所改用户) ping.sh(所改文件)
     # chown 用户名:组名 文件路径 (也可以将属主和属组一起改)
Chgrp 修改文件的所在组
     #chgrp 组名 文件名
(4)umask值 系统值:002 用户值:022
对文件而言:系统默认的文件权限为:666 目录:777 并不是最终权限要根据umask值
           系统默认的最终权限为664 目录:775
           Root用户的最终权限:文件 644 目录:755
设置umask值 #umask 023 只是临时生效的要永久设置在/hoem/profile里设
对于文件而言不管umask值是多少都不能用执行权限