AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 571233
Accepted
Rafael Muynarsk
Rafael Muynarsk
Asked: 2020-03-05 22:44:47 +0800 CST2020-03-05 22:44:47 +0800 CST 2020-03-05 22:44:47 +0800 CST

是否可以禁止特定用户在 /usr/bin 上执行文件而不将所有文件权限更改为 750?

  • 772

chmod我理解使用第一个数字作为用户、第二个数字作为组、第三个作为其他用户在 Linux 上管理权限的概念,如了解 UNIX 权限和文件类型中的此答案所述。

假设我有一个有 5 个用户的 Linux 系统:admin、usera、userb和。默认情况下,用户,和对里面的所有文件都有执行权限,所以这些用户可以使用系统的命令行来执行里面的文件,因为这些文件有 75 5权限。到目前为止,它完全没问题。但是,我想禁止用户执行文件夹上的文件,我知道我可以通过将此文件夹内所有文件的权限更改为 750 之类的权限来实现这一点,但如果我这样做,我会搞砸用户的权限,因为他们也将被禁止执行文件。usercguestuserauserbuserc/usr/binguest/usr/binchmoduserauserbuserc

在我的计算机上,所有文件都/usr/bin属于该组root,所以我知道我可以创建一个newgroup,将所有这些文件的组更改为它并添加usera,userb然后添加userc到newgroup. 但是这样做听起来对系统的默认设置进行了太多修改。有谁知道解决这个问题的更聪明的方法?

PATH在没有需要更改太多文件权限的过于复杂的解决方案的情况下,如何禁止单个用户使用命令行(或在 上执行任何文件)?

permissions path
  • 2 2 个回答
  • 1447 Views

2 个回答

  • Voted
  1. Best Answer
    muru
    2020-03-05T23:00:34+08:002020-03-05T23:00:34+08:00

    使用 ACL 删除权限。在这种情况下,您不需要修改所有可执行文件的权限;只需删除执行权限/usr/bin/即可禁止遍历该目录并因此访问其中的任何文件。

    setfacl -m u:guest:r /usr/bin
    

    这将user的权限设置guest为仅r读取目录/usr/bin,因此他们可以ls该目录但不能访问其中的任何内容。

    您也可以只删除所有权限:

    setfacl -m u:guest:- /usr/bin
    
    • 13
  2. vonbrand
    2020-03-06T13:08:17+08:002020-03-06T13:08:17+08:00

    你想做什么?禁止某些用户使用系统的标准命令只是极端的不文明行为......可能使系统处于危险之中的命令介于两者之间,并且已经过仔细审查以确保安全。文件的权限应该阻止大多数恶作剧的尝试。

    • 考虑给他们一个受限制的外壳(查看手册,它可能被命名为类似的东西rbash;但小心,rsh是另一种动物!)。他们相当有效地笼罩了用户(但要小心,有可能突破!)
    • 如果这是一个负责拥有某些服务的伪用户,常见的出路是给“用户”一个什么都不做的 shell,比如/bin/true(查看你的系统手册以获取这一行中的任何建议,可能有一个特殊的程序为此;如果/bin/true是 shell 脚本,请不要为此使用它)。这样,如果有人设法登录到该帐户,他们的会话将立即结束。
    • 为他们创建一个chroot(同样,有一些方法可以突破),或者使用 Linux 的 BSD 监狱容器来限制他们,并准确地公开你希望他们看到的内容。大多数控制,但设置和保持最新状态很混乱。
    • 2

相关问题

  • 组权限如何工作?

  • Redis日志文件权限错误,但是权限已经是777

  • 以 root 权限启动 zypper 命令

  • 以非特权用户身份运行时,meld 无法访问 /dev/fd/* 的可能原因是什么?

  • 另一个用户的非空子目录是否可以安全地从我的目录中删除?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve