今天,一位 Unix 培训师告诉我一个故事,其中 root 密码被泄露给了学生,其中一个家伙从/usr/bin/chmod自己身上删除了执行权限。chmod在这种情况下如何恢复并使其再次可执行?假设从外部来源获取它或重新编译它不是一个更好的选择,是否有一些可以chmod自行恢复的智能黑客?
请注意,这发生在很久以前,我不是在寻找当前问题的解决方案,只是好奇 Unix 为我们提供了哪些解决此类问题的方法。
在 FreeBSD 和 Linux 中,如何获取chmod文件的数值?例如,644而不是-rw-r--r--? 我需要一个 Bash 脚本的自动方式。
chmod直到今天,我才真正了解如何工作。我遵循了一个向我解释了很多事情的教程。
例如,我了解到您拥有三个不同的权限组:
u)g)o)基于这三个群体,我现在知道:
我还了解到您拥有以下权限:
r)w)x)我创建了一个目录来测试我新获得的知识:
mkdir test
Run Code Online (Sandbox Code Playgroud)
然后我做了一些测试:
chmod u+rwx test/
# drwx------
chmod g+rx test/
# drwxr-x---
chmod u-x test/
# drw-r-x---
Run Code Online (Sandbox Code Playgroud)
经过一段时间的鬼混后,我想我终于掌握chmod了使用此命令设置权限的方法。
我还有几个问题:
d在开始代表什么?d?(因为你只有 7=4+2+1 7=4+2+1 7=4+2+1)0777而不是777来设置他们的权限?但因为我不应该问多个问题,所以我会尝试用一个问题来问它。
在基于 UNIX 的系统(例如所有 Linux 发行版)中,关于权限,第一部分 ( d) …
你好我想了解chmod g+s命令在Unix中的作用。
我还想知道它在这种特定情况下的作用:
cd /home/canard;
touch un;
chgrp canard .;
chmod g+s .;
touch deux ;Run Code Online (Sandbox Code Playgroud)
我了解所有命令角色,除了chmod g+s我想知道文件之间的差异un以及deux由这一系列命令产生的差异。
我在 Linux 机器(Debian 8)上有一个路径,我想与 Samba 4 共享到 Windows 计算机(域中的 Win7 和 8)。在我的smb.conf我做了以下事情:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
guest ok = yes
public = yes
Run Code Online (Sandbox Code Playgroud)
我有完美的 Windows 读取权限。但是为了有写访问权限,我需要做chmod -R 777 /path/to/share才能从 Windows 写入它。
我想要的是在我提供/path/to/share.
我已经尝试过:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
Run Code Online (Sandbox Code Playgroud)
然后 Windows 要求提供凭据,但无论我输入什么,它总是被拒绝。
在不授予 777 权限的情况下,从 Windows 域计算机获得对 Samba 共享的写访问权限的正确方法是什么?
有时我会看到chmod使用四个八进制数字而不是三个的命令——可选的第一个数字是什么?例如,chmod 777相当于chmod a+rwx; 什么是相同的命令chmod 2777?
是否可以执行 chmod 并忽略命令中的错误
示例(备注 file.txt 不存在以显示示例)
当我打字
chmod 777 file.txt
Run Code Online (Sandbox Code Playgroud)
我在输出上出错
chmod: cannot access file.txt : no such file or directory
Run Code Online (Sandbox Code Playgroud)
所以我将 -f 标志添加到命令中,如下所示:( file.txt 不存在以显示案例)
chmod -f 777 file.txt
echo $?
1
Run Code Online (Sandbox Code Playgroud)
但是从示例 chmod 返回 1
请建议如何强制 chmod 命令在出现错误的情况下给出退出代码 0
我在将文件复制到 Ubuntu 12.04 上的目录时遇到问题。我在主目录中创建一个目录,以便我要复制到的路径是:
/home/sixven/camp_sms/inputs
Run Code Online (Sandbox Code Playgroud)
但是当ini在终端运行以下命令创建示例文件时如下:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Run Code Online (Sandbox Code Playgroud)
我无法直接复制该目录中的文件。如何使用chown&chmod命令分配权限以复制文件?
我不知道要使用哪个用户和组。
我有一个具有这些权限的符号链接:
lrwxrwxrwx 1 myuser myuser 38 Aug 18 00:36 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
Run Code Online (Sandbox Code Playgroud)
符号链接位于 .tar.gz 存档中。现在,当我使用 maven 解压缩 tar.gz 存档时,符号链接不再有效。因此,我试图重建符号链接。首先,我使用ln创建符号链接,但如何设置与原始符号链接相同的权限?
chmod ×10
permissions ×4
linux ×2
chown ×1
executable ×1
files ×1
freebsd ×1
ls ×1
samba ×1
setgid ×1
shell ×1
shell-script ×1
symlink ×1
windows ×1