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

[root@lhq ~]#ls /etc/ | grep "^[^[:alpha:]][[:alpha:]].*$"

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

  • 先列举出来符合要求的文件或目录

    #ls /etc/ |grep "^p.*[^0-9]$"
  • 搭配xargs传参给cp

    xargs -i cp -r {} /tmp/mytest1/

相对路径:

[root@lhq etc]#ls /etc/ |grep "^p.*[^0-9]$" |xargs -i cp -r {} /tmp/mytest1/

绝对路径:

[root@lhq ~]#mkdir /tmp/mytest1
[root@lhq etc]#ls /etc/ |grep "^p.*[^0-9]$" |xargs -i cp -r /etc/{} /tmp/mytest1/

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

[root@lhq ~]#cat /etc/issue | tr "a-z" “A-Z” > /tmp/issue.out
[root@lhq ~]#cat /tmp/issue.out \S
KBOKBI \O LK በ\J

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

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

[root@lhq ~]#groupadd -g 2019 distro
//检验
[root@lhq ~]#cat /etc/group |tail -1
distro:x:2019:

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

[root@lhq ~]#useradd -u 1016 -g distro mandriva
//检验
[root@lhq ~]#id 1016
uid=1016(mandriva) gid=2019(distro) groups=2019(distro)

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

[root@lhq ~]#useradd -u 1100 -d /home/linux mageia
//检验
[root@lhq ~]#cat /etc/passwd |tail -1
mageia:x:1100:1100::/home/linux:/bin/bash

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

[root@lhq ~]#echo mageedu | passwd --stdin mageia | passwd mageia -x 7
Adjusting aging data for user mageia.
passwd: Success
#检验
[root@lhq ~]#cat /etc/shadow |tail -1
mageia:$1$WN/qMbtO$a3ZTk8PLPuEFdeucNrU3E1:18872:0:7:7:::

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

# 查看家目录
[root@lhq ~]#ll /home |grep mandriva
drwx------. 3 mandriva distro 78 Sep 2 10:18 mandriva
#删用户mandriva
[root@lhq ~]#userdel mandriva
# 查看家目录
[root@lhq ~]#ll /home |grep mandriva
drwx------. 3 mandriva distro 78 Sep 2 10:18 mandriva #结论
userdel不做删除家目录操作

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

[root@lhq ~]#useradd -u 2002 -g distro -G peguin slackware
[root@lhq ~]#id 2002
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)

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

[root@lhq ~]#usermod -s /bin/tcsh slackware
#检验
[root@lhq ~]#cat /etc/passwd |tail -1
slackwate:x:2002:2019::/home/slackware:/bin/tcsh

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

[root@lhq ~]#groupadd admins
[root@lhq ~]#usermod -aG admins -s /bin/nologin slackwate

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

[root@lhq ~]mkdir /date/test/
[root@lhq ~]useradd user1;useradd useradd user2;useradd user3

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

[root@lhq ~]#chown user1:user1 /date/test

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

[root@lhq ~]#setfacl -m u:user2:rw- /date/test
#检验
[root@lhq ~]#getfacl /date/test
getfacl: Removing leading '/' from absolute path names
# file: date/test
# owner: user1
# group: user1
user::rwx
user:user2:rw-
group::r-x
mask::rwx
other::r-x

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

[root@lhq ~]#touch /date/test/a{1..4}.sh
[root@lhq test]#cd /date/test
[root@lhq test]#chattr +i a1.sh a2.sh
[root@lhq ~]#chmod 755 /date/test

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

[root@lhq ~]#usermod -aG user1 user3
[root@lhq ~]#chmod u-x /data/test

(5)、清理/data/test目录及其下所有文件的acl权限

[root@lhq ~]setfacl -b /data/test

llinux_2的更多相关文章

随机推荐

  1. 使用 Docker 部署 Seata Server(分布式事务解决方式)

    1.获取镜像 ## 使用下面命令获取最新版本的镜像,此时我的版本是1.3.0 ## 或者可以使用docker pull seataio/seata-server:latest获取最新的镜像 docke ...

  2. Linux下Tomcat启动、停止、重新启动

    在Linux系统下,重启Tomcat使用命令操作的! 1.首先,进入Tomcat下的bin目录,${CATALINA_HOME}代表tomcat的安装路径 进入Tomcat安装目录: cd ${CAT ...

  3. spring cloud --- 使用 actuator 热更新【刷新】单机配置文件

    1.前言 分布式微服务想要热更新配置文件,还需要 消息中间件 配合使用 ,一般使用 rabbitMQ 或 Kafka ,这里不解释 . 这篇随笔 只讲解 底层的 单机热更新配置文件 2.环境 spri ...

  4. 下载并搭建maven环境

    1.下载maven 1.在官网下载maven  http://maven.apache.org/download.cgi 2.将下载maven解压.复制路径. 2.搭建maven环境 1.新建M2_H ...

  5. git 那些事儿 —— 基于 Learn Git Branching

    前言 推荐一个 git 图形化教学网站:Learn Git Branching,这个网站有一个沙盒可以直接在上面模拟 git 的各种操作,操作效果使用图形的方式展示,非常直观.本文可以看作是它的文字版 ...

  6. go包管理速通,一篇文章就够了,再也不用担心因为不会导包被辞退

    前言 最近在看一些go语言相关的书,发现了一个有意思的事情:其中一本书最新印刷的版本是2017年3月,而golang包管理的后起之秀go module伴随go1.11于2018年8月诞生--因此,书里 ...

  7. 【刷题-LeetCode】210. Course Schedule II

    Course Schedule II There are a total of n courses you have to take, labeled from 0 to n-1. Some cour ...

  8. Activity Fragment Service生命周期图

    service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种 ...

  9. 关于启动bash提示‘bash: export: `//这是新的': not a valid identifier’的解决办法

    学习linux以来将centos改的也不少了,也不知道这个问题是由于那个修改来的.最近改bash的操作环境配置文件,用到了~/.bashrc这个文件,发现里面被我修改过. 那是当年安装fcitx输入法 ...

  10. MobaXterm中文乱码问题

    现在Xshell和SecureCRT都要收费,本着不用盗版的原则,同时需要标签管理session,快捷命令等功能,最后选择了MobaXterm. 但是使用后发现中文会乱码.后按照博客的方法,修改了终端 ...