分布式系统详解--Linux(权限)
之前再windows上面其实也是有权限的,只是因为我们登录windows系统的时候,可能直接登录的我们自己的电脑,所以直接登录的是管理员权限级别的用户,但是再linux上面,常常是以服务器的形式来进行操作。这样就需要一个管理员以及多个用户,管理员拥有所有的权限,其他的人仅仅是以用户的形式进行操作,这样就使得Linux的系统的安全性更高。
一、文件权限说明。
如果看明白了这件事情呢?那我们看
[root@MyLinux ~]# ll 总用量 52 -rw-r--r--. 1 root root 0 8月 14 02:46 5??ĖEG????2?0?-. -rw-------. 1 root root 1438 12月 15 2017 anaconda-ks.cfg -rwxr--r--. 1 root root 240 12月 16 2017 a.txt -rw-r--r--. 1 root root 27338 12月 15 2017 install.log -rw-r--r--. 1 root root 7572 12月 15 2017 install.log.syslog drwxr-xr-x. 3 uucp 143 4096 8月 9 00:51 jdk1.8.0_151 -rw-r--r--. 1 root root 0 9月 19 02:48 mima.av [root@MyLinux ~]#
那我们怎么去改变一个文件的权限呢?
(1)改变文件的权限--用“+”,“-”号
1, chmod u+x mima.av (u:所有者 ; x :执行权)
我们会发现在mima.av上面 -rwxr--r--上面root对这个文件有了执行权。
2,想不仅对所有者进行赋权限,还有组和人,那就 chmod g+w,o+w mima.av (g:组权限 ; o:人;w :写权限;)
[root@MyLinux ~]# chmod g+w,o+w mima.av [root@MyLinux ~]# ll 总用量 52 -rw-r--r--. 1 root root 0 8月 14 02:46 5??ĖEG????2?0?-. -rw-------. 1 root root 1438 12月 15 2017 anaconda-ks.cfg -rwxr--r--. 1 root root 240 12月 16 2017 a.txt -rw-r--r--. 1 root root 27338 12月 15 2017 install.log -rw-r--r--. 1 root root 7572 12月 15 2017 install.log.syslog drwxr-xr-x. 3 uucp 143 4096 8月 9 00:51 jdk1.8.0_151 -rwxrw-rw-. 1 root root 0 9月 19 02:48 mima.av
3,将赋予文件的权限删掉,chmod g-w,o-w mima.av (g:组权限 ; o:人;w :写权限;)
(2)改变文件的权限--用“=”号
例:chmod u=rwx,g=rw,o=rw mima.av
(3)改变文件的权限--用“数字”改变
权限的数字表示 | |
r(读) | 4 |
w(写) | 2 |
x(执行) | 1 |
示例:rwxr-xr-xr | 7 5 5 |
二、权限的作用
(1)权限对文件的作用
r:读取文件内容(可以执行 cat more head tail)
w:编辑新增、修改文件内容(可以执行vi echo)----特别指出:不包括删除文件。
x:执行
(2)权限对目录的作用
r:可以查询目录下的文件名
w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录(如touch、rm、mv、cp)
x:可以进入目录
值得注意的是:
对文件来讲:最高权限是:x
对目录来讲:最高权限是:w
对目录而言: 有意义的数字: 0(没有权限)、5(r+x 读+执行)7(r+w+x(全部)) 其他均没有实际意义
三、其他权限命令
当我们需要讲一个文件赋予一个用户所有的权限时,也就是说可能附的权限是:7 5 7。
这样的权限既不实际也不合理。那么我们怎么办呢?
(1)改变拥有着身份 chown 用户
(2)改变用户组的身份 chgrp 用户组(在Linux中建立用户的时候同时建立了用户组)
(3)同时改变 chown root:root mcb
四、权限分配实例
要求:1,我创建了一个机密神秘文件夹 secret
2,密码小组长 leader可以拥有最高权限(rwx)
3,密码小组员 member1 member2 member3 可以拥有查看权限
4,其他人无权限
1,新建secret 文件 mkdir secret
2,新建一个小组长 useradd leader
3,新建三个小组员 useradd member1; useradd member2;useradd member3;
4,新建一个分组 groupadd member
5,将三个小组员移动到member 小组中 gpasswd -a member1 member
6,更改文件夹的用户权限 chown leader:member secret
7,更改文件夹的属性权限 chmod 750 secret
最终结果如下:
总结:
分配文件基本权限时,在最小权限情况下能够实现要求即可。
五、默认权限
(1)文件的默认权限
1,文件默认不能建立为执行文件,必须手工赋予执行权限。
2,所以文件默认最大的权限为666
3,默认权限需要换算成字母再相减
4,建立文件之后的默认权限为 666减去umask值。
又要举例子了:
其实是这样的
(1)文件的权限是 666 umask的值是022 -rw-rw-rw- 减去 -----w--w- 等于 -rw-r--r-- 644
(2)文件的权限是 666 umask的值是033 -rw-rw-rw- 减去 ----wxwx 等于 -rw-r--r-- 644
(2)目录的默认权限
1,目录的默认权限最大为777
2,默认权限需要换算成字母再相减
3,建立文件之后的默认权限,为777减去umask的值。
(3)修改默认权限方式
1,临时生效,重启之后就回复原来默认权限。umask
2,永久生效。 vi /etc/profile(环境变量配置文件)
OK 文件和目录的权限大体了解就到这儿了~~