linux权限管理—基本权限
程序员文章站
2022-07-05 10:42:12
[toc] Linux权限管理—基本权限 一、权限的基本概述 1.什么是权限? 权限是针对某些文件或者进程,对用户进行限制 2.为什么要有权限? 因为在公司中,服务器可能就那么几台,但是运维可能有多个,我们多个运维要登录同一台服务器,那么不可能只有一个root用户,我们需要根据运维的等级,来分配用户 ......
linux权限管理—基本权限
一、权限的基本概述
1.什么是权限?
权限是针对某些文件或者进程,对用户进行限制
2.为什么要有权限?
因为在公司中,服务器可能就那么几台,但是运维可能有多个,我们多个运维要登录同一台服务器,那么不可能只有一个root用户,我们需要根据运维的等级,来分配用户权限。
3.权限与用户的关系?
linux中的文件或目录的权限和用户及用户组关联很大,linux中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符)
比如rwxr-xr-x
linux中正是这9个权限位来控制文件属主(user)、属组(group)、其他用户(other)基础权限。
每种身份,又对应了3种权限:r(readable)、w(writeable)、x(excutable)
目录示例: drwxr-xr-x. 2 root root 6 jul 2 00:29 abc 文件类型 文件属主权限位 属组权限位 其他用户权限位 硬链接数 文件的属主(所属用户) d rwx r-x r-x 2 root 文件的属组(所属用户组) 文件的大小(文件中的字节数) 文件的修改时间 文件名 root 6 jul 1 02:00 abc 注意: 普通文件: - 软链接文件: 1 socket,套接字: s 块设备: c 目录 : d
用户对资源来说,有三种角色:
user(u): 属主用户(文件所有者) group(g): 属组用户(包含组成员) other(o): 其他用户 一个用户访问文件流程如下: 判断用户是否为文件的所有者,如果是,按所有者的权限进行访问 判断是否为文件的所有组成员,如果是,就按组的权限去访问 最终用户就是文件的其他的人,按其他人的权限去访问
4.权限中的rwx分别代表什么含义?
当我们使用ls -l
查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位
比如:rwxr-xr-x
其中每三位字符为一组,分别表示属主权限位,属组权限位,其他用户权限位。
字母 | 含义 | 对应权限 |
---|---|---|
r(read) | 读取权限 | 4 |
w(write) | 写入权限 | 2 |
x(execute) | 执行权限 | 1 |
-(没有权限) | 没有权限 | 0 |
如果权限位不可读、不可写、不可执行,则用-来表示.
5.权限设置示例:
[root@centos7 ~]# mkdir aaa #创建目录 [root@centos7 ~]# touch bbb.txt #创建文件 [root@centos7 ~]# ll drwxr-xr-x. 2 root root 6 jul 2 00:47 aaa #目录权限 -rw-r--r--. 1 root root 0 jul 2 00:48 bbb.txt #文件权限
二、权限修改命令chmod
1. +:增加权限
2. -:删除权限
3. =:设置权限
创建文件: [root@centos7 ~]# touch ccc #查看文件,文件权限默认为644 [root@centos7 ~]# ll ccc -rw-r--r--. 1 root root 0 jul 2 01:06 ccc #a=rwx 修改权限 [root@centos7 ~]# chmod a=rwx ccc #查看权限,权限为777 [root@centos7 ~]# ll ccc -rwxrwxrwx. 1 root root 0 jul 2 00:54 ccc #修改权限为000 [root@centos7 ~]# chmod 000 ccc [root@centos7 ~]# ll ccc ----------. 1 root root 0 jul 2 00:54 ccc #增加权限: [root@centos7 ~]# chmod a+rwx ccc [root@centos7 ~]# ll ccc -rwxrwxrwx. 1 root root 0 jul 2 00:54 ccc #减少权限: [root@centos7 ~]# chmod a-rwx ccc [root@centos7 ~]# ll ccc ----------. 1 root root 0 jul 2 00:54 ccc
4.number数字方式
mkdir dir #建立目录 touch dir/file #建立文件 示例1: chmod 777 dir/ #修改dir目录权限为777 chmod u+rwx,g+rwx,o+rwx 示例2: chmod 666 dir/file #修改file文件权限为666 chmod u+rw,g+rw,o+rw 示例3: -r 把目录连带目录下的目录和文件同时一起修改: chmod -r 766 dir/ #修改目录及子目录权限
三、基础权限设置案例
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
读取权限(r) | 具有读取/阅读文件内容权限 | 具有浏览目录及子目录文件 |
写入权限(w) | 具有新增、修改文件内容的权限 | 具有增加和删除目录内文件 |
执行权限(x) | 具有执行文件的权限 | 具有访问目录的内容(取决于目录中文件权限) |
1.文件权限实验案例:
[root@centos7 ~]# echo "date" >> ddd [root@centos7 ~]# ll ddd -rw-r--r--. 1 root root 5 jul 2 01:17 ddd [root@centos7 ~]# echo 123 >> /opt/eee [root@centos7 ~]# su - gjy last login: tue jul 2 02:26:54 cst 2019 on pts/0 [gjy@centos7 ~]$ cat /opt/eee 123 注意: 1.su - username ,进入到普通用户,只可以对其他目录进行查看,cenos7 普通用户不能查看root目录下的文件内容。centos6里面是可以的。 2.验证执行权限的时候,不要使用. 和sh,直接敲文件名。如果有执行权限,直接敲文件名,就可以执行。
2.rwx 对文件的影响(只对文件内容有影响)
文件只有r权限: 具有读取\阅读文件内容权限 1.能使用查看类命令cat、head、tail、less、more 2.不能复制、不能移动、不能编辑,不能删除 写入权限(w) 如果文件只有w权限: 具有新增、修改文件内容的权限 1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容 2.使用echo、cat命令重定向或追加重定向技术可以往文件内写入数据 3.不能复制、不能移动、不能删除,(删除需要看上级目录w的权限) 执行权限(x) 文件只有x权限,具有执行文件的权限。 //注意: 普通用户需要有r权限,管理员不需要 1.不能执行、查看、编辑、复制、移动、删除
3.rwx 对目录的影响
目录只有r权限: 具有浏览目录及子目录权限 不能进入目录 1.能使用ls命令浏览目录及子目录, 同时会提示权限拒绝 2.能使用ls -l命令浏览目录及子目录, 会带问号,同时只能看到文件名 总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限 写入权限(w) 单纯的w权限没有任何意义。 如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x配合) //注意: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关) 不能进入目录、不能复制目录、不能删除目录、不能移动目录 执行权限(x) 目录只有x权限 1.只能进入目录 2.其他什么都做不了
注意:权限必须组合使用
4.权限小结:
1.文件rw权限, 可以查看和编辑文件内容 2.文件rx权限, 只能查看和执行文件、不能编辑、复制、移动、删除 3.目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录 4.文件, x权限小心给予,建议赋予r或rw即可 5.目录, w权限小心给予,建议无特殊需求赋予rx即可
5.权限与属主属组
chown:
linux中用来改变某个文件属主的命令, 如漫画中所示, 将某个"资源"(门)的访问权限给予别人。(卖房)chmod:
linux中用来改变某个文件的访问模式的命令, 如漫画中所示, chmod 777
会将大门敞开, 谁都可以进出。(租房)
实验
1.创建andy,tom
用户为oldboy
组, 用户统一使用password
为密码
2.要求oldboy
组的成员可以访问/home/oldboy
目录, 并且可以在目录下创建,删除文件, 在目录下andy
创建的文件可以让tom
修改.
四、属主属组修改命令chown
chown //更改属主以及属组 -r:递归修改 mkdir dir //创建目录 touch dir/file_test //创建文件 mkdir dir/dir_test //创建目录 示例1: chown bin dir/ //修改所属主为bin ll -d dir/ //检查属主 drwxr-xr-x 2 bin root 4096 7月 22 00:50 dir/ 示例2: chown .adm dir/ //修改所属组为adm ll -d dir/ //检查属组 drwxr-xr-x 2 bin adm 4096 7月 22 00:50 dir/ 示例3: chown -r root.root dir/ //递归修改目录及目录下的所有文件属主和属组