小白linux运维day-13

今日内容:基本权限

1.什么是权限?
我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
2.为什么要使用权限?
因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。
3.权限与用户之间的关系?
在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
rwx r-x r-x
rwx:属主权限位(root)
r-x:数组权限位 (root)
r-x:其它用户权限位


图片1.jpg

用户对文件资源,有三种角色ugo,当一个用户访问文件流程如下

  1. 判断用户是否为文件所有者,如果是则按所有者的权限进行访问
  2. 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
  3. 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
    当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位,linux中基本权限位则是使用这9位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)
    r(read) 读取权限 4

w(write) 写入权限 2

x(execute) 执行权限 1

-(没有权限)没有权限 0
[root@oldboy ~]# ll
-rw-r--r--. 1 root root 118 3月 11 11:12 1.txt
示例:该1.txt被root用户所拥有,root组的所拥有
root用户对其有什么权限 ? 权限的前3位 rw-
root组对文件有什么权限?中间3位字符 r--
其他人对该文件有什么权限?最后3个字符 r--
二、使用chmod设定权限示例
1.ugo
[root@oldboy ~]# touch file #创建文件file
[root@oldboy ~]# chmod a=rwx file #给所有人添加读写执行权限
[root@oldboy ~]# chmod a=-rwx file #取消所有的权限
[root@oldboy ~]# chmod u=rwx,g=rw,o=- file #属主读写执行属组读写其他用户没有权限
[root@oldboy ~]# chmod ug=rwx,o=r file #属主读写执行数组读写执行其它用户读权限
[root@oldboy ~]# ll file
-rwxrwxr--. 1 root root 0 3月 16 15:07 file
2.number方式 -R递归
[root@oldboy ~]# touch file #创建文件file
[root@oldboy ~]# chmod 644 file #属主rw- 属组r-- 其他人r--
[root@oldboy ~]# ll file
-rw-r--r--. 1 root root 0 3月 16 15:23 file
[root@oldboy ~]# chmod 600 file #属主rw-- 属组--- 其他人---
[root@oldboy ~]# ll file
-rw-------. 1 root root 0 3月 16 15:23 file
[root@oldboy ~]# mkdir dir
[root@oldboy ~]# chmod 777 dir/ #修改目录允许所有人访问
[root@oldboy ~]# chmod -R 755 dir/ #修改目录及子目录
[root@oldboy ~]# ll -d dir/
drwxr-xr-x. 2 root root 6 3月 16 15:31 dir/
3.权限设置案例
针对pr部门的访问目录/home/pr设置权限要求如下:
1.root 用户和pr组的员工可以读写执行
2.其他用户没有任何权限
[root@oldboy ~]# groupadd pr
[root@oldboy ~]# useradd pr01 -g pr
[root@oldboy ~]# useradd pr02 -g pr
[root@oldboy ~]# useradd pr03
[root@oldboy ~]# mkdir /home/pr
[root@oldboy ~]# chgrp pr /home/pr
[root@oldboy ~]# ll -d /home/pr
drwxr-xr-x. 2 root pr 6 3月 16 15:45 /home/pr
[root@oldboy ~]# su - pr01
[pr01@oldboy ~] ll -d /home/pr
drwxr-xr-x. 2 root pr 6 3月 16 15:45 /home/pr
[pr02@oldboy ~] ll -d /home/pr
drwxrwx---. 2 root pr 6 3月 16 15:45 /home/pr
[pr01@oldboy ~] ll -d /home/pr
drwxrwx---. 2 root pr 6 3月 16 15:45 /home/pr
[pr02@oldboy ~] ll -d /home/pr
drwxrwx---. 2 root pr 6 3月 16 15:45 /home/pr
[pr03@oldboy ~] su - root
[root@oldboy ~]# su - pr02
[pr02@oldboy ~] touch pr.txt
PS:权限中的rwx对文件的影响:
读取权限(r)具有读取\阅读文件内容权限
1.只能使用查看类命令cat、head、tail、less、more写入权限(w)具有新增、修改文件内容的权限
1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
2.使用echo命令重定向的方式可以往文件内写入数据, >>可以进行追加
3.不能删除文件,因为删除文件看的不是文件的属性, 需要看上级目录是否有w的权限执行权限(x)具有执行文件的权限
1.执行权限什么用都没有
2.如果普通用户需要执行文件,需要配合r权限 rx (命令) rw(配置文件) r(单纯的普通只看不改不执行)
文件权限实验案例:

新建文件并添加内容到文件中

[root@oldboy opt]# touch filename1
[root@oldboy opt]# echo "data" >filename1
[root@oldboy opt]# ll filename1
-rw-r--r--. 1 root root 5 3月 16 17:23 filename1

切换bxg普通用户

[root@oldboy opt]# su - bxg
上一次登录:一 3月 16 16:13:29 CST 2020pts/0 上
[bxg@oldboy ~]$ cat /opt/filename1
data

对文件拥有读取的权限,但bxg用户对文件没有执行和删除的权限

4.使用root增加x执行权限

[root@oldboy opt]# chmod o+x /opt/filename1
[root@oldboy opt]# ll /opt/filename1
-rw-r--r-x. 1 root root 5 3月 16 17:23 /opt/filename1

5.测试x权限是否真的能执行该文件

[bxg@oldboy ~]$ /opt/filename1
/opt/filename1:行1: data: 未找到命令

6.增加w执行权限

[root@oldboy opt]# chmod o+w /opt/filename1
[root@oldboy opt]# ll /opt/filename1
-rw-r--rwx. 1 root root 5 3月 16 17:23 /opt/filename1

7.测试执行权限

[root@oldboy opt]# vim /opt/filename1
PS: 总结rwx对目录的影响
读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限
1.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝
2.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)
PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
不能进入目录、不能复制目录、不能删除目录、不能移动目录
执行权限(x),如果目录只有x权限
1.只能进入目录
2.不能浏览、复制、移动、删除
Linux权限总结与注意事项
文件r权限, 只给用户查看,无其他操作
文件rw权限, 可以查看和编辑文件内容
文件rx权限, 允许查看和执行文件、但不能修改文件----->(脚本文件、命令文件)
文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->(谨慎赋予,赋予给该文件的属主身份)
目录rx权限, 允许浏览目录内文件以及子目录, 不允许在该目录下创建文件、删除文件
目录rw权限, 能查看目录,能往目录写入文件,但无法进入目录----->(使用的情况太少)
PS: 文件的 x 权限小心给予,目录的 w 权限小心给予。
PS: 文件通常设定的权限是644,目录设定的权限是755。

变更文件的属主属组

[root@oldboy ~]# ll access.log
-rw-r--r--. 1 root root 58112885 3月 12 16:44 access.log
[root@oldboy ~]# chown bgx.bgx access.log
[root@oldboy ~]# ll access.log
-rw-r--r--. 1 bgx bgx 58112885 3月 12 16:44 access.log

只变更文件属组

[root@oldboy ~]# chown .root access.log
[root@oldboy ~]# ll access.log
-rw-r--r--. 1 bgx root 58112885 3月 12 16:44 access.log
使用chgrp直接变更文件的属组(只能是属组)
[root@oldboy ~]# chgrp bgx access.log
[root@oldboy ~]# ll access.log
-rw-r--r--. 1 bgx bgx 58112885 3月 12 16:44 access.log

你可能感兴趣的:(小白linux运维day-13)