任何文件都有 r-w-x 权限 
①普通文件
r权限代表用户可以用cat ,less,more,tail….等命令查看其内容
w权限 代表可以编辑里面的内容增加,修改,删除 里面的内容  
x 权限 表示可以提供给内核然后内核执行它

②目录
r :用户可以用LS命令列出目录中的内容 
w:可以在目录中创建文件或者目录 能不能修改或者删除还要看文件的权限
x :可以用cd 命令进入目录 或者ls –l 命令查看目录中文件的详细信息
(一般来讲目录都具有x权限,否则用户无法操作目录;文件不具备x权限)

rwx:
   r-- :只读
   r-x :读执行
   --- :无权限
    二进制         000      ---:无权限   0    八进制表示
                  001     --x:执行     1
                 010      -w-:写       2
                  011     -wx:写执行   3
                  100     r--:只读     4
                  101     r-x:读执行   5
                   110    rw-:读写     6
                  111     rwx:读写执行 7
用户:  UID  计算机识别用户的标识 数字 
组:    GID  
解析:名称解析   根据/etc/passwd  为数据库 当用户登录之后计算机自动查找文件 将用户名对应的UID找到
      并用UID 来操作
/etc/passwd 为用户的信息库  包括用户名  密码 默认使用的登录shell
/etc/shadow 影子口令 是用户的密码真正的存放地
/etc/gshadow  组的密码存放地

用户的类别:总体上2个大类别
              管理员 root  :  UID  永远是0
              普通用户: UID   1-65535
                       ---系统用户  1-500
                       ---一般用户  500-60000
系统用户:主要是运行后台进程 不允许登录系统的 

用户组:  管理员组:
           普通组:
            系统组:
            一般组:
用户组:   基本组:默认组
           私有组:创建用户的时候,如果没有为其指定所属组,系统创建一个与账户名相同的组
           附加组:默认组以为的其他组
用户发起进程 然后进程去打开文件 创建文件或者执行程序 那么进程的权限就是发起者的权限
也就是一个进程对文件的操作就是要看发起者与文件的权限匹配到哪个执行组里面那么就以哪个
相应的权限来执行

/etc/passwd 有七个字段组成 :
account:用户名
passwd:密码占位符
UID:
GID:
comment:用户的注释信息
home:用户家目录
shell:用户默认使用的shell

查看一个系统下的合法shell  :  cat  /etc/shells

系统真正存放密码的文件:  /etc/shadow
                        密码加密方式:  ①  对称加密  加密和解密是同一个密码
                                        ②  公钥加密  密码成对出现    公钥加密  私钥解密   反之亦然
                                             密钥长 安全  速度慢   比 对称加密 速度快3个数量级   主要用来密钥交换
                                        ③  单向加密 或者散列加密或者指纹加密   只能加密不能解密  主要用来提取数据特征码 长用来测试数据的完整性校验
                                                     特点:a.雪崩效应  或者 蝴蝶效应  初始条件的微笑改变将会引起结果的巨大变化
                                                           b.定长输出 
                                            常用的有:  MD5  128位的定长输出  麻省理工学院                                                            
                                                        SHA1  160位定长输出
                                                        SHA256   256位定长输出
                                                        SHA512   512位定长输出
添加用户:USERADD USERNAME
添加密码:PASSWD USERNAME

添加一个用户有默认的一些属性:/etc/default/里面的useradd 文件中
                              # useradd defaults file
                                GROUP=100
                                HOME=/home
                                INACTIVE=-1
                                EXPIRE=
                                SHELL=/bin/bash
                                SKEL=/etc/skel
                                CREATE_MAIL_SPOOL=yes

组文件: /etc/group    cat /etc/group
                        root:x:0:
                        bin:x:1:bin,daemon
                        daemon:x:2:bin,daemon
                        sys:x:3:bin,adm
                        adm:x:4:adm,daemon
                        tty:x:5:
                        disk:x:6:
                        lp:x:7:daemon
                        mem:x:8:
                        kmem:x:9:
                        wheel:x:10:
                        mail:x:12:mail,po   用冒号分开  依次为 组名 组密码 UID 以这个组为基本组的用户列表

用户管理命令: useradd  userdel  usermod  passwd  chsh  chfn  finger  id  chage

USERADD [OPTIONS] USERNAME
                              -u uid
                              -g gid 基本用户的基本组指定的组必须首先存在
                              -G ,,,,,指定用户的附加组  可以有多个
                              -c “COMMENT”注释信息
                              -d path to directory  用户家目录
                              -s 指定用户默认使用的shell的路径  最好是etc/shells 里面的shell
                              -m -k 强行指定创建家目录 并把/etc/skel目录中的有关shell的环境设置文件 一并拷贝到家目录里面
                              -M 不为用户创建家目录
                              -r 添加一个id号1-499的系统账户
                              /etc/login.defs  有关账户的默认配置信息文件
                                                #
                                                # Please note that the parameters in this configuration file control the
                                                # behavior of the tools from the shadow-utils component. None of these
                                                # tools uses the PAM mechanism, and the utilities that use PAM (such as the
                                                # passwd command) should therefore be configured elsewhere. Refer to
                                                # /etc/pam.d/system-auth for more information.
                                                #

                                                # *REQUIRED*
                                                #   Directory where mailboxes reside, _or_ name of file, relative to the
                                                #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
                                                #   QMAIL_DIR is for Qmail
                                                #
                                                #QMAIL_DIR    Maildir
                                                MAIL_DIR    /var/spool/mail
                                                #MAIL_FILE    .mail

                                                # Password aging controls:
                                                #
                                                #    PASS_MAX_DAYS    Maximum number of days a password may be used.
                                                #    PASS_MIN_DAYS    Minimum number of days allowed between password changes.
                                                #    PASS_MIN_LEN    Minimum acceptable password length.
                                                #    PASS_WARN_AGE    Number of days warning given before a password expires.
                                                #
                                                PASS_MAX_DAYS    99999
                                                PASS_MIN_DAYS    0
                                                PASS_MIN_LEN    5
                                                PASS_WARN_AGE    7

                                                #
                                                # Min/max values for automatic uid selection in useradd
                                                #
                                                UID_MIN              500
                                                UID_MAX            60000

                                                #
                                                # Min/max values for automatic gid selection in groupadd
                                                #
                                                GID_MIN              500
                                                GID_MAX            60000

                                                #
                                                # If defined, this command is run when removing a user.
                                                # It should remove any at/cron/print jobs etc. owned by
                                                # the user to be removed (passed as the first argument).
                                                #
                                                #USERDEL_CMD    /usr/sbin/userdel_local

                                                #
                                                # If useradd should create home directories for users by default
                                                # On RH systems, we do. This option is overridden with the -m flag on
                                                # useradd command line.
                                                #
                                                CREATE_HOME    yes

                                                # The permission mask is initialized to this value. If not specified,
                                                # the permission mask will be initialized to 022.
                                                UMASK           077

                                                # This enables userdel to remove user groups if no members exist.
                                                #
                                                USERGROUPS_ENAB yes

                                                # Use SHA512 to encrypt password.
                                                ENCRYPT_METHOD SHA512
userdel [options] USERNAME
         -r  删除账户的同时删除用户的家目录 
usermod [options] USERNAME
         -u
         -g
         -G -a  不使用 -a 会覆盖之前的附加组
         -c
         -d  -m 为用户指定新的家目录 并把之前家目录里面的文件移动到新的家目录之中去
         -s 修改用户的默认shell
         -l 修改用户的用户名
         -L 锁定账户
         -U 解锁账户
id 命令 查看用户的id信息   id [options]  USERNAME
                               -u  USERNAME 显示指定用户的ID
                               -g  USERNAME 显示指定用户的基本组ID
                               -G USERNAME 显示指定用户的所有组的ID
                               -n  USERNAME 显示用户名或组名
finger USERNAME   查看用户的相关帐号信息

chsh  USERNAME  修改用户的默认shell
chfn  USERNAME  修改用户的注释信息

密码管理 PASSWD  只有管理员可以修改其他用户的密码  其他用户只能修改自己的密码
     PASSWD USERNAME
          --stdin
          -l 锁定用户账户
          -u 解锁用户
          -d 删除用户密码
pwck USERNAME 检查用户账户的完整性
组管理  groupadd  添加一个系统组
               -g  指定组id
               -r  指定一个系统组              
        groupmod
               -g GRPID
                -n GRPNAME
         groupdel
                 删除一个组
        groupwd 为组设定一个密码  当一个用户临时切换基本组的时候需要的密码,前提是这个用户和组
                 没有任何的关联,比如这个组是用户的附加组 那么切换的时候就不需要密码
        newgrp   切换用户到另一个组  推出EXIT                
chage  修改用户的密码文件
      chage [options] USERNAME
             -d :最后一次密码修改时间
             -E: 过期时间   
             -I 非活动时间
             -m  MINDAYS
             -M  MAXDAYS
             -W  warndays
             -l  list Options