热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2.linux文件管理与权限管理

1、显示etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录2、复制etc目录下所有以p开头,以非数字结尾的文件或目录到tmpmytest1目录中。3、

1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
(5)、删除mandriva,但保留其家目录;
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(8)、为用户slackware新增附加组admins,并设置不可登陆。
5、创建用户user1、user2、user3。在/data/下创建目录test
(1)、目录/data/test属主、属组为user1
(2)、在目录属主、属组不变的情况下,user2对文件有读写权限
(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件、除了user1及root之外,所有用户都不可删除a3.sh, a4.sh
(4)、user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件
(5)、清理/data/test目录及其下所有文件的acl权限


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

[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,表示 a
-z
[:upper:]: 任意大写字母,表示 A
-Z
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
[root@centos7
-v1 ~]#cd /etc/
[root@centos7
-v1 etc]#mkdir 1aa
[root@centos7
-v1 etc]#touch 1aa.txt
[root@centos7
-v1 etc]#ls /etc/ | grep ^[^[:alpha:]][[:alpha:]].*
1aa
1aa.txt

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

[root@centos7-v1 etc]#mkdir /tmp/mytest1
mkdir: cannot create directory ‘
/tmp/mytest1’: File exists
[root@centos7
-v1 etc]#cp -r /etc/p*[^[:digit:]] /tmp/mytest1
[root@centos7
-v1 etc]#ll /tmp/mytest1/
total
68
drwxr
-xr-x 2 root root 4096 Mar 13 06:09 pam.d
-rw-r--r-- 1 root root 68 Mar 13 06:09 papersize
-rw-r--r-- 1 root root 2576 Mar 13 06:09 passwd
-rw-r--r-- 1 root root 2535 Mar 13 06:09 passwd-
-rw-r--r-- 1 root root 1362 Mar 13 06:09 pbm2ppa.conf
drwxr
-xr-x 9 root root 104 Mar 13 06:09 pcp
-rw-r--r-- 1 root root 6460 Mar 13 06:09 pcp.conf
-rw-r--r-- 1 root root 6662 Mar 13 06:09 pcp.env
-rw-r--r-- 1 root root 2872 Mar 13 06:09 pinforc
drwxr
-xr-x 13 root root 165 Mar 13 06:09 pki
drwxr
-xr-x 2 root root 28 Mar 13 06:09 plymouth
drwxr
-xr-x 5 root root 52 Mar 13 06:09 pm
-rw-r--r-- 1 root root 6300 Mar 13 06:09 pnm2ppa.conf
drwxr
-xr-x 2 root root 6 Mar 13 06:09 popt.d
drwxr
-xr-x 2 root root 154 Mar 13 06:09 postfix
drwxr
-xr-x 3 root root 219 Mar 13 06:09 ppp
drwxr
-xr-x 2 root root 105 Mar 13 06:09 prelink.conf.d
-rw-r--r-- 1 root root 233 Mar 13 06:09 printcap
-rw-r--r-- 1 root root 1819 Mar 13 06:09 profile
drwxr
-xr-x 2 root root 4096 Mar 13 06:09 profile.d
-rw-r--r-- 1 root root 6545 Mar 13 06:09 protocols
drwxr
-xr-x 2 root root 79 Mar 13 06:09 pulse
drwxr
-xr-x 2 root root 23 Mar 13 06:09 purple
drwxr
-xr-x 2 root root 35 Mar 13 06:09 python
3.将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@centos7-v1 ~]#cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out
[root@centos7
-v1 ~]#cat /etc/issue
\S
Kernel \r on an \m
[root@centos7
-v1 ~]#cat /tmp/issue.out
\S
KERNEL \R ON AN \M
[root@centos7
-v1 ~]#
4.请总结描述用户和组管理类命令的使用方法并完成以下练习

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

[root@centos7-v1 ~]#groupadd -g 2019 distro

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

[root@centos7-v1 ~]#useradd -u 1005 -g distro mandriva
[root@centos7
-v1 ~]#id mandriva
uid
=1005(mandriva) gid=2019(distro) groups=2019(distro)

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

[root@centos7-v1 ~]#useradd -d /home/linux -u 1100 mageia
[root@centos7
-v1 ~]#id mageia
uid
=1100(mageia) gid=1100(mageia) groups=1100(mageia)

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

[root@centos7-v1 ~]#echo mageedu | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
[root@centos7-v1 ~]#passwd -x 7 mageia
Adjusting aging data for user mageia.
passwd: Success

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

[root@centos7-v1 ~]#userdel mandriva
[root@centos7
-v1 ~]#ll /home/linux/
total
0
[root@centos7
-v1 ~]#ll /home/
total
0
drwx
------ 3 mageia mageia 78 Mar 13 06:21 linux
drwx
------. 3 mage mage 91 Jan 23 22:10 mage
drwx
------ 3 1005 distro 78 Mar 13 06:20 mandriva
drwx
------. 3 test test 78 Jan 22 00:13 test
drwx
------. 3 xiaoming xiaoming 78 Jan 26 01:27 xiaoming

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

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

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

[root@centos7-v1 ~]#usermod -s /bin/tcsh slackware
[root@centos7
-v1 ~]#cat /etc/passwd | grep slackware
slackware:x:
2002:2019::/home/slackware:/bin/tcsh

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

[root@centos7-v1 ~]#groupadd admins
[root@centos7
-v1 ~]#usermod -aG admins slackware
[root@centos7
-v1 ~]#id slackware
uid
=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)
[root@centos7
-v1 ~]#cat /etc/passwd | grep slackware
slackware:x:
2002:2019::/home/slackware:/bin/tcsh
5.创建用户user1、user2、user3。在/data/下创建目录test

[root@centos7-v1 ~]#useradd user1
[root@centos7
-v1 ~]#useradd user2
[root@centos7
-v1 ~]#useradd user3
[root@centos7
-v1 ~]#mkdir -p /data/test
[root@centos7
-v1 ~]#cat /etc/passwd | grep user*
saned:x:
995:992:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
saslauth:x:
994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
radvd:x:
75:75:radvd user:/:/sbin/nologin
qemu:x:
107:107:qemu user:/:/sbin/nologin
tss:x:
59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:
113:113:usbmuxd user:/:/sbin/nologin
rpcuser:x:
29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
oprofile:x:
16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin
user1:x:
2003:2003::/home/user1:/bin/bash
user2:x:
2004:2004::/home/user2:/bin/bash
user3:x:
2005:2005::/home/user3:/bin/bash

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

[root@centos7-v1 ~]#ll /data/
total
0
drwxr
-xr-x 2 root root 52 Feb 8 03:32 httpd
drwxr
-xr-x. 5 root root 41 Jan 24 08:47 mysql
crw
-r--r-- 1 root root 1, 3 Feb 9 06:49 null
brw
-rw---- 1 root disk 8, 1 Feb 8 03:27 sda1
drwxr
-xr-x 2 root root 6 Mar 13 06:32 test
prw
-r--r-- 1 root root 0 Mar 3 09:37 test.fifo
drwxr
-xr-x. 2 root root 6 Jan 26 00:23 www
[root@centos7
-v1 ~]#chown -R user1.user1 /data/test
[root@centos7
-v1 ~]#ll /data/
total
0
drwxr
-xr-x 2 root root 52 Feb 8 03:32 httpd
drwxr
-xr-x. 5 root root 41 Jan 24 08:47 mysql
crw
-r--r-- 1 root root 1, 3 Feb 9 06:49 null
brw
-rw---- 1 root disk 8, 1 Feb 8 03:27 sda1
drwxr
-xr-x 2 user1 user1 6 Mar 13 06:32 test
prw
-r--r-- 1 root root 0 Mar 3 09:37 test.fifo
drwxr
-xr-x. 2 root root 6 Jan 26 00:23 www
[root@centos7
-v1 ~]#

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

[root@centos7-v1 ~]#setfacl -R -m u:user2:rw /data/test
[root@centos7
-v1 ~]#getfacl /data/test
getfacl: Removing leading
'/' from absolute path names
#
file: data/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@centos7-v1 ~]#cd /data/test/
[root@centos7
-v1 test]#ll
total
0
[root@centos7
-v1 test]#touch a{1..4}.sh
[root@centos7
-v1 test]#ll
total
0
-rw-r--r-- 1 root root 0 Mar 13 06:40 a1.sh
-rw-r--r-- 1 root root 0 Mar 13 06:40 a2.sh
-rw-r--r-- 1 root root 0 Mar 13 06:40 a3.sh
-rw-r--r-- 1 root root 0 Mar 13 06:40 a4.sh
[root@centos7
-v1 test]#chattr +i a1.sh a2.sh
[root@centos7
-v1 test]#lsattr
----i----------- ./a1.sh
----i----------- ./a2.sh
---------------- ./a3.sh
---------------- ./a4.sh
[root@centos7
-v1 test]#chmod o+t a3.sh a4.sh
[root@centos7
-v1 test]#ll
total
0
-rw-r--r-- 1 root root 0 Mar 13 06:40 a1.sh
-rw-r--r-- 1 root root 0 Mar 13 06:40 a2.sh
-rw-r--r-T 1 root root 0 Mar 13 06:40 a3.sh
-rw-r--r-T 1 root root 0 Mar 13 06:40 a4.sh
[root@centos7
-v1 test]#ll ../
total
0
drwxr
-xr-x 2 root root 52 Feb 8 03:32 httpd
drwxr
-xr-x. 5 root root 41 Jan 24 08:47 mysql
crw
-r--r-- 1 root root 1, 3 Feb 9 06:49 null
brw
-rw---- 1 root disk 8, 1 Feb 8 03:27 sda1
drwxrwxr
-x+ 2 user1 user1 58 Mar 13 06:40 test
prw
-r--r-- 1 root root 0 Mar 3 09:37 test.fifo
drwxr
-xr-x. 2 root root 6 Jan 26 00:23 www
[root@centos7
-v1 test]#

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

[root@centos7-v1 test]#id user3
uid
=2005(user3) gid=2005(user3) groups=2005(user3)
[root@centos7
-v1 test]#usermod -G user1 user3
[root@centos7
-v1 test]#id user3
uid
=2005(user3) gid=2005(user3) groups=2005(user3),2003(user1)
[root@centos7
-v1 test]#ll -d /data/test
drwxrwxr
-x+ 2 user1 user1 58 Mar 13 06:40 /data/test
[root@centos7
-v1 test]#chmod -x /data/test
[root@centos7
-v1 test]#ll -d /data/test
drw
-rw-r--+ 2 user1 user1 58 Mar 13 06:40 /data/test

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

[root@centos7-v1 test]#getfacl /data/test
getfacl: Removing leading
'/' from absolute path names
#
file: data/test
# owner: user1
# group: user1
user::rw
-
user:user2:rw
-
group::r
-x #effective:r--
mask::rw
-
other::r
--
[root@centos7
-v1 test]#setfacl -R -b /data/test
[root@centos7
-v1 test]#getfacl /data/test
getfacl: Removing leading
'/' from absolute path names
#
file: data/test
# owner: user1
# group: user1
user::rw
-
group::r
--
other::r
--
[root@centos7
-v1 test]#

 



推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
author-avatar
双鱼獒主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有