《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:组织目录和文件 实验目标: 熟悉几个基本的操作系统文件和目录的命令的功能.语法和用法, 整理出一个更有条理的主目录,每个文件都位于恰当的子目录. 实验背景: 你的主目录中已经积压了一些文件,你 ...
随机推荐
- js&jquery 获取select下拉框的值、文本内容、自定义属性
js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...
- Spring+Struts+Hibernate 简介(转)
http://blog.csdn.net/slnqnd/article/details/1772910/ Struts2.0 +Hibernate 3.2 +Spring 2.0 一. ...
- C#指南,重温基础,展望远方!(9)C#接口
接口定义了可由类和结构实现的协定. 接口可以包含方法.属性.事件和索引器. 接口不提供所定义的成员的实现代码,仅指定必须由实现接口的类或结构提供的成员. 接口可以采用多重继承. 在以下示例中,接口 I ...
- pandas set_index和reset_index的用法
1.set_index DataFrame可以通过set_index方法,可以设置单索引和复合索引. DataFrame.set_index(keys, drop=True, append=False ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof
JVM性能调优监控工具jps.jstack.jmap.jhat.jstat.hprof
- Huffman的应用之文件压缩与解压缩
文件压缩与解压缩> 近期这段时间一直在学习树的这样的数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们经常使用的zip压缩也是利用的Huffman编码的特性 ...
- 进程控制函数(1)-getpgid() getpgrp() 获取当前进程的进程组ID
定义:pid_t getpid(void); 表头文件:#include<unistd.h> 说明:getpid()用来取得目前进程的进程识别码, 许多程序利用取到的此值来建立临时文件, ...
- 信号处理函数(2)-sigismember()
定义: int sigismember(const sigset_t *set,int signum); 表头文件: #include<signal.h> 说明: sigismem ...
- struts2拦截器的实现原理及源码剖析
拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理.同时,拦截器也可以让你将通用的 ...
- UISCREEN 和支持高分辨率的显示屏
UIScreen对象包含了整个屏幕的边界矩形.当构造应用的用户界面接口时,你应该使用该对象的属性来获得推荐的矩形大小,用以构造你的程序窗口. CGRect bound = [[UIScreen mai ...