进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限. - 查找资料, 了解以下Linux下的重要目录/proc, /sys, /SE

一:Linux中的基本权限

首先权限主要分为两方面:人和属性

1:文件访问者(人)主要包括:

主用户: u (user)
组用户: g(group)
其他用户:o(other)

具体解释如下:
这里写图片描述

2:基本权限

(1)r(读):对于文件而言,具有读文件的权限,对目录而言,具有浏览目录的权限。

(2)w(写):对文件而言,具有修改文件的权限,对目录而言,具有删除,移动目录的权限。

(3)x(执行):execute对文件而言,具有执行文件的权限,对于目录而言,具有进入目录的权限。

二:基本权限的表现形式

1:通过字母和“-”表示

扫描二维码关注公众号,回复: 3538994 查看本文章

在当前目录输入ll(字母L小写)指令并执行,查看当前目录下所有你项目的权限,如图所示:

在执行结果第一列显示即为某一项的可操作权限,这些操作权限其实是按照拥有者u、所属组g、其他o的权限顺序依次组合。

其中“-”表示不具有该权限。

2:通过数字来表示

拥有者u、所属组g、其他o所拥有的权限其实可以用一个八进制数字来表示,也就是说,一个文件的权限可以通过三个八进制数字来表示

例如:
具有可读可写可执行权限(rwx)——111(二进制)——7(八进制)
具有可读可执行权限(r-x)——101(二进制)——5(八进制)
不具有可读可写可执行权限(—)——000(二进制)——0(八进制)

三:进入目录的权限

1:如何修改权限

(1)以字母形式进行修改,用chmod u+r code,利用chmod命令,通过g,u或者o加减所要的权限或者权限组合,来实现对文件权限的修改,修改之后再用ll权限来查看修改后的权限。

(2)以数字的形式进行修改权限,我们可以让g、u、o都具有r、w、x权限

我们在更改权限的时候要想好修改成什么,然后对应相应的数字即可三个一组,rwx权限分别对应421相加得7,,rw-对应42相加,r–对应4

2:进入目录的权限验证

(1)创建一个目录haha并使用chmod 000 haha给目录haha设置成无权限。

(2)我们先给user加上r权限,(即chmod u+r haha)但是通过图片我们看到访问依然被拒绝,所以进入目录不需要可读权限,需要别的权限,我们继续再给user加上其他的权限。

(3)我们在给user加上w权限(即chmod u+w haha)进入目录访问的权限依然被拒绝,由此我们可知道进入目录的权限也不需要写权限。

(4)我们再给user加上执行权限(即chmod u+x)我们发现可以进入目录,所以目录需要的是可执行性权限。

cd所需权限

总结:
1)进入一个目录,对于普通用户至少需要可执行权限。
2)在目录中创建一个新的文件时,用户需要可写可执行权限。
3)在目录中创建文件并进行显示,用户需要可读可写可执行权限。

说明:
(1)如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录有-r权限。

(2)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令cd进入目录,但是由于目录没有读权限,所以在目录下即使可以执行ls命令,但是仍然没有全部读出目录下的文档。

四:在目录中实行增删查(touch、ls、rm、mv)等文件的动作,需要的权限

1:touch

(1)首先我们先删掉可读可写权限(chmod u- rw)我们进入haha中,使用touch创建一个新的test,发现权限不够。

(2)我们先给haha加上可读权限(chmod u+r)我们再次进入haha中,使用touch,发现权限还是不够。

(3)当我们再给haha删除可读权限加上可写权限(chmod u-r,chmod u+w)进入haha,再次使用touch,发现就可以创建一个新的test文件

touch所需权限

2:ls

通过上面的touch test权限,进行ls一下,发现权限不够,这时我们返回上一级目录给new加上一个r权限,再次进入haha,ls一下发现出现了test。

ls所需权限

3:mv:

当目录只有可读可执行权限时,修改文件名失败;当删除可读只有可写可执行权限时,文件名修改成功test->test2。

mv所需权限

4:rm

当目录只有可读可执行权限时,删除文件test2失败;当删除可读只有可写可执行权限时,成功删除文件test2。

rm所需权限

总结:
cd(进入目录)–所需权限x
touch(创建文件)–所需权限wx
ls (显示当前目录下的所有文件)–所需权限rx
mv(把文件名1修改为文件名2)–所需权限wx
rm(删除文件)–所需权限wx

五:Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
(1)/proc:特殊文件目录。这个目录采用一种特殊的文件格式(proc格式,内核支持这种格式。其中包括了全部虚拟文件。它们并不是保存在磁盘中,也不占用磁盘空间,当查看它们时,实际上看到的是内存里的信息,这些文件有助于我们了解系统内部信息)。
(2)/sys: 文件系统访问 Linux内核
(3)/bin:普通用户可以使用的命令存放目录。
/usr/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
(4)/usr/local:存放软件升级包
(5) /var:内容经常变化的目录。此目录下文件的大小可能改变,如缓冲文件、日志文件、缓存文件等一般会放在这里。
(6)/tmp:一般用户或正在执行的程序临时存放文件的目录即临时文件,任何人都可以访问,重要数据不可放置在此目录下
(7) /SElinux:SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
(8)/etc/:全局配置文件存放目录。系统和程序一般都可以通过修改相应的配置文件来进行配置。
(9)/root:系统管理员root的家目录,不放在home目录下
以下重要命令表示什么 du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser,
du 作用是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
主要参数:
a:显示全部目录和其次目录下的每个档案所占的磁盘空间
s:只显示各档案大小的总合
b:大小用bytes来表示
x:跳过在不同文件系统上的目录不予统计
a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数
top 基本格式df [options]
作用:命令用来显示执行中的程序进程,使用权限是所有用户
主要参数:
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。
df 命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。
主要参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
free 格式free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
作用:free命令用来显示内存的使用情况,使用权限是所有用户。
主要参数:
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
su 格式 su [选项]… [-] [USER [ARG]…]
作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
主要参数
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
sudo(sudo -, sudo -s)
命令的配置在/etc/sudoers文件中。当用户使用sudo时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的。
* pstack* 命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。(man,可以爷们一下)
adduser
(1)创建用户命令两条:
adduser
useradd
(2)用户删除命令:
userdel
两个用户创建命令之间的区别
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。 --------------------- 本文来自 呆萌大黄蜂爱擎天柱 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/liyueshang/article/details/78513507?utm_source=copy

猜你喜欢

转载自blog.csdn.net/qq_41832361/article/details/82857625
今日推荐