03-29日作业

1、从三个方面简述Linux中的权限体系,如传统权限、特殊权限、访问控制acl

传统权限:

   umask默认为0022 计算时取022,文件夹相当于元数据,文件相当于数据,故文件不需要执行权限也可进行读写删除操作,文件夹需要最大权限777,文件最大权限 666 ,系统中生成的文件夹及文件权限=最大权限-umask ,计算后文件权限遇到奇数自动加一(不需要执行权限),系统文夹默认权限 644 /rw-r-r   文件夹默认权限 755/rwx-rx-rx

特殊权限:

1)SUID  作用在属主位置,文件具有S权限,任何用户执行此文件便具有此用户属主的所有权限

增加或删除 chmod  u+s  u-s

2)SGID 作用在属组位置,文件具有S权限,任何用户执行此文件便具有此用户的属组权限,此外如果作用在文件夹上 这个文件下新创建的文件具有此文件夹相同的属组权限。

增加或删除 chmod  g+s  g-s

3)Stick 作用在其他权限中,文件具有T权限,谁创建的谁才可以进行删除

增加或删除 chmod  o+t  o-t

4)chattr 作用在特殊位置,文件具有i或a权限,i权限任何人无法修改删除,a任何人无法删除 但可追加内容

增加或删除 chattr  -i/+i/+a/-a

查看 lsattr /stat

访问控制FACL:

针对某一个用户设置权限,体现在属主位置,设置的权限只对单一用户生效

增加 setfacl  -m -u:用户:rwx    xx文件

删除 setfacl -b 删除所有执行权限

查看 getfacl xx文件

2、从ifconfig命令的回显信息中取出本机的ip地址

ifconfig|head -2|tail -n +2|tr -s " "|cut -d" " -f3

ifconfig|egrep -om1 '\<([0-9]{1,3}\.){1,3}[0-9]{1,3}\>'|head -1

3、写一个小脚本,显示出当前登录用户的名称、uid、家目录

#!/bin/bash

#

#******************************************************************************

#Author:                                  ruan

#QQ:                                      1097744154

#Filename:                                userinfo.sh

#Date:                                    2021-03-30

#Description:                            The test script

#version:                                               

#Copyright (C):                        2021 open-source

#******************************************************************************

NAME=`whoami`

USERINFO=`cat /etc/passwd`

USER_HOME=`cat /etc/passwd |grep -E ^"\<$NAME\>"|cut -d":" -f6`

USERID=`id -u $NAME`

COLCK="\E[1;$[RANDOM%7+31]m"

END="\E[0m"

read -p "Whether to display user information(Yes/No)?" confirm

case $confirm  in

  [Yy]|[Yy][Ee][Ss])

        echo -e "ACTIVE USER IS: $COLCK$NAME$END"

        echo -e "USER ID IS:    $COLCK$USERID$END"

        echo -e "USERHOME IS:    $COLCK$USER_HOME$END"

      ;;

  [Nn]|[Nn][Oo])

        echo -e "$COLCK确认退出$END"

      ;;

    *)

        echo -e "$COLCK输入错误$END"

      ;;

esac

4、【选做】写一个脚本读取一个文件,读取一行计数一行

如:

Line 1: root:x:0:0:root:/root:/bin/bash

Line 2: bin:x:1:1:bin:/bin:/sbin/nologin

#!/bin/bash

#

#******************************************************************************

#Author:                                  ruan

#QQ:                                      1097744154

#Filename:                                Read and print

#Date:                                    2021-03-29

#Description:                            The test script

#version:                                               

#Copyright (C):                        2021 open-source

#****************************************************************************

read -p  "请输入文件路径:" f

! [ -a "$f" ] &&  { echo "您输入的文件不存在"; exit; }

! [ -f "$f" ] &&  { echo  "您输入的不是普通文件";exit; }

! [ -w "$f" ] && echo  "文件权限不足"

l=`cat $f|wc -l`

for i in `seq 1 $l`;do

    cat  "$f" |head -$i|tail -1

    sleep 1

done

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容