热门标签 | 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]#

 



推荐阅读
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社区 版权所有