您的位置:首页 > 博客中心 > 网络系统 >

FACL和Linux终端

时间:2022-04-03 13:36

文件访问控制列表

ACL:通俗来说就是设置指定的特定用户或用户组对某个文件的操作权限

FACL:Filesystem Access Control List

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


一般的权限应用次序为:Owner → Group → Other

设置FACL后的权限应用次序为:Owner → facl‘user → Group → facl‘group → Other


# setfacl [参数] FILE    (增加或修改ACL权限)

    -R:递归(对目录中已有文件赋FACL)

    -m:设置文件的ACL权限

        u:UID:MODE    (设定用户为MODE权限)

        g:GID:MODE    (设定组为MODE权限)

        d:u:UID:MODE    (为目录设定默认的访问控制列表,以后新建的子文件都具有此默认FACL)

        d:g:GID:MODE    (为目录设定默认的访问控制列表,以后新建的子文件都具有此默认FACL)

    -x:删除指定的ACL权限

        u:UID

        g:GID

    -b:删除所有ACL权限

    -k:删除默认ACL权限

# getfacl FILE    (显示文件的ACL权限规则)

    mask:最大有效权限,用来控制最大权限。如果给用户赋予了ACL权限,需要和mask权限相与才能得到用户真正权限,修改最大有效权限mask:# setfacl -m m:MODE FILE




一些命令:

# whoami    (显示当前登录到系统中的用户是谁)

# who    (显示登录到当前系统上的用户有哪些)

    -r:显示当前运行级别及上一次运行级别

    -H:显示头部    【NAME    LINE用户登录终端    TIME    COMMENT注释】

        终端:物理设备(远程登录、本地登录)

        终端类型:

            console:控制台,直接连到主机上的物理设备(直接连到当前这台Linux所装的物理硬件设备上的)显示器和键盘。控制台不是终端,它只是能够直接连进硬件设备的一个显示界面

            pty:物理终端(VGA卡,即显卡)

            tty#:虚拟终端,通常附加在某个物理终端上,并结合软件方式虚拟实现,通常在本地(VGA)

            ttyS#:串行终端

            pts/#:伪终端(#代表第#个终端)

    su - 用户,并非是登录用户

# w    (显示已登录系统的用户并显示其详细工作信息,比who更详细)

    USER    TTY    LOGIN@    IDLE    JCPU    PCPU    WHAT

# last    (显示/var/log/wtmp文件,显示用户登录历史及系统重启信息)

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

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

    -n #:只显示最近#次的登录尝试

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

    -u USERNAME:显示特定用户最近登录信息

# basename    (显示文件或路径的基名)

    $0:执行脚本时的脚本路径及名称

# mail    (邮件)

    -s 邮件标题

    </<<:使用输入重定向发邮件

# hostname    (显示当前主机的主机名,同echo $HOSTNAME)

# sleep n    (休眠n秒钟)

# echo $RANDOM    (生成随机数)

    RANDOM:0-32768

    随机数生成器:熵池

        /dev/random    更安全,但熵池空时会停下来等待往熵池中填随机数,会阻塞用户进程

        /dev/urandom    更好用,熵池空时用软件方式模拟生成随机数,不会阻塞用户进程





        

本类排行

今日推荐

热门手游