第二周作业(3月29)
1、从三个方面简述Linux中的权限体系,如传统权限、特殊权限、访问控制acl
答:(1)Linux 传统权限指的是三类对象:所有者,所属组,其他人具有对文件或文件夹具有读、写、执行的权限。
(2)除了通常情况下的三类权限以外,系统还设置是SUID,SGID,Sticky特殊权限,任何一个可执行程序文件启动后,其进程的属主为原程序文件的属主。例如
#存放密码的文件权限,是000.但是为什么可以修改密码呢?
[root@centos8 ~]# ll /etc/shadow
----------. 1 root root 847 Mar 25 08:10 /etc/shadow
#原因在于修改密码的口令passwd 具有特殊权限,rws 标记为S后,执行文件具有所属用户的权限,root。
[root@centos8 ~]# ll `which passwd`
-rwsr-xr-x. 1 root root 33600 Apr 7 2020 /usr/bin/passwd
(3)ACL权限功能实现灵活的权限管理,除了文件的所有者,所属组和其他人,可以对更多的用户设置权限。
2、从ifconfig命令的回显信息中取出本机的ip地址
[root@centos8 ~]# ifconfig eth0 |tail -n +2|head -n1|tr -s " "|cut -d" " -f3
10.0.0.150
3、写一个小脚本,显示出当前登录用户的名称、uid、家目录
#!/bin/bash
#**************************sysuserinfo***************************
#Author: zhongjunsheng
#Email: 407624616@qq.com
#Description: Print UserName ,ID ,Home.
#***************************************************************
#
echo -e "UserName: `whoami`"
echo -e "UserID: `id |tr -s " " "=" |cut -d= -f2 |cut -d"(" -f1`"
echo -e "HomePath: $HOME"
~
~
"sysuserinfo.sh" 10L, 362C 9,66-80 All
执行结果:
[root@centos8 ~]# bash sysuserinfo.sh
UserName: root
UserID: 0
HomePath: /root
4、【选做】写一个脚本读取一个文件,读取一行计数一行
如:
Line 1: root:x:0:0:root:/root:/bin/bash
Line 2: bin:x:1:1:bin:/bin:/sbin/nologin
#创建脚本:test.sh
#!/bin/bash
echo "please enter a filename:"
count=1
read File
while read line
do
echo "line $count:$line"
count=$(($count+1))
done <$File
~
~
"test.sh" 10L, 141C
#执行:
[root@centos8 script]# bash test.sh
please enter a filename:
/etc/passwd
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:65534:65534:Kernel Overflow User:/:/sbin/nologin
line 14:dbus:x:81:81:System message bus:/:/sbin/nologin
line 15:systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
line 16:systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
line 17:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
line 18:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
line 19:unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
line 20:sssd:x:996:993:User for sssd:/:/sbin/nologin
line 21:chrony:x:995:992::/var/lib/chrony:/sbin/nologin
line 22:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
line 23:rngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
line 24:zhong:x:1000:1000:zhong:/home/zhong:/bin/bash
line 25:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
line 26:ngnix:x:993:990::/home/ngnix:/sbin/nologin
line 27:haha:x:1001:1001::/home/haha:/bin/bash
line 28:nxlog:x:1002:1002::/home/nxlog:/bin/bash
line 29:nginx:x:992:989::/home/nginx:/sbin/nologin