Linux权限不理解?看完这篇就够用了 | 您所在的位置:网站首页 › 电脑程序后缀带sys的是流氓软件吗 › Linux权限不理解?看完这篇就够用了 |
用户的分类可分为两种: 1.超级用户:root基本不受权限的限制 2.普通用户:我们在home下新建的用户 这两种用户如何切换呢? Linux用户的切换 su的使用:su [用户名]:1.实现普通用户和普通用户之间的切换 2.实现普通用户和root用户之间的切换 超级用户的命令提示符是“#”,普通用户的命令提示符是“$” 如下操作: [wufan@wf bit_wf]$ su bit_wf 密码: [bit_wf@wf ~]$ [bit_wf@wf ~]$ su root 密码: [root@wf bit_wf]#如何退出root用户呢? 输入exit 或者 ctrl + D 如下操作: [root@wf bit_wf]# exit >[bit_wf@wf ~]$ 扩展:当只输入su时,会默认进入root用户 如下操作: [bit_wf@wf ~]$ su 密码: [root@wf bit_wf]#当输入su -时,也会进入root用户,那么指令su -和su的区别是什么呢? 操作如下: [bit_wf@wf ~]$ su - 密码: 上一次登录:六 5月 27 22:21:02 CST 2023pts/1 上 [root@wf ~]# pwd /root 操作如下: [bit_wf@wf ~]$ su 密码: [root@wf bit_wf]# pwd /home/bit_wfsu指令只是将身份进行变化,而su -指令是以root的身份重新登陆 我们也可以看到su -后,我们跳转到了root目录下;而su后任然在当前目录下 sudo的使用sudo [command]:以root身份去执行指令 操作如下: [bit_wf@wf ~]$ sudo ls [sudo] bit_wf 的密码: bit_wf 不在 sudoers 文件中。此事将被报告。问:为什么是输入bit_wf(也就是普通用户)的密码,而不是输入root的密码,那这样岂不是任何一个普通用户在没有root密码的情况下进行root的操作了? 如果我们的普通用户没有添加到系统的信任白名单里,我们是没办法进行sudo的操作的;而进入系统白名单是需要root密码的。 Linux权限的概念什么叫做权限? 通俗点讲 就是一件事情是否允许被你做。 那么权限和什么有关呢? 1.权限与“角色”和“身份”有关。–角色和身份是什么?后面会解释 2.权限也和事物的“属性”有关。如一个文件test.c 它不具有可执行的功能,它只有通过编译器编译后成为test.exe可执行文件才可以执行,所以这种文件天生就不具备可执行的权限(尽管我们强加给他可执行权限也无法执行) Linux文件的权限 文件的后缀名在Linux中系统中的文件后缀没有直接意义 Linux中只将文件分为普通文件,目录文件,块设备文件,字符设备文件,管道文件等 windows中却有MP3文件MP4文件,jpg文件,png文件,docx文件等等繁多的文件类型 如下操作: [bit_wf@wf ~]$ vim test.c [bit_wf@wf ~]$ ls test.c [bit_wf@wf ~]$ gcc test.c [bit_wf@wf ~]$ ls a.out test.c 如下操作: [bit_wf@wf ~]$ vim test.txt [bit_wf@wf ~]$ ls a.out test.c test.txt [bit_wf@wf ~]$ gcc test.txt test.txt: 文件无法辨识: 文件被截断 collect2: 错误:ld 返回 1为什么gcc能编译test.c而不能编译test.txt文件?不是说在Linux中系统中的文件后缀没有直接意义吗? 是在Linux系统中确实没有意义,但gcc是一款编译器,软件,不代表其它软件不需要后缀 文件权限 drwxrwxr-x. 2 bit_wf bit_wf 6 5月 27 23:11 dir1 drwxrwxr-x. 2 bit_wf bit_wf 6 5月 27 23:11 dir2 -rw-rw-r--. 1 bit_wf bit_wf 90 5月 27 23:05 test.c -rw-rw-r--. 1 bit_wf bit_wf 0 5月 27 23:06 test.txtr/-(read):是否为读权限 w/-(write):是否为写权限 x/-(execute):是否为执行权限 拥有者:这个文件是谁的 所属组:假设张三(资源创始人)想和李四,王五,三人想共享资源,可以将他们三个用户设置为一组,所属组权限 其他人:既不是拥有者也不是所属组 可以将这三个分类看为角色,而root和普通用户可以看为具体的人 具体的人和角色两者毫无关系(张三可以当警察,护士,老师) 当root来访时,既不是bit_wf 也不属于bit_wf,则root归为other类 当用户来访问文件时,用户先看自己是不是拥有者,再看自己是不是所属组,若都不是自己就是其他人(先后顺序很重要) 这个访问过程类似于 if(用户 == 拥有者) {} else if(用户 == 所属组) {} else {} 更改文件权限更改权限的人只有两种人:拥有者和root chmod:chmod语法一: chmod u+rwx,g+rwx,o+rwx [文件名] chmod u-rwx,g-twx,o-rwx[文件名] 操作如下: -rw-rw-r--. 1 bit_wf bit_wf 0 5月 27 23:06 test.txt [bit_wf@wf ~]$ chmod u+x,g+x,o+wx test.txt [bit_wf@wf ~]$ ls -l test.txt -rwxrwxrwx. 1 bit_wf bit_wf 0 5月 27 23:06 test.txt 操作如下: [bit_wf@wf ~]$ chmod u-x,g-x,o-wx test.txt [bit_wf@wf ~]$ ls -l test.txt -rw-rw-r--. 1 bit_wf bit_wf 0 5月 27 23:06 test.txtchmod语法二:chmod 777 [文件名] 该数字是八进制的数字rwx rwx rwx分别可以对应七个二进制位 有则为1 无则为0
chown [用户名] [文件名]:更改文件的拥有者 当更改拥有者的时候,如果是普通用户需要征求更改者用户的同意 操作如下: -rw-rw-r--. 1 bit_wf bit_wf 0 5月 28 09:44 test.txt [bit_wf@wf shared]$ chown wufan test.txt chown: 正在更改"test.txt" 的所有者: 不允许的操作如果是管理员改文件拥有者就不需要征求别人同意 操作如下: -rw-rw-r--. 1 bit_wf bit_wf 0 5月 28 09:44 test.txt [root@wf shared]# chown wufan test.txt [root@wf shared]# ll 总用量 0 -rw-rw-r--. 1 wufan bit_wf 0 5月 28 09:44 test.txt chgrpchgrp [所属组] [文件名]:更改文件所属组 操作如下: -rw-rw-r--. 1 wufan bit_wf 0 5月 28 09:44 test.txt [wufan@wf shared]$ chgrp wufan test.txt [wufan@wf shared]$ ll 总用量 0 -rw-rw-r--. 1 wufan wufan 0 5月 28 09:44 test.txt 创建文件的默认权限为什么我们创建文件的默认权限是我们所看到的样子? 为什么普通文件的权限是:664 为什么目录文件的权限是:775 Linux系统默认 给普通文件的起始权限其实是666 给目录文件的起始权限其实是777 但是有umask(权限掩码)的存在,使他们的权限发生了变化 操作如下: [wufan@wf shared]$ umask 0002权限掩码:凡是在umask中出现的权限,不会最终的文件权限中出现 我们可以看到 普通文件的权限为110 110 100 目录文件的权限为111 111 101 操作如下: drwxrwxr-x. 2 bit_wf bit_wf 6 5月 27 23:11 dir1 drwxrwxr-x. 2 bit_wf bit_wf 6 5月 27 23:11 dir2 -rw-rw-r--. 1 bit_wf bit_wf 90 5月 27 23:05 test.c -rw-rw-r--. 1 bit_wf bit_wf 0 5月 27 23:06 test.txt最终权限 = 起始权限 & (~umask) 读权限:查看改目录下文件列表 写权限:在当前目录下进行创建,更改,删除 执行:进入目录 读操作 操作如下: d------r--. 2 root root 22 5月 28 10:17 dir [wufan@wf shared]$ ls -l dir/ ls: 无法访问dir/test.txt: 权限不够 总用量 0 -????????? ? ? ? ? ? test.txt 虽然有显示权限不够但还是能看到dir里面有test.txt执行操作 操作如下 d------r-x. 2 root root 22 5月 28 10:24 dir [wufan@wf shared]$ cd dir [wufan@wf dir]$ d------r--. 2 root root 22 5月 28 10:24 dir [wufan@wf shared]$ cd dir -bash: cd: dir: 权限不够写操作 操作如下: d------rwx. 2 root root 22 5月 28 10:17 dir [wufan@wf shared]$ cd dir [wufan@wf dir]$ ls test.txt [wufan@wf dir]$ touch test2.txt 创建 [wufan@wf dir]$ mv test2.txt test3.txt 修改 [wufan@wf dir]$ ll 总用量 0 -rw-rw-r--. 1 wufan wufan 0 5月 28 10:24 test3.txt -rw-rw-r--. 1 wufan wufan 0 5月 28 10:17 test.txt [wufan@wf dir]$ rm test3.txt 删除 [wufan@wf dir]$ ll 总用量 0 -rw-rw-r--. 1 wufan wufan 0 5月 28 10:17 test.txt一个文件是否能被删除,并不是由文件本身决定,而是由这个文件所处的目录决定 粘滞位普通用户自己的家目录权限是700,别人对我们家目录是什么都干不了 有时候,我们想多个用户进行文件数据共享 方法:root建立一个共享目录,使普通用户都为other组,再设置other权限为rwx 使每人都能再共享目录里增删查改,但产生一个问题:你可以删除我的文件 则产生了粘滞位:也是可执行权限的一种,chmod o+t [目标文件] 粘滞位:给目录设置,一般是共享目录,大家可以再目录下进行各自文件的增删查改, 只允许文件拥有者或者root能删除这个文件,其他人一概不允许,t是一种特殊的x权限 |
CopyRight 2018-2019 实验室设备网 版权所有 |