《linux系统及其编程》实验课记录(五)
实验 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系统及其编程》实验课记录(五)的更多相关文章
- Linux系统初学-第三课 Linux网络配置1
Linux系统初学-第三课 Linux网络配置 1.动态IP配置 配置文件路径 /etc/sysconfig/network-scripts/ ls查看网卡eth0,其中HWADDR值得获取:ifco ...
- Linux 系统应用编程——进程基础
一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...
- 云服务器--linux系统操作命令以及安装ngnix记录,以及手动部署本地文件
1.控制台登陆服务器,需要首先知道服务器ip和密码,,命令是 ssh root@1.1.1.1(服务器IP),然后输入密码登入服务器 2.查看linux 版本的系统命令是 cat /etc/redha ...
- linux系统串口编程实例
在嵌入式开发中一些设备如WiFi.蓝牙......都会通过串口进行主机与从机间通信,串口一般以每次1bit位进行传输,效率相对慢. 在linux系统下串口的编程有如下几个步骤,最主要的是串口初始化! ...
- Linux系统shell编程自学_第一章基础
第一章 基础shell的优势在于处理操作系统底层的业务,Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发.处理一键安装.优化.报警脚本shell又叫命令解释器,它能识 ...
- 《linux系统及其编程》实验课记录(一)
实验 1:登录和使用基本的 Linux 命令 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统. 有另外一个无特权用户 student,密码 ...
- 《linux系统及其编程》实验课记录(二)
实验 2:获取对使用命令的帮助 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...
- 《linux系统及其编程》实验课记录(六)
实验 6:Linux 文件系统 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...
- 《linux系统及其编程》实验课记录(四)
实验4:组织目录和文件 实验目标: 熟悉几个基本的操作系统文件和目录的命令的功能.语法和用法, 整理出一个更有条理的主目录,每个文件都位于恰当的子目录. 实验背景: 你的主目录中已经积压了一些文件,你 ...
随机推荐
- UML学习(一)-工具介绍
这里用于学习UML的工具是StarUML,没有什么原因为什么要用它,或许仅仅是有人说好用和比较小. 首先介绍下这个工具,来张图. 1.菜单栏(最上面) 2.快捷工具栏(菜单栏下面) 3.工具项(Too ...
- Hadoop集群+Spark集群搭建(一篇文章就够了)
本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 一.准备 1.1 软件版本 Ub ...
- 【jQuery+html】JS如何在html页面获取PHP输出的变量
如题:JS如何获取php输出到模板HTML的变量呢? 废话不多说,自己看. aa.html <!-- 前提在HTML文件中--> <script type="text/ja ...
- js判断浏览器是否关闭
http://www.blogjava.net/wyz191/archive/2008/12/08/245089.html JS window.onunload=function(){ ...
- Android SDK 快速安装方法
我们都知道使用Android sdk manager下载安装sdk速度非常慢,一般在10k/s以内,本文章推荐一种能够借助迅雷等下载工具下载sdk的zip包从而快速安装sdk的方法. 1.下载3个xm ...
- IntelliJ IDEA类头注释和方法注释
The template is editable. Along with static text, code and comments, you can also use predefined var ...
- iOS 获取屏幕某个区域的截图-b
-(void)fullScreenshots{ UIWindow *screenWindow = [[UIApplicationsharedApplication] keyWindow]; UIGra ...
- windows设置默认打印机
实现这个功能需要使用windows api [DllImport("winspool.drv")] public static extern bool SetDefaultPrin ...
- [转]winform程序textbox滚动条保持在最下面 内容不闪烁
在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显 ...
- 【剑指Offer学习】【面试题22:栈的压入、弹出序列】
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请推断二个序列是否为该栈的弹出顺序.假设压入栈的全部数字均不相等. 解题思路: 解决问题非常直观的想法就是建立一个辅助栈.把输入的第一个序列中的数字 ...