7、Linux权限管理-基本权限
1.权限概述1.1.什么是权限?我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权?。 1.2.为什么要有权限?因为系统中不可能只存在?个root用户,?定会存在多个用户,为了保护每个登陆用户的隐私和?作环境,所以就有了权限。(比如三个租客合租同?个房子,a租客要使用b租客的肥皂,那这个事情??) 1.3.权限与用户之间的关系?在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每?种身份?对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。 对文件资源,有三种??ugo,当?个用户访问文件流程如下 1) 判断用户是否为文件所有者,如果是则按所有者的权限进行访问 2) 判断用户是否为文件所有组成员,如果是则按组的权限进行访问 3) 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问 1.4.权限中的rwx分别代表什么含义?当我们使用ls -l查看?个文件的详细属性时,能看到每个文件都有?个9位基本权限位,比如:rwxr-xr-x 其中每三位字符为?组,分别表示属主权限位,属组权限位,匿名权限位。
PS: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。 2.权限设置示例文件示例: rwxrw-r-- alice hr file1.txt 2.1.为什么要设定权限,我们?如何修改?个文件的权限?Q1: 为什么要设定权限,可以赋于某个用户或组 -- 能够以何种?式 -- 访问某个文件 2.2.使用chmod设定权限示例?式?: ugo [[email?protected] ~]# touch file #创建文件 [[email?protected] ~]# chmod a=rwx file #给所有人添加读写执行权限 [[email?protected] ~]# chmod a=-rwx file #取消所有的权限 [[email?protected] ~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限 [[email?protected] ~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限 [[email?protected] ~]# ll file -rwxrw-r-- 1 root root 0 Apr 13 03:29 file ?式?、number #选项: -R递归修改 [[email?protected] ~]# touch file [[email?protected] ~]# chmod 644 file [[email?protected] ~]# chmod 600 file [[email?protected] ~]# ll file -rw------- 1 root root 0 Apr 13 03:29 file #针对目录设定权限 [[email?protected] ~]# mkdir dir [[email?protected] ~]# chmod 777 dir/ #修改目录允许所有人访问 [[email?protected] ~]# chmod -R 755 dir/ #修改目录及子目录权限 [[email?protected] ~]# ll -d dir/ drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/ 2.3.权限设置案例针对 hr 部?的访问目录/home/hr 设置权限,要求如下: [[email?protected] ~]# groupadd hr [[email?protected] ~]# useradd hr01 -G hr [[email?protected] ~]# useradd hr02 -G hr [[email?protected] ~]# mkdir /home/hr [[email?protected] ~]# chgrp hr /home/hr[[email?protected] ~]# chmod 770 /home/hr [[email?protected] ~]# ll -d /home/hr drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr 3.权限设置案例在Linux中权限对文件和对目录的影响是有不同区别的。
文件权限实验案例: #1.新建文件,并添加内容?文件中,默认文件匿名用户仅有读权限 [[email?protected] ~]# echo "date" > filename [[email?protected] ~]# ll filename -rw-r--r-- 1 root root 5 Jan 24 08:24 filename #2.切换bgx普通用户 [[email?protected] ~]# su - bgx #3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限 [[email?protected] ~]$ cat /root/filename date #4.使用root增加x执行权限 [[email?protected] ~]# chmod o+x /root/filename [[email?protected] ~]# ll /root/filename -rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename #5.测试x权限是否真的能执行该文件 [[email?protected] ~]$ /root/filename Wed Jan 24 08:28:34 EST 2018 #6.增加w执行权限 [[email?protected] ~]# chmod o+w /root/filename [[email?protected] ~]# ll /root/filename -rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename #7.测试执行权限 [[email?protected] ~]$ vim /root/filename PS: 总结rwx对文件的影响 读取权限(r)具有读取阅读文件内容权限 写入权限(w)具有新增、修改文件内容的权限 执行权限(x)具有执行文件的权限 目录权限实验案例: #示例1: 创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限 [[email?protected] ~]# mkdir /dirname [[email?protected] ~]# echo "test" >> /dirname/filename [[email?protected] ~]# chmod 777 /dirname/filename #普通用户验证权限,能正常查看,但无法删除[奇怪] [[email?protected] ~]$ cat /dirname/filename test [[email?protected] ~]$ rm -f /dirname/filename rm: cannot remove ‘/dirname/filename’: Permission denied #示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限 [[email?protected] ~]# chmod 777 /dirname/ [[email?protected] ~]# chmod 000 /dirname/filename #普通用户验证权限 [[email?protected] ~]$ cat /dirname/filename cat: /dirname/filename: Permission denied [[email?protected] ~]$ rm -f /dirname/filename [[email?protected] ~]$ touch /dirname/filename_2 PS: 总结rwx对目录的影响 写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合) 执行权限(x),如果目录只有x权限 Linux权限总结与注意事项 文件r权限,只给用户查看,无其他操作 文件rw权限,可以查看和编辑文件内容 文件rx权限,允许查看和执行文件、但不能修改文件----->PASS 文件rwx权限,能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->PASS 目录rx权限,允许浏览目录内文件以及子目录、并允许在目录内新建文件,不允许创建、删除文件和目录 目录wx权限,能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令----->PASS 目录rw权限,能看,但无法进入目录----->PASS PS: 文件的 x权限小心给予,目录的 w权限小心给予。 PS: 文件通常设定的权限是644,目录设定的权限是755 PS: 控制目录权限755,如果有普通用户需要操作目录??的文件,在来看文件的权限变更文件属主和属组的意义? 比如: 我现在??有多套房,希望出售其中的A房进行变现,那么我会考虑将A房过户给金主,过户成功后A房就属于金主了,那么此时A房的拥有者就属于金主而不再属于我。 4.属主属组设置在Linux中如何变更?个文件或者?个资源的属主和属组呢,可以使用chown、chgrp命令实现。 #chown 更改属主以及属组 -R:递归修改 #准备环境,创建文件和目录 [[email?protected] ~]# mkdir dir/test1 && touch dir/file #示例1: 修改所属主为bin [[email?protected] ~]# chown bin dir/ #示例2: 修改所属组为adm [[email?protected] ~]# chown .adm dir/ #示例3: 递归修改目录及目录下的所有文件属主和属组 [[email?protected] ~]# chown -R root.root dir/
来自为知笔记(Wiz)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |