程序输出的返回值

    标准输出返回值:0

    标准错误输出返回值:1-255

    echo $? 来获取返回值

    /dev/null: 设备数据(数据黑洞)

        可将无用的信息输出至 /dev/null  如 ls /var &> /dev/null

    set -c : 在覆盖前提示用户


用户&组: 实现资源分派的核心要素

组: 用户和权限的容器,方便管理权限相同的用户

用户的分类: 

    管理员administrator  ID为0

    系统用户 system user   1-499  非交互式,deamon,类似于win中的service.

    普通用户 users    500以后

    -- userID(numeric)  /etc/passwd/ 存放用户信息

            /etc/shadow: 存放密码

            /etc/group

            /etc/gshadow 组的密码

        名称解析 用户名与用户ID的解析

组ID同用户ID

    管理组 0

    系统组 1-499

    普通用户组 500+

3A认证:

    Authentication: 密码库

    Authorization:通过属主属组来实现

    Audit,通过操作日志来实现

权限:一切皆文件

    文件:

        r

        w

        x: eXcute, 提交给内核运行的权限,

    目录:

        r: 可以ls

        w: 创建或删除

        x: 可以cd至该目录,或ls显示该目录元数据信息

    ls -la 九位权限, 属主,属组,后三位其它用户

    用户访问文件时的权限匹配模式:(mode)

        1,运行该进程的属主是否与文件属主一致,是则以属主权限运行,否则进入step2,

        2,检查是否与属组一致,否则进入step3

        3, 以其它用户身份执行


密码文件:

    /etc/shadow

        格式需要了解,冒号隔开的7个字段

         account:passwd:UID:GID(基本组):GECOS(optional,comments):

        directory(家目录):shell(用户的默认shell)  /etc/shells

        用户所属的组:

            基本组;

            额外组(附加组)


useradd:

    useradd USER1

        ls -l `which useradd`   which adduser

    如果创建时未指定基本组,则创建与该用户同名的组作为其基本组。(私有组)

    options:

        -u: UID 指定用户ID useradd -u 888 USERNAME

        -g: GID 指定基本组 useradd -g testgroup USER

        -G: 指定额外组

        -c: comment,加注释信息

        -d: 家目录,若此目录事先存在,会有warning,  复制/etc/skel (skeleton)

            useradd -d /tmp/test/ USER

        -s: 指定shell, /etc/shells中的一种,使用绝对路径 

            useradd -s /bin/tcsh USER   echo $SHELL 查看

        -M: 不指定用户家目录

        -r: 创建系统用户(非登录用户,所以没有家目录) 

    

groupadd:

    三个冒号分隔的4个字段  /etc/group

        groupname:passwd(点位符x):GID:user_list(seperated by comma,以之作为额外组)

    option:

        -g: GID

        -r: 系统组

userdel

    # userdel [options] USRNAME

    -r: 删除用户及其相应家目录

    

groupdel

    # groupdel GRPNAME


usermod:

    # usermod [option] USRNAME

    -u UID

    -g GID基本组

    -G GID附加组,通常与-a(append) 一起使用,表示以追加方式修改附加组

    -c 修改注释

    -d /path/to/somewhere修改家目录的位置

groupmod

    -g GID

    -n new name GROUP_NAME


gpasswd: 给组设定密码


chsh USERNAME 更改shell


chfn USERNAME 更改用户注释信息 finger informaton


chage [option] USERNAME 


查看用户信息:

    id USERNAME

        -g

        -G

        -n: name

    who

    w: 比who显示更详细

    whoami

    finger, centos6以后默认不带,可以yum install finger

切换用户:

    su: Switch User

        su [option] USER

            -l: 完全切换,l(login)可以省略

            -c 'COMMAND': 仅以指定用户运行命令,并取回结果

        


passwd [username]

    --stdin

    -l lock

    -u unlock


加密方式:

    对称加密

     不对称加密--公钥加密

        公钥+私钥


    


    单向加密: 如MD5、SHA,提取数据唯一的特征码,(经常用于数字签名)

        1,定长输出;2,不可逆;3,雪崩效应

        #md5sum /etc/fstab

        MD5:128bit

        SHA1: 160bit

        SHA512: 512bit (128个字符)

CA: 证书颁发机构

    PKI: Public Key Infrastructure


/etc/shadow 文件格式: # man 5 shadow

    用户名:加密的密码:最近一次修改密码时间:密码最短使用期限:

    密码最长使用期限:密码过期警告区间:非活动期限:帐号过期期限:保留区域