Bootstrap

基于centos7《鸟哥的Linux基础学习实训手册》第五章习题答案

1.mkdir -m 775 /dev/shm/unit05;

cd /dev/shm/unit05; mkdir dir1 dir2 dir3 dir4;

chmod 754 dir1; chmod 751 dir2; chmod 755 dir3; chmod 777 dir4;

cp /etc/hosts dir1/file1(dir234/file234)

chmod 644 dir1/file1;(644/666/600)(dir234/file234)

2.a)输出结果是这样:

/dev/shm/unit05/dir1:

ls: 无法访问/dev/shm/unit05/dir1/file1: 权限不够

总用量 0

-????????? ? ? ? ? ? file1

ls: 无法打开目录/dev/shm/unit05/dir2: 权限不够

/dev/shm/unit05/dir3:

总用量 4

-rw-rw-rw- 1 root root 158 6月 28 20:20 file3

/dev/shm/unit05/dir4:

总用量 4

-rw------- 1 root root 158 6月 28 20:20 file4

原因:对于dir1目录,普通用户无x权限,因此无法进入查看,但是可以查看到文件名file1

对于dir2,无r权限,无法读取文件名,查看不到file2的存在

b)dir1/file1提示权限不够,其他三个可以正常查看。

因为dir1没有x权限,dir234有x权限

c)dir1/file1显示空白,提示权限不足。因为虽然file1可以阅读,但是dir1无法进入

dir2/file2可以阅读,提示只读。因为dir2可以进入且file2可以阅读

dir3/file3可以随意改写

dir4/file4显示空白,提示权限不足。因为file4对other权限为0

1.systemd

2.有两个su的父进程,su-bash-su和su-bash-ps

3.使用三次exit命令可回到student账户

4.ps -C crond;pgrep crond;pidof crond;pstree -p | grep crond

5.ps -o pid,pri,ni,cmd;

6. ps -o pid,pri,ni,cmd --sort cmd

7.top -d 2;(d=delay)

8.1是CPU排序;m是内存用量排序

1.ps -o pid,pri,ni,cmd

2.ps -C crond;pgrep crond;pidof crond;pstree -p | grep crond,这几种都可以找到

3.renice -15 1070; ps -o pid,pri,ni,cmd -C crond;

4.nice -n 10 su - student

5.可以发现继承了ni值。

0 S  1000   1959   1955  0  80   0 - 29215 do_wai pts/0    00:00:00 bash

4 S  1000   2054   2051  0  90  10 - 29214 do_wai pts/0    00:00:00 bash

0 R  1000   2106   2054  0  90  10 - 38332 -      pts/0    00:00:00 ps

6.top -p 2054

7.r   →    2054       →    0 or 15;可以更改为15但是不可以改为0

1.locate passwd

2.ll -d /var/lib/mlocate

drwxr-x---. 2 root slocate 24 Jul  3 19:06 /var/lib/mlocate/

3.没有权限

4.which locate      →    /bin/locate

5.ll -d /bin/locate →    有标志,locate群组为slocate,因为others拥有“x”可执行的权限,执行过程中,会获得slocate群组的支持

1.ls -ld /run/log/journal/

drwxr-sr-x 3 root systemd-journal 60 Jul  3 18:29 /run/log/journal/;可读可写可执行,群组可读可执行且有SGID权限

2.ls -ld /tmp/fromroot

-rw-r--r-- 1 root root 0 Jul  4 03:29 /tmp/fromroot;群组是root

3.ls -ld /run/log/journal/fromroot

-rw-r--r-- 1 root systemd-journal 0 Jul  4 18:32 /run/log/journal/fromroot

a)ll /opt/checking.txt

b)ll -d /opt

drwxr-xr-x. 4 root root 28 Jun 26 03:25 /opt;可以因为others有读取的权限

c)不能,没有write的权限

d)ls -l /opt/checkdir;有r(read)权限就可以查看,否则不可以查看

e)ls -l /opt/checkdir/myfile.txt;有r(read)权限就可以查看

f)可以,因为对自己的根目录,有w(write)的权限

a)groupadd mygroup; groupadd nogroup;

b)useradd -g mygroup myuser1(myuser2, myuser3);

echo MyPassWord | passwd --stdin myuser1(myuser2, myuser3);

c) useradd nouser1(nouser2, nouser3);

usermod -G nogroup nouser1(nouser2, nouser3);

passwd nouser1(nouser2, nouser3);

a)mkdir -m 770 /srv/myproject; chgrp mygroup /srv/myproject

b)cd /srv/myproject; touch myuser1.data

c)    cp /bin/ls /usr/local/bin/myls;先复制一个myls命令

    chown root:mygroup /usr/local/bin/myls;修改所属群组

    chmod g+s /usr/local/bin/myls;设置SGID权限

    chmod o+x /usr/local/bin/myls;保证others可以执行myls命令

    su nouser1; myls /srv/myproject;则可以查看到myuser1.data文件

d)    cp /bin/less /usr/local/bin/myless;同样先复制less命令

       chown root:mygroup /usr/local/bin/myless;修改所属者

       chmod 770 /usr/local/bin/myless;修改权限

       chmod u+s /usr/local/bin/myless;设置SUID权限

e)    touch /srv/nogroup;创建文件

       chmod 664 /srv/nogroup;修改权限

       chown root:nogroup /srv/nogroup;修改所属群组

4.a)ps -C syslog -o pid,pri,ni,cmd 1> /root/process_syslog.txt

b)ps -C sleep -o ni

c)renice -10 -p [sleep’PID]

d)sleep 5d &;”&”在后台运行

e)vim ~/.bashrc;CTRL + Z暂停vim然后回到tty1中

f)nice -n -5 sleep 4d;

5.    find /usr/bin /usr/sbin -perm /4000 -exec ls -l {} \; >> /root/findsuidsgid.txt

      find /usr/bin /usr/sbin -perm /2000 -exec ls -l {} \; >> /root/findsuidsgid.txt

解释:-exec<执行指令>:假设find指令的回传值为True,就执行该指令;

;