文章标题
2015-09-01 22:14
288 查看
文件权限.用户
1.这一讲的内容概要1、在Linux下安装J2EE开发环境
JDK + Eclipse + MyEclipse + Tomcat + MySQL/Oracal
2、Linux下使用realplayer
3、linux下使用QQ
4、Linux分区的讲解
5、 redHat9.0安装演示
文件所有者、所在组和其它组
1、在Linux中的每个用户必须属于一个组,不能独立与足外。在Linux中每个文件有所有者,所在组,其它组的概念。
(Windows中也有组的概念(在计算机管理——本地用户和组),每个用户在不同组中的权限不一样,譬如说Administrators组、Guest组),
2、用户允许可以在不同的组,用户拥有的权限一最高的权限为主。
1. 文件的所有者:指文件的创建者,谁创建了该文件,就天然成了该文件的所有者。可用 [ls -ahl]命令查看文件的所有者(是一个用户,例如root、新添加的用户dengqi1),也可以用[chown 用户名 文件名]来修改文件的所有者
2. 文件的所在组:文件所有者所在的组即为文件的所有组
用[ls -ahl]命令查看文件的所有组。通过[chgrp 组名 文件名]来修改文件的所有组
3. 文件的其它组
:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。(例如小明属于警察组,除了小明和小明警察组之外的用户是其它组)
举例子:建两个组group1,group2,建三个用户user1、user2、user3,将user1放到group1组,user2放到group1组件,user3放在group2组。(组合用户的添加只有root用户有这个权限)
在Linux中如何添加组:groupadd 组名
1、查看Linux中所有的组的信息:cat /etc/group(cat命令只是查看,vi可以修改)
2、group1:503:组名:加密(不用管):组id(自增 + 唯一)
创建用户,并添加到指定的组:
1、useradd -g 组名 用户名
2、查看Linux中所有用户信息:
vi(cat) /etc/passwd,显示为:user1:X:504:503: :/home/dengqi:/bin/bash
用户名:加密的密码:用户的id:用户组的id:用户注释(为空):用户所在目录:shell解析器
3、解释下shell:在控制台输入的命令,要通过shell解析器将命令解析成Linux内核可以识别的代码,Linux内核执行后通过shell解析器将结果传给用户。
4、接着为用户分配密码:passwd user1/user2/user3
使用用户user1登录(会自动切换到user1的主目录)
1、使用user1登录
2、创建文件test1.java文件,使用ls -l命令查看文件结果如图所示:
从左到右分别为:
-rw-r–r–
1:如果test.java是一个文件,就是1,如果是个文件夹,则显示的是该文件夹下子目录的个数
user1:文件的所有者
group1:文件的所在组
时间
test.java:文件名
-rw-r–r–解析
表示各类用户对该文件的操作权限
1、四种权限:r-可读-4;w-可写-2;x-可执行-1;
1、区分:①- | ②rw- |③ r– | ④r–
①、表示文件的类型,-代表普通文件;d代表目录;链接为l
②、文件的所有者对该文件的访问权限,例如如上就表示所有者user1对文件test1.java访问权限为可读、可写;
③、文件的所在组对该文件的访问权限,例如如上就表示文件所在组user2对文件test1.java的访问权限为可读
④、其它组用户对该文件的访问权限,例如如上就表示其它组用户user3对文件test1.java的访问权限为可读
测试:user2访问group1组中user1中的文件test.java
1、切换user2登录,进入user1目录。出现如下错误:Permission Denied(一个用户不能访问其它用户,这算是Linux的管理机制吧)
如何修改文件访问权限的问题
使用ls -l 命令查看home下的文件
1、drwx——:d表示文件类型为文件夹(directory),即表示只有user1文件所有者对user1文件有可读可写可执行的操作;所在组和其它组都没这个权限。
2、如何修改文件的访问权限(有两个人可以修改自己的权限,一个是自己本身,一个是root,其它的不行)
(who am i命令查看当前用户)
3、用user1登录,切换到home目录下修改user1自身的访问权限;
chmod 777 user1 //7 = 4r + 2w + 1x;
4、之后user2用户就能进入user1用户访问user1目录下test1.java文件了。
改变用户所在组:
再添加用户时,可以指定将该用户添加到哪个组中,同样也可以使用Root管理权限改变用户所在的组(自己是不能修改自身所在组的)
[usermod -g 组名 用户名]
[usermod -d 目录名 用户名 改变 该用户登陆的初始目录]
将一个用户移植到另一个组中:usernod -g 组名 用户名(root权限)
,例如将原来在group2中的user3移植到group1的命令为:
usermod -g group1 user3
一般谁创建了该文件,就天然成为了该文件的所有者
1、用ls -ahl命令查看文件的所有者;
2、chown 用户名 文件名修改文件的所有者。
相关文章推荐
- Topcoder SRM 666 DIV 1
- 13.迭代器模式(设计模式笔记)
- TinkPHP 3.2.3版本 新手该注意的地方
- 杭电ACM2054java做法
- 利用CODING.NET免费部署搭建ZBLOG PHP网站
- leetCode4.1.1(Valid Parentheses)
- python 接收邮件
- Activity中获取view的高度和宽度方法
- UI多线程编程小练习--卖票系统
- CentOS下安装配置LAMP(Linux+Apache+MySQL+PHP)
- Centos NAT网络配置
- UIday0702:用 UIScrollView 和 UIPageControl 实现引导图
- linux安装配置SVN并设置钩子
- java下properties属性文件操作
- Topcoder SRM 145 DIV 1
- 九月一号java小练习
- Html5 canvas 画带箭头的线
- 今天好开心
- 网上看到的关于程序猿人生的一些话
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区