小白学习Linux之路3

1.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

目前掌握两个方法:

ls -d /etc/[^[:alpha:]][[:alpha:]]*

ls /etc |grep ^[^[:alpha:]][[:alpha:]].*

说明: 1.ls -d /etc/[^[:alpha:]][[:alpha:]]*找不到匹配的文件时会提示错误,请看上图。

         2.使用touch命令创建了符合条件的文件,进行测试。

 

2.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

    1.mkdir -v /tmp/mytest1

    2.cp -a /etc/p*[^0-9] /tmp/mytest1

    3.ll /tmp/mytest1

 

3.将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

   1.cat /etc/issue | tr 'a-z' 'A-Z' >/tmp/issue.out

  2.查看/tmp/issue.out的文件内容

     cat /tmp/issue.out

 

 

 

4.总结描述用户和组管理类命令的使用方法并完成以下练习:

与用户管理有关的命令有:useradd,usermod,passwd,newusers,userdel,chage等;

与组管理有关的命令有:group,groupadd,groupdel,groupmod,groupmems等;

(1)创建组distro,其GID为2019

 

groupadd -g 2019 distro
getent group distro

 

 

 

 

(2)创建用户mandriva,其ID为1005,基本组为di's't'ro;

1 useradd -u 1005 -g distro mandriva
2 getent passwd mandriva

 

 

 

(3)创建用户mageia,其ID为1100,家目录为/home/linux;

 

useradd -u 1100 -d /home/linux mageia
getent passwd mageia

 

 

(4)给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期;

echo maeedu | passwd --stdin mageia
passwd -x 7 mageia
或下面的命令一样的效果
chage -M 7 mageia
chage -l mageia

 

(5)删除mandriva,但保留其家目录;

userdel mandriva
ll home
getent passwd mandriva

 

(6)创建用户slackware,其ID为2002,基本组为distro,附加组为peguin;

1 groupadd peguin
2 useradd -u 2002 -g distro -G peguin slackware
3 getent passwd slackware
4 id slackware

 

 

(7)修改slackware的默认shell为/bin/tcsh

1 usermod -s /bin/tcsh slackware
2 getent passwd slackware

 

(8)为用户slackware新增附加组admins,并设置不可登陆

1 groupadd admins
2 usermod -s /sbin/nologin -aG admins slackware

 

5.创建用户user1,user2,user3。在/data下创建目录test

(1)目录/data/test属主,属组为user1

 

1 useradd user1
2 useradd user2
3 useradd user3
4 mkdir /data/test
5 ll
6 chown user1.user1 /data/test

 

(2)在目录属主,属组不变的情况下,user2对文件有读写权限

 

1 chmod o=rwx /data/test
2 ll

 

 

 

(3)user1在/data/test目录下创建文件a1.sh,a2.sh,a3.sh,a4.sh,设置所有用户都不可删除a1.sh,a2.sh,除了user1和root之外,所有用户都不能删除a3.sh,a4.sh

#在/data/test目录下创建文件
1
[root@CentOS8 ~]# cd /data/test 2 [root@CentOS8 test]# ls 3 [root@CentOS8 test]# touch a{1..4}.sh 4 [root@CentOS8 test]# ls 5 a1.sh a2.sh a3.sh a4.sh 6


#将/data/test目录的权限改为700;将a3.sh和a4.sh加上只读属性 7 [root@CentOS8 test]# chmod 700 /data/test 8 [root@CentOS8 test]# chattr +i a3.sh a4.sh 9

#切换user2进行测试,发现无法删除文件 10 [root@CentOS8 test]# su user2 11 [user2@CentOS8 test]$ rm -f * 12 rm: cannot remove '*': Permission denied 13 [user2@CentOS8 test]$ exit 14 exit 15 [root@CentOS8 test]# ls 16 a1.sh a2.sh a3.sh a4.sh 17

#切换user3进行测试,发现无法删除文件 18 [root@CentOS8 test]# su user3 19 [user3@CentOS8 test]$ rm -f * 20 rm: cannot remove '*': Permission denied 21 [user3@CentOS8 test]$ exit 22 exit 23


#切换use1进行测试,发现可以删除a1.sh,a2.sh;无法删除a3.sh和a4.sh 24 [root@CentOS8 test]# su user1 25 [user1@CentOS8 test]$ rm -f * 26 rm: cannot remove 'a3.sh': Operation not permitted 27 rm: cannot remove 'a4.sh': Operation not permitted 28 [user1@CentOS8 test]$ ls 29 a3.sh a4.sh

 

(4)user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件

#将用户user3加进user1组中

[root@CentOS8 data]# groupmems -a user3 -g user1
[root@CentOS8 data]# id user3
uid=2005(user3) gid=2005(user3) groups=2005(user3),2003(user1)

 

#查看/data/test的user1的权限信息

[root@CentOS8 data]# ll
total 4
drwxr-xr-x. 2 root  root    6 Feb 23 18:20 scritps
-rwxr-xr-x. 1 root  root  671 Feb 25 07:42 system_info.sh
drwx------. 2 user1 user1  58 Feb 28 08:39 test

 

#将所有者的权限改为0;再增加user1的ACL权限为0

[root@CentOS8 data]# chmod 000 /data/test
[root@CentOS8 data]# setfacl -m u:user1:--- /data/test
[root@CentOS8 data]# ll
total 4
drwxr-xr-x. 2 root  root    6 Feb 23 18:20 scritps
-rwxr-xr-x. 1 root  root  671 Feb 25 07:42 system_info.sh
d---------+ 2 user1 user1  58 Feb 28 08:39 test

 

#切换user1用户进行测试

[root@CentOS8 data]# su - user1
[user1@CentOS8 ~]$ cd /data/test
-bash: cd: /data/test: Permission denied
[user1@CentOS8 ~]$ ls !$
ls /data/test
ls: cannot open directory '/data/test': Permission denied
[user1@CentOS8 ~]$

 
 (5)清理/data/test目录及其下所有文件的alc权限
 
#查看/data/test目录的ACL
[root@CentOS8 data]# ll -d /data/test d---------+ 2 user1 user1 58 Feb 28 08:39 /data/test [root@CentOS8 data]# [root@CentOS8 data]#
#清除/data/test下所有的ACL [root@CentOS8 data]# setfacl
-Rb /data/test [root@CentOS8 data]# [root@CentOS8 data]#
#清除ALC后,再次查看 [root@CentOS8 data]# ll
-d /data/test d---------. 2 user1 user1 58 Feb 28 08:39 /data/test [root@CentOS8 data]#

 

 

 

posted @ 2021-02-27 21:16  生活很无奈  阅读(78)  评论(0)    收藏  举报