实验 5:权限的设置和更改

实验环境:

安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统。有另外一个无特权用户 student,密码 student 的账户存在,还有一个无特权的用户 visitor,密码 password的账户存在。

实验目标:

了解 linux 的安全模型,熟悉用户账号的组群帐号,设置并修改文件权限。

实验背景:

在 Linux 系统中,各个用户(除超级用户外)的空间之间是隔离的,一个用户是不能进入其他用户的注册空间的。通常普通用户可以通过超级用户在/usr 目录下建立共享的用户目录,

然后将该共享目录的属主权移交给普通用户。普通用户可将该目录可设置成允许同组用户访问,也可以设置成允许所有用户访问。并在该目录中提供允许共享的文件。

实验要求:

1、转换用户帐号,查看 id 值

2、使用 chown 修改文件属主

3、使用 chmod 采用两种不同方法修改文件权限

4、使用 umask 修改默认的权限

实验详解:

1、使用口令 password 登录为用户 visitor。如果你使用的是图形化环境,点击[应用程序(Applications)]->[附件(System Tools)]->[终端(Terminal)]来打开终端:

2、登录到系统之后,你应该就位于你的主目录中。使用”id”命令来查看你的相关信息:

[student@desktopX ~]$ id

uid=501(visitor) gid=501(visitor) group=501(visitor)

„„

[student@desktopX ~]$ pwd

/home/visitor

3、运行 su – student 命令来转换成用户 student,在运行上一步:

[student@desktopX ~]$ id

uid=500(visitor) gid=500(visitor) group=500(visitor)

„„

[student@desktopX ~]$ pwd

/home/student

思考:为什么我们要用 su -而不直接用 su 。

4、现在切换到 root 用户,在/usr 中创建两个文件夹,分别为 student 和 visitor:

[student@desktopX ~]$ su -

Password:

[root@desktopX ~]# cd /usr

[root@desktopX usr]# mkdir student visitor

[root@desktopX usr]# ls –ld student visitor

5、使用 chown 命令来修改这两个文件夹的属主:

[root@desktopX usr]# chown student:student student

[root@desktopX usr]# chown visitor:visitor visitor

6、回到 student 文件夹,用 student 账户创建两个文本文件,分别为 tf1 和 tf2,并赋予

不同的权限:

[student@desktopX student]$ cat >tf1

This file is for all user

[student@desktopX student]$ cat >tf2

This file is for the users in the same groups

[student@desktopX student]$ ls –l tf1 tf2

[student@desktopX student]$ chmod 750 tf2

[student@desktopX student]$ ls –l tf1 tf2

7、切换到 visitor 用户,分别访问刚才创建的两个文件 tf1 和 tf2:

[student@desktopX student]$ su visitor

Password:

[visitor@desktopX student]$ cat tf1

This file is for all user

[visitor@desktopX student]$ cat tf2

cat: tf2: Permission denied

8、切换到 root 用户,使用 chmod 命令增加 visitor 的访问权限:

[visitor@desktopX student]$ su

[root@ desktopX student]# chmod o+r tf2

9、回到 visitor 用户,继续访问 tf2:

[visitor@desktopX student]$ cat tf2

This file is for the users in the same groups

10、使用 umask 修改文件的默认权限:

[student@desktopX student]$ umask 0002

[student@desktopX student]$ mkdir dir1

[student@desktopX student]$ umask –p 007

[student@desktopX student]$ mkdir dir2

[student@desktopX student]$ ls –ld dir1 dir2

这时候如果切换到 visitor 用户访问 dir2 将会提示权限不够

[visitor@desktopX student]$ cd dir2

dir2: .: Permission denied

Freecode : www.cnblogs.com/yym2013

《linux系统及其编程》实验课记录(五)的更多相关文章

  1. Linux系统初学-第三课 Linux网络配置1

    Linux系统初学-第三课 Linux网络配置 1.动态IP配置 配置文件路径 /etc/sysconfig/network-scripts/ ls查看网卡eth0,其中HWADDR值得获取:ifco ...

  2. Linux 系统应用编程——进程基础

    一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...

  3. 云服务器--linux系统操作命令以及安装ngnix记录,以及手动部署本地文件

    1.控制台登陆服务器,需要首先知道服务器ip和密码,,命令是 ssh root@1.1.1.1(服务器IP),然后输入密码登入服务器 2.查看linux 版本的系统命令是 cat /etc/redha ...

  4. linux系统串口编程实例

    在嵌入式开发中一些设备如WiFi.蓝牙......都会通过串口进行主机与从机间通信,串口一般以每次1bit位进行传输,效率相对慢. 在linux系统下串口的编程有如下几个步骤,最主要的是串口初始化! ...

  5. Linux系统shell编程自学_第一章基础

    第一章 基础shell的优势在于处理操作系统底层的业务,Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发.处理一键安装.优化.报警脚本shell又叫命令解释器,它能识 ...

  6. 《linux系统及其编程》实验课记录(一)

    实验 1:登录和使用基本的 Linux 命令 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统. 有另外一个无特权用户 student,密码 ...

  7. 《linux系统及其编程》实验课记录(二)

    实验 2:获取对使用命令的帮助 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...

  8. 《linux系统及其编程》实验课记录(六)

    实验 6:Linux 文件系统 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...

  9. 《linux系统及其编程》实验课记录(四)

    实验4:组织目录和文件 实验目标: 熟悉几个基本的操作系统文件和目录的命令的功能.语法和用法, 整理出一个更有条理的主目录,每个文件都位于恰当的子目录. 实验背景: 你的主目录中已经积压了一些文件,你 ...

随机推荐

  1. Zabbix Server和MPM(monitor for mysql)的高速部署

    1. 前言         zabbix作为开源免费的监控软件.其易于管理配置和可视化的视图.历史数据的定期维护.模板化的监控项目越来越受到广大IT运维人员的喜爱. 这里主要是总结了下Zabbix S ...

  2. MySQL比较两个表不同的数据

    在本教程中,您将学习如何比较两个表以找到不匹配的记录. 在数据迁移中,我们经常需要比较两个表,以便在一个表中标识另一个表中没有相应记录的记录. 例如,我们有一个新的数据库,其架构与旧数据库不同.我们的 ...

  3. 在eclipse中将android工程打包生成apk文件

    1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...

  4. python文件输入和输出

    1.1文件对象 文件只是连续的字节序列.数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成.1.2文件内建函数open()和file() 内建函数open()的基本语法是: file_ ...

  5. 摘:C/C++中时间类time.h

    摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实例向你展示了time.h头文件中 ...

  6. C#中byte类型转换为double类型

    // Initialize unmanged memory to hold the array. int size = Marshal.SizeOf(bytes[0]) * bytes.Length; ...

  7. 关注C++细节——C++11新标准之decltype的使用注意

    c++11新特性--decltype decltype是C++11加入的一个新的keyword,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式 ...

  8. Codeforces 401C Team 贪心法

    本题使用贪心法.关键是考贪心策略.同一时候要求要细心,我提交的时候也WA了几次.大意题目就是怎样依照给定的规则排列一个01字符串,引用原题例如以下: C. Team time limit per te ...

  9. express 设置header解决跨域问题

    //设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", ...

  10. jenkins + jacoco 单元测试覆盖率

    1.新建一个maven工程,在src/main/java 下建一个CoverageTest.java 类 package test_junit; public class CoverageTest { ...