8.3_Linux习题和作业

课堂习题

1.当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?

答:不能cd进该目录

2.当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?

答:不能查看目录内的文件列表,不能cd,也不能查看目录里面文件的元数据

3.当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?

答:不能修改不能删除

4.复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限

[root@centos6 ~]# cp -r /etc/fstab /var/tmp/
[root@centos6 ~]# chown wangcai:sysadmins /var/tmp/fstab
[root@centos6 ~]# chmod g=rw,o= /var/tmp/fsta

5.误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性

[root@centos6 ~]# rm -rf /home/wangcai
[root@centos6 ~]# mkdir /home/wangcai
[root@centos6 ~]# cp -r /etc/skel/. /home/wangcai/
[root@centos6 ~]# chown -R wangcai: /home/wangcai/
[root@centos6 ~]# chmod 700 /home/wangcai/

6.创建sysadmins组,将用户user1,user2,user3加入sysadmins组中,将user3设置为sysadmins的管理员,用user3 登录,将user2从组中移除,设置 sysadmins的密码centos,设置user1 在创建新文件时,文件的所属组为sysadmins,删除user1…3,删除sysadmins

[root@centos ~]# groupadd sysadmins
[root@centos ~]# useradd -G sysadmins user1
[root@centos ~]# useradd -G sysadmins user2
[root@centos ~]# useradd -G sysadmins user3
[root@centos ~]# gpasswd -A user3 sysadmins
[user3@centos ~]$ gpasswd -d user2 sysadmins
Removing user user2 from group sysadmins
 
[user3@centos ~]$ gpasswd sysadmins
Changing the password for group sysadmins
New Password: 
Re-enter new password:
 
[root@centos ~]# usermod -g sysadmins user1
 
[user1@centos ~]$ touch a
[user1@centos ~]$ ll a
-rw-r--r--. 1 user1 sysadmins 0 Aug  4 12:31 a
 
[root@centos ~]# userdel -r user1
userdel: group user1 not removed because it is not the primary group of user user1.
[root@centos ~]# userdel -r user2
[root@centos ~]# userdel -r user3
[root@centos ~]# groupdel sysadmins

7.在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。

[root@centos ~]# useradd alice
[root@centos ~]# mkdir /data/testdir
[root@centos ~]# groupadd g1
[root@centos ~]# groupadd g2
[root@centos ~]# groupadd g3
[root@centos ~]# chgrp g1 /data/testdir
[root@centos ~]# chmod 2770 /data/testdir
[root@centos ~]# setfacl -m g:g2:rw /data/testdir
[root@centos ~]# setfacl -m g:g3:rw /data/testdir
[root@centos ~]# setfacl -m d:g:g2:rw /data/testdir
[root@centos ~]# setfacl -m d:g:g3:r /data/testdir
[root@centos ~]# gpasswd -a tom g2
[tom@centos ~]$  touch f /data/testdir
[root@centos ~]# ll /data/testdir

作业

1.三种权限rwx对文件和目录的不同意义


权限对于文件的意义:

r: 可使用文件查看类工具获取其内容

w: 可修改内容,可破坏内容,但不能删除文件本身

x: 针对二进制可执行的程序或脚本,可以把此文件提请内核启动为一个进程,普通文件不需要执行权限

权限对于目录的意义:

r: 可以使用ls命令查看目录内容的文件信息

w: 可以创建、删除文件

x: 可以使用ls -l命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录

2.umask和acl mask 的区别和联系

区别:

(1)umask备份数据的时候,权限不会丢失,facl就会丢失

(2)umask对于批量对其他用户和组的设置比较方便,但是对个人设置权限就不行

     facl对于批量设置对其他用户设置比较麻烦,但是对个人或者个别人设置就很灵活

(3)umask能通过augo的模型、rwx模型、和八进制的模型来设置权限,facl只能通过rwx模型来设置权限

联系:

(1)都能通过一定的规则来限制其他用户的默认权限

(2)都能限制用户和组的权限

3.三种特殊权限的应用场景和作用

SUID:

当一个用户去运行该程序的时候,该用户继承所有者的权限。SUID只能应用在二进制程序里面,不能作用在目录上面

SGID:

(1)如果应用在二进制程序里面,启动为进程之后,其进程的属主为原程序文件的属组,这种情况跟SUID功能类似(2)如果应用在目录里面,所有用户在此目录下面创建的文件(包括子目录)的时候的属组跟目录的属组一致。此作用通常用于创建一个协作目录。

STICKY 粘滞位:

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权,在目录设置Sticky位,只有文件的所有者或root可以删除该文件。STICKY位作用在文件上面的话没有用。

SUID,SGID,和STICKY都必须要配合有x的权限的。

4.设置user1,使之新建文件权限为rw – – – – – – –

[user1@centos ~]$ echo 'umask 0266' >> .bashrc
[user1@centos ~]$ exit

[user1@centos ~]$ touch b
[user1@centos ~]$ ll
total 0
-rw-------. 1 user1 user1 0 Aug  4 23:53 b

5.设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写

/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—

备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原

[root@centos testdir]# setfacl -m u:user1:r f1
[root@centos testdir]# setfacl -m g:g1:rw f1
[root@centos testdir]# getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:user1:r--
group::r--
group:g1:rw-
mask::rw-
other::r--
[root@centos testdir]# setfacl -m d:u:user1:rw /testdir/dir/
[root@centos testdir]# setfacl -m d:g:g1:--- /testdir/dir
[root@centos testdir]# getfacl /testdir/dir
getfacl: Removing leading '/' from absolute path names
# file: testdir/dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:user1:rw-
default:group::r-x
default:group:g1:---
default:mask::rwx
default:other::r-x
[root@centos testdir]# getfacl -R * > /root/acl.bak
[root@centos testdir]# setfacl -Rb *
[root@centos testdir]# setfacl -R --set-file=/root/acl.bak *

原创文章,作者:~微风~,如若转载,请注明出处:http://www.178linux.com/29299

(0)
~微风~~微风~
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • 在VMware Workstation上安装CentOS 7

    1.新建虚拟机设备设置 2.开启此虚拟机,进行安装设置    需设置4处  时间,SOFTWARE SELECTION,分区,NETWORK & HOST NAME    (1) 首先 时间设置,选中上海时间,设置现在的Windows时间,设置好后,点击Done退出。(下面同意Done保存退…

    2017-07-15
  • Linux发展史

    适用对象:本文适合希望开始学习以及想了解Linux的朋友阅读。本文中所有内容仅供参考,不作为科学依据。 一、      Linux的起源 最初的计算机其实是具有单一功能的大型计算器,只能完成指定或者设定好的工作。多数情况下计算机资源是处于空闲状态的,为了不使资源浪费,就需要使计算机能够或者可以进行多种工作。或…

    Linux干货 2016-10-14
  • 开源跳板机Jumpserver v2.0.0 Beta版发布

    demo页面: http://demo.jumpserver.org admin admin 一. 更新Log — 登录脚本 — 1.1 使用paramiko原生ssh协议登录后端主机(原来版本使用pexpect模拟登录) 1.2 新增使用别名或备注登录 1.3 新增主机分组查看,使用更方便 1.4 多线…

    Linux干货 2015-04-20
  • 三剑客-sed小结

     sed是一款流编辑器工具,通常我们用来对文本进行过滤与替换操作,特别是当你想要对几十个配置文件做统一更改时,你会感受到sed的魅力。它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到…

    系统运维 2016-07-26
  • Linux – 计算机基础知识体系

    一、认识计算机的组成      计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机一般是由硬件系统和软件系统这两部分组成,硬件系统包括:CPU、内存、硬盘、输入和输出设备(键盘鼠标、显示器等),软件系统包括:系统软件自身、用…

    Linux干货 2017-02-19