小编gun*_*ert的帖子

挂载 cifs 网络驱动器:写权限和 chown

我可以访问 cifs 网络驱动器。当我将它安装在我的 OSX 机器下时,我可以读取和写入它。

当我在 ubuntu 中安装驱动器时,使用:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu
Run Code Online (Sandbox Code Playgroud)

我无法写入网络驱动器,但可以从中读取。我检查了挂载文件夹的权限和所有者,它们看起来像:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder
Run Code Online (Sandbox Code Playgroud)

我无法更改所有者,因为我收到错误消息:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory
Run Code Online (Sandbox Code Playgroud)

当我深入网络驱动器并更改那里的所有权时,我收到错误消息,即我无权更改文件夹的所有者。

我应该怎么做才能激活我的写权限?

linux permissions mount chown cifs

144
推荐指数
2
解决办法
37万
查看次数

什么是/lib64/ld-linux-x86-64.so.2,为什么可以用它来执行文件?

最近,我学到了一个技巧,如果文件缺少可执行权限,我们可以使用/lib64/ld-linux-x86-64.so.2.

例如,恢复 x 权限

-rw-r--r-- 1 root root 59K Mar  1  2017 /bin/chmod
Run Code Online (Sandbox Code Playgroud)

我们可以跑

/lib64/ld-linux-x86-64.so.2 /bin/chmod +x /bin/chmod
Run Code Online (Sandbox Code Playgroud)

我真的不知道它是怎么做到的,这不是一个常规的东西,有点神秘。

linux libraries files

38
推荐指数
1
解决办法
5万
查看次数

哪个驱动程序在处理我的触摸板?

我想知道如何确定哪个驱动程序(以下驱动程序之外)正在处理我的触摸板:

appletouch.ko.gz, 
cyapa.ko.gz, 
sermouse.ko.gz, 
synaptics_usb.ko.gz, 
bcm5974.ko.gz, 
psmouse.ko.gz, 
synaptics_i2c.ko.gz, 
vsxxxaa.ko.gz
Run Code Online (Sandbox Code Playgroud)

linux drivers touchpad

27
推荐指数
2
解决办法
5万
查看次数

Debian systemd network-online.target 不工作?

我正在尝试在 Debian Jessie 上创建一个 systemd 服务。我需要它在network-online.target到达后开始。

问题是同时network-online.target触发network.target,当时我的接口尚未配置,刚刚启动 DHCP 查询。

看起来这个问题是 Debian 特有的,因为它使用旧网络配置。

如何绕过这个问题或如何network-online.target工作?

debian systemd systemd-networkd

26
推荐指数
2
解决办法
3万
查看次数

使用 nmcli 分配静态 IP 地址

所以我试图给虚拟机一个静态IP地址,这种情况特别顽固。

虚拟机在具有自己公共 IP 范围的 ESXi 群集上运行。

我让它(有点)使用 IPv4 地址,除了每次启动都会重新分配它,现在在摆弄 nmcli 之后我无法获得任何分配给它的 IPv4 地址。

接口是ens32,我已经更改ipv4.addressesXXX.XXX.120.44/24(希望它具有地址120.44)、网关XXX.XXX.120.1并将其设置为手动。

有没有人对为什么这不起作用有任何见解?所有在线指南都是针对较旧的网络服务而不是 NetworkManager。

networking fedora nmcli

19
推荐指数
1
解决办法
5万
查看次数

使用 -execdir 查找

当我运行时find-execdir我没有得到我期望的结果。

例如:

mkdir -p a/b/c
find . -type d -execdir touch foo \;
$ tree a
a
??? b
?   ??? c
?   ??? foo
??? foo
Run Code Online (Sandbox Code Playgroud)

目录c不包含foo文件。如何find在每个目录中访问并在本地执行某些操作?

shell directory find directory-structure files

18
推荐指数
3
解决办法
4万
查看次数

了解目录符号链接遍历和父目录

假设您有目录/dir1and /dir2/linked,其中后者是前者的符号链接。

当您cd使用linked和 时pwd,您会得到输出/dir2/linked。如果你那样cd ..,你会被穿上/dir2。这种行为与你/dir2/linked之前的概念是一致的。但是,据我所知,..任何目录的父目录 ( ) 都存储在目录 inode 中(即:物理上在磁盘中)。显然,既然/dir2/linked是真的/dir1,那么inode上的父目录必须是/

为了进一步使问题复杂化,而里面/dir2/linked的输出ls ..cd .. ; ls .是不同的!似乎cd尊重符号链接的路径,同时ls尊重“物理”路径。正如在这个问题中提到的cd -P,这个用例是有的。

man pwd 提到了“物理”和“逻辑”工作目录,但此时我仍然有几个问题:

  • 这种行为是否总是由PWD环境变量提供,如man pwd?
  • 为什么默认cdls有不同的行为,如果它们都是 shell 命令(即:不是程序)?
  • 典型程序(不是 shell 命令)是否使用PWD物理路径而不是物理路径?我意识到这取决于实施,但有什么经验法则吗?

shell directory cd-command symlink

10
推荐指数
1
解决办法
2345
查看次数

如何调试未运行的 init.d 脚本

我正在尝试god在 Debian 启动期间启动。我在/etc/init.d/目录中添加了一个脚本,看起来像这样。

#!/usr/bin/sh
### BEGIN INIT INFO
# Provides:          god
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog 
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start god process monitoring
# Description:       Start god process monitoring
### END INIT INFO

god_conf="absolute/path/to/god.conf"
god_pid_file="/var/run/god/god.pid" ; mkdir -p `dirname $god_pid_file`
god_log_file="/var/log/god/god.log" ; mkdir -p `dirname $god_log_file`
case "$1" in
  start)
    god -c "$god_conf" -P "$god_pid_file" -l "$god_log_file"
    RETVAL=$?
    echo "God started"
    ;;
... …
Run Code Online (Sandbox Code Playgroud)

debian init.d

8
推荐指数
1
解决办法
4万
查看次数

远程执行 Magic Sys Rq

是否可以使用 SSH 在远程机器上执行 Magic SysRq 密钥?例如,我试图像这样运行:

xdotool key Alt+Sys_Req+H
Run Code Online (Sandbox Code Playgroud)

但是我在控制台中看不到任何帮助,在/var/log/syslog.

请假设我没有 root 访问权限,并且无法写入/proc/sysrq-trigger.

linux ssh magic-sysrq reboot

7
推荐指数
2
解决办法
4753
查看次数

在空环境中,如何找到可执行文件?

出于实验目的,我创建了一个打印$PATH, 并调用which如下的二进制文件:

#include <stdlib.h>
#include <stdio.h>

int main() {
    char *path = getenv("PATH");

    if (path)
        printf("got a path: %s\n", path);
    else
        printf("got no path\n");

    system("which which");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我通过以下方式在空环境中运行它时

env -i ./printpath
Run Code Online (Sandbox Code Playgroud)

我得到以下打印输出:

got no path
/usr/bin/which
Run Code Online (Sandbox Code Playgroud)

我的问题是:即使没有,为什么要which调用正确的二进制文件$PATH

shell binary

7
推荐指数
1
解决办法
1222
查看次数