精华内容
下载资源
问答
  • 对于普通文件和目录而言,名字和存取权限是一样的,所以下面的内容不仅适用于文件,它也同时适用于目录。3.5.1 文件主任何文件都有所有者和所有者组,这可以用“ls -l”显示出来(“-l”选项表示以长格式显示)。例如...

    对于普通文件和目录而言,名字和存取权限是一样的,所以下面的内容不仅适用于文件,它也同时适用于目录。

    3.5.1 文件主

    任何文件都有所有者和所有者组,这可以用“ls -l”显示出来(“-l”选项表示以长格式显示)。例如,执行如下命令:

    $ ls -l junk

    -rwx------ 1 yogin inca 27 Apr 24 14:12 junk

    将显示文件junk的所有者为yogin,所有者所在组为inca,所有者一般是文件的创建者或拷贝此文件的人,一般说来,只有文件的所有者和root能删除该文件(其他用户只有被授于了相应权限后才行)。

    文件的所有者可以通过命令chown(改变所有者)和chgrp(改变所处的组)来改变,但是这些命令通常是root使用的。例如执行以下两条命令:

    # chown peter junk

    # chgrp peter junk

    显示改变为:

    $ ls -l junk

    -rwx------ 1 peter peter 27 Apr 25 20:27 junk

    在root为其他用户拷贝/移动文件后,改变文件所有者是十分有用的。在您以root身份做完了工作后,您应该记住将文件的所有者改为恰当的用户。

    3.5.2 文件存取权限

    现在,任何用户可以把自己所有的文件的三种权限读(r)、写(w)和执行(x)赋于其它三类用户,这些用户分别为文件所有者(u),同组用户(g)和系统内的任何用户(o)。

    您可以使用以下命令来检查文件的存取权限。

    $ ls –l 文件名

    如果该文件对所有用户(所有者,同组,其他人)都具备所有的权限(读、写、执行),则会显示如下消息:

    -rwxrwxrwx

    跳过第一个“-”(如果为“d”则代表其为一目录),其中前三个字母代表文件所有者的权限,第二组三个字母代表与所有者同组人的权限,第三组为其他用户的权限。如果没授予相应权限,则以“-”替代。

    在下面的示例中,文件的所有者为root,他对文件具有读、写和执行权限,但同组用户和其他用户对该文件只具备读和执行权限。

    drwxr-xr-x 2 root root 21504 Apr 24 19:27 dev

    第一个字母“d”,表示该文件为一个目录。

    您可以修改您所有的文件的权限(使用命令chmod),例如,下面的命令将为所有用户赋予读文件junk权限。

    $ chmod a+r junk

    在上例中,除了“a”以外,还可以用“u”、“g”或“o”(分别代表所有者、同组用户和其他用户)。除了“+”(代表增加)外,还可以用“-”、“=”分别禁止或者设置某个权限,除了“r”,还可以设置“w”和“x”权限。

    例如,下面的命令将禁止其他用户对文件junk的执行权限。

    $ chmod o-x junk

    除了使用字母“r”、“w”和“x”设置权限,您也可以使用数字代替,其中,读(read)的权限值为4,写(write)的权限值为2,执行(execute)的权限值为1。所以,4代表“只读”,5代表“读和执行”,6代表“读和写”,7代表“读、写和执行”。

    例如,下面的命令将会对文件所有者和同组用户赋予全部权限,而对其他用户没有任何权限。

    $ chmod 770 junlc

    而命令

    $ chmod 666 junk

    将会给所有用户读和写的权限。

    $ chmod 411 junk

    上述命令赋予文件所有者读权限,对同组用户和其他用户赋予执行权限。

    3.5.3 默认的文件配置权限

    在一个新文件被创建后,它有一个默认的权限配置,该配置一般为“-rw-r--r—”。就是说,文件所有者可以读、写该文件,同组用户和其他用户只能读文件。同样,在默认配置中,用户不能读其他用户目录中的内容,因为每一个用户主目录的权限都被设定为“drwx------”。

    您可以使用下面的命令检查新建文件的默认存取权限。

    $ umask –s

    选项-s表示用字符的形式显示结果。同样,您也可以修改新建文件的默认文件权限,命令如下:

    $ umask u=rwx,g=,o=

    它会在创建新文件时给文件所有者以全部权限,而同组用户及其他用户没有任何权限。

    在umask中的数字设置方式与chmod命令相反,它代表的是要禁用的权限。因此,umask 000会给全部用户赋予新创建文件的全部权限,而命令umask 077会给文件所有者全部权限而其他人什么权限也没有。

    3.5.4 如何设置SUID位

    如果MP3播放器在工作时总被打断,那可能是因为它没有被分配足够多的运行时间。可能您同时运行了太多CPU重负荷的程序,也可能是MP3播放器的运行优先级不够高(优先级可以用nice命令来调整,关于nice的详细说明请用命令man nice获取)。

    由于root身份运行的程序比其他用户程序具有比较高的优先级,所以如果以root身份来运行MP3播放器,可能播放就正常了。解决MP3播放器的问题是为其设置SUID位,使其他用户在使用播放器时的“有效用户ID”也为root。

    例如下面的命令对x11amp设置其SUID位。

    $ chmod a+s x11amp

    要检查结果,输入如下:

    $ ls -l x11amp

    -rwsr-sr-x 1 root root 319172 Mar 13 1998 x11amp

    其中第一个“s”表示设置了用户的SUID位,第二个“s”表示设置了组SUID位。因此,任何人在执行x11amp时,其有效用户ID为该程序的所有者,而有效组ID为该程序所有组的ID,在本例中,两者都为 root。

    设置SUID可能会给系统带来漏洞。上一个示例是在一个封闭的局域网环境中进行的,而且程序来源也很清楚,才设置了SUID位。

    3.6 用at和cron

    【责编:admin】

    --------------------next---------------------

    展开全文
  • 在容器外部,我们现在运行docker -rw-rw-r-- 1 1001 1001 120 Oct 21 20:47 Dockerfile 我们不再拥有我们自己的文件。 可怕的消息! 如果在上面的示例中仅添加一个用户,那么一切将会更加顺利。 出于某种原因,...

    考虑以下琐碎的Dockerfile:

    FROM debian:testing

    RUN adduser --disabled-password --gecos '' docker

    RUN adduser --disabled-password --gecos '' bob

    在没有其他任何工作目录中。 构建docker映像:

    docker build -t test .

    然后在容器上运行bash脚本,将工作目录链接到bob的主目录上的新子目录中:

    docker run --rm -it -v $(pwd):/home/bob/subdir test

    谁拥有容器中docker的内容物? 在容器上,运行:

    cd /home/bob/subdir

    ls -l

    我们看到的广告:

    -rw-rw-r-- 1 docker docker 120 Oct 22 03:47 Dockerfile

    圣烟! docker拥有内容! 回到容器外部的主机上,我们看到原始用户仍然拥有bob。让我们尝试修复bob的主目录的所有权。 在容器上,运行:

    chown -R bob:bob /home/bob

    ls -l

    我们看到:

    -rw-rw-r-- 1 bob bob 120 Oct 22 03:47 Dockerfile

    可是等等! 在容器外部,我们现在运行docker

    -rw-rw-r-- 1 1001 1001 120 Oct 21 20:47 Dockerfile

    我们不再拥有我们自己的文件。 可怕的消息!

    如果在上面的示例中仅添加一个用户,那么一切将会更加顺利。 出于某种原因,Docker似乎会将其遇到的第一个非根用户拥有任何主目录(即使该用户是在较早的映像上声明的)。 同样,第一个用户是与我的家庭用户相同的所有权权限的用户。

    问题1正确吗? 有人可以指出我的相关文档吗,我只是基于上述实验进行猜测。

    问题2:也许这仅仅是因为它们在内核上具有相同的数值,并且如果我在我的家庭用户不是id docker的系统上进行了测试,那么在每种情况下权限都会被更改吗?

    问题3:真正的问题当然是“我该怎么办?” 如果docker在给定的主机上以bob登录,则他应该能够以bob运行容器,并且在其主机帐户下没有更改文件许可权。 就目前而言,他实际上需要以用户docker的身份运行该容器,以避免更改其帐户。

    我听到你在问为什么我仍然有这么奇怪的Dockerfile? 我有时也想知道。 我正在为一个Webapp(RStudio服务器)编写一个容器,该容器允许不同的用户登录,该容器仅将linux计算机中的用户名和凭据用作有效的用户名。 这给我带来了想要创建多个用户的不寻常动机。 我可以通过仅在运行时创建用户来解决此问题,一切都很好。 但是,我使用的基本映像添加了一个docker用户,因此可以交互使用而无需以root用户身份运行(按照最佳实践)。 由于该用户成为第一个用户并最终拥有所有东西,因此这一切都毁了,因此尝试在其他用户失败时尝试登录(该应用无法启动,因为它缺少写入权限)。 让启动脚本运行chown首先可以解决此问题,但是要以链接卷更改权限为代价(显然,如果我们要链接卷,这只是一个问题)。

    展开全文
  • 文件赋权指令chmod(chmod -R 777 /home/user)查看文件权限的语句:在终端输入:ls -l xxx.xxx(xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些:-rw-rw-r–一共有10位数其中:最前面那个–代表的是类型中间...

    文件赋权指令chmod( chmod -R 777 /home/user)

    查看文件权限的语句:

    在终端输入:

    ls -l xxx.xxx (xxx.xxx是文件名)

    那么就会出现相类似的信息,主要都是这些:

    -rw-rw-r–

    一共有10位数

    其中: 最前面那个 – 代表的是类型

    中间那三个 rw- 代表的是所有者(user)

    然后那三个 rw- 代表的是组群(group)

    最后那三个 r– 代表的是其他人(other)

    然后我再解释一下后面那9位数:

    r 表示文件可以被读(read)

    w 表示文件可以被写(write)

    x 表示文件可以被执行(如果它是程序的话)

    - 表示相应的权限还没有被授予

    现在该说说修改文件权限了

    在终端输入:

    chmod o w xxx.xxx

    表示给其他人授予写xxx.xxx这个文件的权限

    chmod go-rw xxx.xxx

    表示删除xxx.xxx中组群和其他人的读和写的权限

    其中:

    u 代表所有者(user)

    g 代表所有者所在的组群(group)

    o 代表其他人,但不是u和g (other)

    a 代表全部的人,也就是包括u,g和o

    r 表示文件可以被读(read)

    w 表示文件可以被写(write)

    x 表示文件可以被执行(如果它是程序的话)

    其中:rwx也可以用数字来代替

    展开全文
  • 在以前,UNIX 系统曾在文件上使用粘贴位在交换空间囤积可执行文件,避免重新加载。现代 Linux 内核忽略了粘贴位,如果它是设置给文件的。访问模式的总结表 3 总结了这里讨论的 3 种访问模式的符号和八进制表示。表 3...

    在以前,UNIX 系统曾在文件上使用粘贴位在交换空间囤积可执行文件,避免重新加载。现代 Linux 内核忽略了粘贴位,如果它是设置给文件的。

    访问模式的总结

    表 3 总结了这里讨论的 3 种访问模式的符号和八进制表示。

    表 3. 访问模式

    访问模式

    符号

    八进制

    suids with

    u

    4000

    sgids with

    g

    2000

    sticky

    t

    1000

    将这些和早先的权限信息结合在一起,您可以看到对应 greg 的 lpi101 权限和 drwxrwsr-t 访问模式的完整的八进制表示是 3775。虽然 ls 命令不显示八进制权限,您可以使用 find 命令进行显示,如清单 12清单 12 所示。

    清单 12. 可打印的符号和八进制权限

    [greg@echidna ~]$ find . -name lpi101 -printf "%M %m %f\n"

    drwxrwsr-t 3775 lpi101

    不可变文件

    访问模式和权限提供了广泛的控制,限制了谁可以在文件和目录上做什么。但是,它们对有些事情也不能避免,如 root 用户对文件的无心删除。虽然这不在 LPI Topic 104.5 的范围内,但是在提供额外功能的文件系统上还是有些可用的附加属性。其中之一就是不可变 属性。设置完成后,即使是 root 用户也不能删除文件,直到属性解除。

    使用 lsattr 命令查看文件或者目录是否设置了不可变标识(或者任何其他属性)。要将一个文件设置为不可变,使用 chattr 命令和 -i 标识。

    清单 13清单 13 显示了用户 root 可以创建一个不可变文件,但是不能删除它,直到不可变标识被删除。

    清单 13. 不可变文件

    [root@echidna ~]# touch keep.me

    [root@echidna ~]# chattr +i keep.me

    [root@echidna ~]# lsattr keep.me

    ----i--------e- keep.me

    [root@echidna ~]# rm -f keep.me

    rm: cannot remove `keep.me': Operation not permitted

    [root@echidna ~]# chattr -i keep.me

    [root@echidna ~]# rm -f keep.me

    变更不可变标识需要 root 授权,或者最少 CAP_LINUX_IMMUTABLE 功能。使文件不可变通常是安全或者入侵检测工作的一部分。见功能使用页面(man capabilities)了解更多信息。

    文件创建屏蔽

    创建一个新文件时,创建进程就会指明新文件的权限。通常,所需的模式是 0666,它使文件可由任何人读和写。目录默认为 0777。但是,这个宽松的创建会受到 umask 值的影响,这个值指明了用户不想自动授予新创建的文件或者目录什么权限。系统使用 umask 值来减少原始请求的权限。您可以使用 umask 查看 umask 设置,如清单 14清单 14 所示。

    清单 14. 显示八进制 umask

    [ian@echidna ~]$ umask

    0002

    请记得,umask 指定了那个权限不被授予。在 Linux 系统上,用户没有专用组的的情况下,umask 通常默认为 0022,它可以从新文件中删除组和其他写权限。用户有专用组的情况下(例如这些例子中使用的在 Fedora 系统上),umask 通常默认为 0002,它删除了其他用户的写权限。使用 -S 选项来从符号上显示 umask,以显示哪个权限被允许的形式。

    使用 umask 命令设置一个 unmask 并显示。所以,如果您想要保持文件更专有,并且不允许所有组或者其他人访问新创建的文件,就是可以使用 umask 值 0077。或者从符号上,使用 umask u=rwx,g=,o= 进行设置,如清单 15清单 14 所示。

    展开全文
  • chown命令表达式采用以下格式:chown [OPTIONS] USER[:GROUP] FILE(s)复制USER是新所有者的用户名或用户ID ( UID ),GROUP是新组的名称或组ID ( GID),FILE是一个或多个文件,目录或链接的名称,数字ID应以+符号为...
  • 自己的电脑,有时候卸载软件残余目录文件等竟然删不掉。...可以把右键添加个“管理员取得所有权”,把文件所有者设成管理员。把如下代码新建个文本文档,后缀名改为.reg,双击导入注册表。Windows Registry Editor...
  • Linux 的文件所有权和访问授权是与用户 id 和组密切相关的,所以我们要复习一下基本的用户和组信息。 我是谁? 如果没有切换到其他用户,您的 id 就是登录时的。如果切换到其他用户,在本文的大多数例子中,您的提示...
  • 一共包括三个文件 sort.h sort.cpp main.cpp 1.main.cpp #include 趋势科技PC-cillin2015,你来公測我发奖! watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXF1c2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA=...
  • PHP 改变文件的所有者

    2021-04-15 15:42:02
    用户评论:rickard at 0x539 dot se (2009-06-18 14:04:51)For most modern Linux systems your apache user should not be run as root, and in order to change the ownership of a file or directory, you need to...
  • 1.计算机删除文件时如何解决管理员权限问题方法1:创建一个由管理员授权的文件,并将该文件添加到注册表中。1.开始-运行(输入记事本)-确定或按回车键,打开记事本(从:开始-所有程序-附件-记事本)。2.在打开的记事本中...
  • 批量解除文件锁定

    千次阅读 2021-03-21 21:35:13
    从网络上下载的程序,exe和dll文件有时候会被windows锁定,导致运行时出现各种莫名其妙的问题,可以通过如下脚本进行批量解锁 Get-ChildItem | Unblock-File 将上面的脚本拷贝到记事本中,记事本另存为 xxx.ps1...
  • linux下修改文件/文件目录权限、拥有者及用户组• 2020-06-19 12:38:49 • 阅读 474 次> 在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有`所有者`、`所在组`、`其它组`的概念。- 所有者...
  • 在Window上写php的网页程序,然后每次保存后都要通过ftp上传到测试用linux上做页面测试,有点麻烦,而且在测试时常有忘记上传文件,可不可以将本机的目录共享,让测试用的linux自动读取本地文件,这样每次本地文件...
  • 电脑Win7如何取得文件管理所有权?从VISTA开始,微软对操作系统的安全性有了明显的提高,这样使得以前我们在XP下都可以打开或删除的文件(夹),无法在WIN7下进行操作。就算是在Administrator超级管理员帐户下也是无法...
  • 在linux中每个文件有所有者、所在组、其它组的概念-所有者-所在组-其它组-改变用户所在的组所有者一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者用ls‐ahl命令可以看到文件的所有者也可以使用...
  • 假设你有两个文件,或者你刚刚创建了一个新文件,并希望它拥有旧文件的相同权限和所有权。在本文中,我们将向您展示如何分别使用chmod和chown命令将权限和所有权从一个文件复制到Linux中的另一个文件。将文件权限...
  • 1.释义将目录或文件的拥有者、拥有组改为指定的用户或组2.系统帮助用法:chown [选项]... [所有者][:[组]] 文件...或:chown [选项]... --reference=参考文件 文件...Change the owner and/or group of each FILE to...
  • 在Linux中,chown 函数来修改文件的拥有者及拥有者组,该命令就是change owner(改变用户组)的缩写在Linux中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写在Linux中,创建一个...
  • reference=reference_file file例如,$ ls -l users.list$ ls -l keys.list$ sudo chmod --reference=users.list keys.list$ ls -l keys.list将文件权限复制到另一个文件将文件权限复制到另一个文件将文件所有权复制...
  • windows下批量修改文件(或文件夹)权限或所有者1.查看权限2.添加组或用户权限3.取消组或用户权限 1.查看权限 Icacls D:\123 # 查看D:\123目录的权限 2.添加组或用户权限 2-1.单独授权将当前目录下的所有文件及...
  • Linux下修改文件权限(所有权)

    千次阅读 2021-05-08 21:22:46
    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要;每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other)用户(u)是文件的所有者,通常有所有的文件的操作权限...
  • 今天为大家介绍的技巧就是如何取得某一个文件或文件夹的所有权,大家都知道,所有权问题,是在windows系统一开始就已经在强调了,包含程序运行时的用户权限,限制程序对系统重要文件的篡改等等,这种做法给日常系统的使用...
  • Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要;每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other)用户(u)是文件的所有者,通常有所有的文件的操作权限...
  • win7怎么取消文件夹管理员取得所有权第一步:以管理员身份登录系统。 第二步:选中要赋权的文件夹,之后右击...对于一些程序文件来说,只需要击右键,选择“以管理员身份运行”,也是一个非常便捷的获得管理员权限...
  • 一、文件和目录的权限1。文件的权限:文件所属用户所属用户组其它用户权限有:读:read数字表示为4:110写:write数字表示为2:10执行:execute数字表示为:10 1 10 11 110111 1110 11110 1234567具体解释如下:1: 1...
  • 例1,改变文件的权限与所有权。复制代码 代码示例:chmod("/var/...if (chown("myfile.txt", "sally")) {print "文件所有者已修改.\n";} else {print "文件所有权更改失败!\n";}?>例2,更改文件的权限。复制代码...
  • 一、文件和目录的权限 1.文件的权限:文件所属用户 所属用户组 其它用户权限有:读:read 数字表示为4:110写:write 数字表示为2:10执行:execute 数字表示为:10 1 10 11 110 111 1110 11110 1 2 3 4 5 6 7具体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,915
精华内容 19,166
关键字:

文件所有权