Permissions -bash:chattr:未找到命令

Permissions -bash:chattr:未找到命令,permissions,Permissions,我正试图更改我的.bash\u配置文件,但它回吐了 写入时出错。bash_配置文件权限被拒绝 因此,我使用了chattr-I.bash_概要文件使其不可变,它给了我 -bash:chattr:未找到命令 有人能帮我一下吗?这个“权限被拒绝”错误可能是因为在经典的UNIX权限模型下您没有足够的权限 不变性(以及这个特定的文件属性系统)是Linux特有的特性。Chattr不包含在coreutils中,因此您可能需要单独安装它(如何安装取决于您的Linux发行版) 另外,chattr-i将删除不可变标

我正试图更改我的
.bash\u配置文件
,但它回吐了

写入时出错。bash_配置文件权限被拒绝

因此,我使用了
chattr-I.bash_概要文件
使其不可变,它给了我

-bash:chattr:未找到命令

有人能帮我一下吗?

这个“权限被拒绝”错误可能是因为在经典的UNIX权限模型下您没有足够的权限

不变性(以及这个特定的文件属性系统)是Linux特有的特性。Chattr不包含在coreutils中,因此您可能需要单独安装它(如何安装取决于您的Linux发行版)

另外,
chattr-i
将删除不可变标志,而不是设置它。

在经典UNIX权限模型下,“权限被拒绝”错误可能是由于您没有足够的权限造成的

不变性(以及这个特定的文件属性系统)是Linux特有的特性。Chattr不包含在coreutils中,因此您可能需要单独安装它(如何安装取决于您的Linux发行版)


另外,
chattr-i
将删除不可变标志,而不是设置它。

为什么从该消息中假设文件是“不可变的”,并且需要您执行
chattr-i

您没有提供足够的信息来说明问题所在,但我的第一个想法是:1)该文件不属于您(可能是在su'ed或sudo'ed时创建的),或者2)权限不允许您写入该文件


如果您确实是所有者(或者可以做一个
chown
使自己成为所有者,假设这是适当的),那么尝试在它上面做
chmod u+w

为什么您从该消息中假设该文件是“不可变的”,并且需要您做一个
chattr-i

您没有提供足够的信息来说明问题所在,但我的第一个想法是:1)该文件不属于您(可能是在su'ed或sudo'ed时创建的),或者2)权限不允许您写入该文件


如果您确实是所有者(或者可以做一个
chown
让自己成为所有者,假设这是适当的)尝试在其上执行
chmod u+w

这将安装
chattr
apt get install e2fsprogs
这将安装
chattr
apt get install e2fsprogs
好的,我不确定这是否有帮助,因为使用了什么操作系统的问题没有得到回答,但我遇到了类似的问题在FreeBSD中工作,其中手册页似乎暗示FreeBSD支持chattr和lsattr,但是当您尝试使用其中一个时,会出现“command not found”错误,这使它有点混乱

然而,经过广泛的挖掘,我发现了以下几点,这可能也解决了这个问题,或者,如果不是的话,至少可能为某人指明了正确的方向

FreeBSD通过使用名为Immutable的特殊位来启用写保护,您可以执行以下命令:

$ chflags schg filename
$ ls -lo filename
要测试是否设置了此标志,请执行以下命令:

$ chflags schg filename
$ ls -lo filename
这将得到以下结果:

-r--r--r--  1 root  wheel  schwa  12 Nov 16 15:36 filename
要清除或删除文件不可变位,请执行以下操作:

$ chflags noschg filename
现在可以删除该文件了

注意:此不可变标志只能由root用户设置

进一步的chflags支持一些其他有趣的标志:

  • arch:设置存档标志
  • nodump:设置No Dump标志
  • sapped:设置系统仅附加标志
  • 设置系统不可变标志
  • sunlnk:设置系统不可删除标志
  • uappnd:设置用户仅追加标志
  • uchg:设置用户不可变标志
  • uunlnk:设置用户不可删除标志
注意:在选项前放置“否”会导致关闭该标志

因此,如果您无法访问chattr和lsattr,那么可能是因为它们使用这种方法来做同样的事情


注意:如果一个文件被设置为不可变或仅追加,则在该文件的属性被更改之前,不能删除该文件。不确定是否有其他设置,但这是关于这两个设置的信息。

好的,我不确定这是否有帮助,因为没有回答使用什么操作系统的问题,但我在FreeBSD中遇到了一个类似的问题,其中手册页似乎暗示FreeBSD支持chattr以及lsattr如果您尝试使用其中任何一个,就会出现“command not found”错误,这会使您感到有点困惑

然而,经过广泛的挖掘,我发现了以下几点,这可能也解决了这个问题,或者,如果不是的话,至少可能为某人指明了正确的方向

FreeBSD通过使用名为Immutable的特殊位来启用写保护,您可以执行以下命令:

$ chflags schg filename
$ ls -lo filename
要测试是否设置了此标志,请执行以下命令:

$ chflags schg filename
$ ls -lo filename
这将得到以下结果:

-r--r--r--  1 root  wheel  schwa  12 Nov 16 15:36 filename
要清除或删除文件不可变位,请执行以下操作:

$ chflags noschg filename
现在可以删除该文件了

注意:此不可变标志只能由root用户设置

进一步的chflags支持一些其他有趣的标志:

  • arch:设置存档标志
  • nodump:设置No Dump标志
  • sapped:设置系统仅附加标志
  • 设置系统不可变标志
  • sunlnk:设置系统不可删除标志
  • uappnd:设置用户仅追加标志
  • uchg:设置用户不可变标志
  • uunlnk:设置用户不可删除标志
注意:在选项前放置“否”会导致关闭该标志

因此,如果您无法访问chattr和lsattr,那么可能是因为它们使用这种方法来做同样的事情

注意:如果一个文件被设置为不可变或仅追加,则在该文件的属性被更改之前,不能删除该文件。不在南