facl以及linux终端

简介:

facl:文件系统访问控制列表(filesystem  access control list) 

利用文件扩展保存额外的访问控制权限


假设tom和jerry不在同一个组,但是tom有个文件,它希望jerry拥有执行权限,又不想其他人也拥有执行权限,这个时候我们就可以利用facl


getfacl  

setfacl 

    -m:设定

        u:UID:perm

        g:GID:perm

    -x:取消

        u:UID    

        g:GID

例子:

[root@logstash tmp]# getfacl test

# file: test

# owner: root

# group: root

# flags: s-t

user::rwx

group::r-x

other::r-x

[root@logstash tmp]# setfacl -m u:tom:rwx /tmp/test

[root@logstash tmp]# getfacl test

# file: test

# owner: root

# group: root

# flags: s-t

user::rwx

user:tom:rwx

group::r-x

mask::rwx

other::r-x

[root@logstash tmp]# setfacl  -x  u:tom test

[root@logstash tmp]# getfacl test

# file: test

# owner: root

# group: root

# flags: s-t

user::rwx

group::r-x

mask::r-x

other::r-x

当文件没有设定facl属性时,系统对比文件权限的过程为:

owner-->group-->other

而当文件设有facl属性时,对比过程如下:

owner-->facl.user-->group-->facl.group-->other

所以当对文件设置了facl属性时,系统的工作效率会下降


facl中的mask字段:

mask用来设定默认不能超过这个字段的权限,就是说假设mask值为rw-,而你设置某个用户为rwx,这个里面的x权限是不会生效的,具体设置mask的方法有待研究


终端类型:

    console:控制台

    pty:物理终端

    tty#:虚拟终端

    ttys#:串行终端

    pts#:伪终端


几个命令:

    whoami:打印当前登陆者身份

    who:显示谁登陆过系统

    w:显示谁登陆系统,并正在做什么


    last:显示/var/log/wtmp文件,显示用户登录历史以及系统重启历史

        -n #:显示最近#次的相关信息

    lastb:/var/log/btmp文件,显示用户的错误的登录尝试

        -n #:显示最近#次的相关信息

    lastlog:显示每一个用户最近一次的成功登录信息

        

    basename:截取文件名称,比如/etc/passwd,截取为passwd

        $0:显示脚本本身的名称

    hostname:显示主机名


生成随机数:

    RANDOM:0-32768

    echo  $RANDOM


随机数生成器:熵池

/dev/random:数据的随机性比较好,但是会中断,速度较慢

/dev/urandom: 数据的随机性较差,但是不会中断,速度较快


random和urandom区别:

    两个都是从熵池中取随机数,但是random会在熵池数据被取光的时候中断等待熵池重新生成随机数,而urandom则在被取光的时候利用软件生成随机数,因为软件生成的随机数总是有规律可循的,所以随机性较差。

    熵池:当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等


写一个脚本:利用RANDOM变量生成10个随机数,并找出其中的最大值和最小值

#!/bin/bash

ran=$RANDOM

max=$ran

min=$ran

for i in {1..10}

do

echo  $ran

ran=$RANDOM

if [ $ran -gt $max ];then

max=$ran

fi

if [ $ran -lt $min ];then

min=$ran

fi

done

echo  "MAX: $max  MIN:$min"














本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1736543 ,如需转载请自行联系原作者


相关文章
|
1月前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 锁定终端 vlock命令 使用指南
【Shell 命令集合 系统管理 】Linux 锁定终端 vlock命令 使用指南
35 1
|
1月前
|
缓存 IDE Shell
【Shell 命令集合 系统设置 】Linux 重置终端的显示 reset命令 使用指南
【Shell 命令集合 系统设置 】Linux 重置终端的显示 reset命令 使用指南
35 0
|
1月前
|
Unix Shell Linux
Linux 终端和进程的关系,以及在终端前后台切换进程
Linux 终端和进程的关系,以及在终端前后台切换进程
33 1
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 清除终端屏幕内容 clear命令 使用指南
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 清除终端屏幕内容 clear命令 使用指南
31 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
34 0
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
33 0
|
1月前
|
安全 Shell Linux
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
39 0
|
2天前
|
存储 Shell Linux
Linux(25) 如何解决Linux终端乱码问题
Linux(25) 如何解决Linux终端乱码问题
9 1
|
1月前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 终端复用工具 screen命令 使用指南
【Shell 命令集合 系统管理 】Linux 终端复用工具 screen命令 使用指南
33 0
|
1月前
|
编解码 Shell Linux
【Shell 命令集合 系统设置 】Linux 调整终端窗口的大小 resize命令 使用指南
【Shell 命令集合 系统设置 】Linux 调整终端窗口的大小 resize命令 使用指南
33 0