1、从三个方面简述Linux中的权限体系,如传统权限、特殊权限、访问控制acl
权限体系
传统权限
基于用户类别区分
u、g、o、a
r - 4
w - 2
x - 1
数字表达
rwx -- 777
特殊权限
基于用户类别,在用户类型之上有了进一步控制
sst
suid: 作用于(可执行)文件,设置suid权限,则程序的执行者相当于获得该文件的临时属主,提权
如果一个文件有x权限,则设置完suid之后,x会变成s
如果一个文件没有x权限,则设置完suid之后,x会变S
sgid: 作用于目录,设置sgid权限,突出了一个继承关系,该目录下面建立的所有文件或目录都将拥有这个目录的属组
stick: 作用于目录,设置stick权限,则该目录下的文件或目录,只有root与属主可以删除
acl:访问控制权限
进一步精细化权限控制,基于用户
2、从ifconfig命令的回显信息中取出本机的ip地址
[root@centos7 ~]# ifconfig eth0 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -1
10.0.0.7
3、写一个小脚本,显示出当前登录用户的名称、uid、家目录
[root@centos7 ~]# vim login.sh
#!/bin/bash
#
#********************************************************************
#Author: zhanghui
#QQ: 19661891
#Date: 2021-03-29
#FileName: login.sh
#URL: www.neteagles.cn
#Description: The test script
#Copyright (C): 2021 All rights reserved
#********************************************************************
LOGIN_USER=`who|cut -d" " -f1| head -1`
getent passwd |grep "^${LOGIN_USER}"| cut -d: -f1,3,7
:wq
[root@centos7 ~]# bash login.sh
root:0:/bin/bash
4、【选做】写一个脚本读取一个文件,读取一行计数一行
如:
Line 1: root:x0:0:root:/root:/bin/bash
Line 2: bin:x1:1:bin:/bin:/sbin/nologin
[root@centos7 ~]# vim while.sh
#!/bin/bash
#
#********************************************************************
#Author: zhanghui
#QQ: 19661891
#Date: 2021-03-29
#FileName: while.sh
#URL: www.neteagles.cn
#Description: The test script
#Copyright (C): 2021 All rights reserved
#********************************************************************
finename='/etc/passwd'
count=0
while read line;do
count=$((count+1))
echo line $count:$line
done < $finename
:wq
[root@centos7 ~]# bash while.sh
line 1:root:x:0:0:root:/root:/bin/bash
line 2:bin:x:1:1:bin:/bin:/sbin/nologin
line 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
line 4:adm:x:3:4:adm:/var/adm:/sbin/nologin
line 5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
line 6:sync:x:5:0:sync:/sbin:/bin/sync
line 7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
line 8:halt:x:7:0:halt:/sbin:/sbin/halt
line 9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
line 10:operator:x:11:0:operator:/root:/sbin/nologin
line 11:games:x:12:100:games:/usr/games:/sbin/nologin
line 12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
line 13:nobody:x:99:99:Nobody:/:/sbin/nologin
line 14:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
line 15:dbus:x:81:81:System message bus:/:/sbin/nologin
line 16:polkitd:x:999:998:User for polkitd:/:/sbin/nologin
line 17:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
line 18:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
line 19:neteagle:x:1000:1000:neteagle:/home/neteagle:/bin/bash