【linux_笔记】Linux_文件系统访问控制列表(facl)、用户及Linux终端

学习资源来自:www.magedu.com

学习记录过程中难免出现错误,如有发现,还望大神们指出。

示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考(练习题在附录)。



文件系统访问控制列表

    文件系统访问控制列表(FACL):Filesystem Access Control List
    利用文件扩展保存额外的访问控制权限

    setfacl(设定facl)
        -m: 设定
            u:UID:perm
            g:GID:perm
            为某个目录设定默认的访问控制列表:
            d:u:UID:perm
            d:g:GID:perm
        -x:取消
            u:UID
            g:GID

    getfacl(获取facl)


    示例:(使用facl赋予用户hadoop对root创建的文件inittab的读写权限)
        mkdir /backup
        cd /backup
        cp /etc/inittab ./
        getfacl inittab

        su - hadoop
        cd /backup
        ls
        echo 123 > inittab ―― 拒绝执行
        exit

        setfacl -m u:hadoop:rw inittab ―― 设置inittab的额外访问权限
        getfacl inittab

        su - hadoop
        cd /backup
        echo 123 >> inittab ―― 执行成功
        tail -5 inittab
        exit

        setfacl -m g:mygroup:rw inittab ―― 设置组权限
        getfacl inittab

        setfacl -x u:hadoop inittab    ―― 取消权限
        setfacl -x g:mygroup inittab
        getfacl inittab



权限应用次序:
没有facl时:Owner --> Group --> Other
有了facl以后:Owner --> facl,user --> Group --> facl --> Other


终端类型:
    console:控制台 直接连到主机上的显示器、键盘(可以验证用户身份的软硬件)
    pty:物理终端(VGA)
    tty#:第#个虚拟控制台(VGA)
    ttyS#:第#个串行终端
    pts/#:第#个伪终端
    
与系统用户相关的一些命令:

    w:显示登录到当前系统的用户都有哪些以及正在执行什么命令
    
    who:显示登录到当前系统的用户都有哪些(用户,终端,时间)
        -r:显示当前运行级别
        -H:显示表头;
        who | grep "hadoop"    ―― 查看hadoop是否已经登录
        
    sleep:进程延时
        sleep 5    ――    每隔5秒钟
        
    whoami:显示当前登录到系统的有效用户

    last:显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
        -n #: 显示最近#次的相关信息
        
    lastb:/var/log/btmp文件,显示用户错误的登录尝试
        -n #:显示最近#次的相关信息
        
    lastlog:
显示每一个用户最近一次的成功登录信息;
        -u USERNAME: 显示特定用户最近的登录信息

    basename:取得路径的基名
        $0: 执行脚本时的脚本路径及名称(引用脚本名称)
        示例:
            basename /etc/passwd
            
    mail:邮件
        输入编号查看邮件
        q:退出
        示例:(发送邮件)
        cat /etc/fstab | mail -s "How are you" root
        mail -s "How are you" root < /etc/fstab
        
    hostname: 实时获取主机名
    hostname HOSTNAME:重命名
    echo $HOSTNAME:获取主机名(非实时)
        示例:
        如果当前主机的主机名不是www.magedu.com,就将其改为www.magedu.com
        [ `hostname` != www.magedu.com ] && hostname www.magedu.com

        如果当前主机的主机名是localhost,就将其改为www.magedu.com
        [ `hostname` != localhost ] && hostname www.magedu.com

        如果当前主机的主机名为空,或者为(none),,就将其改为www.magedu.com
        [ -z `hostname` ] || [ `hostname` == '(none)' ] && hostname www.magedu.com
        -z(主机名为空)

    生成随机数


        RANDOM(系统内部命令): 0-32768    ―― 有规律
            echo $RANDOM

        随机数生成器(无规律):熵池
        /dev/random:
        /dev/urandom:





你可能感兴趣的:(终端类型,facl,权限应用次序)