Questions tagged «not-root-user»

在没有管理特权的情况下执行管理任务。

1
非root用户如何自动启动后台程序?
作为非root用户,我想在系统启动时运行后台作业。这是一种不需要root特权的服务。有办法吗? 一种方法是把sudo -u user command在rc.local,但编辑rc.local需要root权限。 另一种方法是cron每分钟启动一次,并检查是否有任何正在运行的实例,但是首先,它会不必要地唤醒系统;其次,在检查正在运行的实例时会出现争用情况。 第三种方法是在中运行它~/.bash_profile,但是我想在没有用户登录的情况下启动它。


2
如何在不要求root特权的情况下将syslinux / extlinux安装到磁盘映像文件
我已经建立了自己的Linux发行版,并且可以以非root用户的身份制作完整的磁盘映像文件,但有一个例外-安装引导加载程序。我使用的是syslinux(实际上是extlinux),要安装它,我必须环回安装引导分区,该分区需要root / sudo特权。这些命令是从makefile运行的,并且变量名应清楚指示替换它们的内容。 sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME) sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT) sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT) sudo umount $(LOOP_MOUNT_POINT) sudo losetup -d $(LOOP_DEVICE) 有没有一种方法可以将syslinux或extlinux写入磁盘映像文件而无需root特权?

2
使用unshare模拟chroot
我正在尝试为最小的源Linux发行版编写引导程序。 我想在类似chroot的环境中构建。这应该简化包装。我现在不在乎安全性。引导程序不应要求任何非标准的第三方命令。如果也不需要root,那就太好了。 这就是为什么fakechroot(1)fakeroot(1)chroot(1)并非我要找的东西的原因。 是否可以伪造/使用unshare(1)和/ bin / sh?

3
通过ssh-key登录后,我可以重设帐户密码吗?
我通过sshkey(ssh -i /home/me/.ssh/ssh-key me@server)登录到服务器上。 我从管理员那里获得了该服务器上的sudo权限,但是我无法使用它们,因为我忘记了实际的Unix密码(或者从未听说过)。我已经登录-可以在passwd不知道旧密码的情况下通过重置密码吗?

3
蓝牙LE扫描为非root用户?
要对蓝牙LE设备执行扫描,hcitool显然需要root特权。对于普通用户,输出如下: $ hcitool lescan Set scan parameters failed: Operation not permitted 为什么hcitool需要root特权才能进行LE扫描? 是否可以以非root用户身份执行LE扫描?

4
管理cgroup是否需要root用户访问权限?
我正在尝试与两个不同操作系统(Ubuntu和CentOS)上的控制组一起工作。我想问的问题很少。 我正在尝试使用cgcreate命令创建一个控制组,并且它似乎需要在计算机上进行root访问。到目前为止,我所看到的所有示例都没有提到需要成为创建或修改控制组的root用户。 真的有必要成为root用户吗?最终目标是编写一个C ++应用程序,该应用程序使用libcgroup API创建和管理控制组以控制资源。但是C ++应用程序不会由任何root用户运行。它可以是任何普通用户。

2
如何允许非root用户使用实例控制systemd服务?
我需要允许dba组中的用户控制database@服务。这个相关问题的答案是仅列出systemctl我要允许在sudoers文件中使用的所有“动词” ,但是,这不适用于我的情况,因为我事先不知道系统中可能存在哪些数据库。例如,如果我列出 %dba = /usr/bin/systemctl start database@awsesomeapp %dba = /usr/bin/systemctl start database@anotherawsesomeapp %dba = /usr/bin/systemctl start database@yetanotherawsesomeapp %dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp # ... other "verbs" omitted for brevity 它不包括将来可能存在的实例,因此dba将无法 $ sudo systemctl start database@omgwowyetanotherawsesomeapp 无论如何,我在包装方面的想法比在特定系统上的想法更多。 请注意,正如对另一个相关问题的惊人回答所示,为此使用sudo glob最终是不安全的: %dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE! 确实允许 $ sudo systemctl …

2
如何允许用户将流程的优先级定为负面?
我希望用户使用负的尼斯值在系统上运行特定的进程。我不能简单地将进程分派到后台,因为此特定程序是Minecraft服务器,并且我依靠命令行来控制服务器。 我当前的bash脚本如下所示(重要部分): sleep 10 && \ sudo renice -n $NICENESS $(ps -u $(id -u) -o "%p:%c" | sed -n "s/:java$//p") & \ java -Xmx8G -Xms2G -jar minecraft_server.jar nogui sleep只是延迟执行renice。renice本身使用ps用户自己的ID来检查Java进程。在不同的用户下可能还会出现其他Java实例,但是minecraft服务器在其自己的用户minecraft下运行。 我显然不想每次启动服务器时都输入密码。 来自/ etc / sudoers: minecraft ALL = NOPASSWD: /etc/renice 有没有更优雅的方法可以做到这一点?与NOPASSWD:选项一起使用时nice,简单地使用不是一个选项,sudo nice bash这将是一个很大的安全问题。

2
如何更改用户时区?
我知道(例如在Debian中)可以使用它dpkg-reconfigure tzdata来更改系统的时区,但是我想知道如何更改用户的时区(如果Linux / Unix完全支持这种想法)。 我通常通过ssh远程在服务器上工作,并且鉴于服务器内部使用UTC(文件,...)并且时区相当肤浅,因此我希望根据所连接的位置查看所需时区中的时间。这可能吗?

2
如何以非root用户身份启动“屏幕”会话
有没有办法以非root用户身份在RHEL框上打开新的“屏幕”会话?当我尝试以非root用户身份使用“ screen”命令打开新屏幕时,它失败,并且出现以下消息: Cannot open your terminal '/dev/pts/2' - please check. 我进行了一些研究,发现有人建议更改/ dev / pts上的权限,以授予非root用户(试图打开屏幕)读取/写入权限。尽管它可能会起作用,但它看起来并不是一个很好的解决方案。是否有允许非root用户打开屏幕会话的“合法”方式? 编辑:我的RHEL 5.5、6.2和6.5计算机上存在此问题。所有这些框上的屏幕版本为“屏幕版本4.00.03(FAU)2006年10月23日”。 PS:-我知道我可以以root和'su'身份打开屏幕会话以启动命令/进程,但这不是我想要的。

1
我如何在Linux上以非root身份维护单独的(较新的)glibc / gcc /…堆栈
我们的计算集群运行的CentOS版本非常旧,带有旧的内核(2.6.18),当然还有旧的库和二进制文件。因为更新整个事情需要在所有节点上进行大量工作,所以这不是一个选择。 我正在尝试编译和使用需要C++11(因此需要更高版本的gcc(和/或clang)版本)的程序。因为我根本不想弄乱系统,所以我想以某些本地目录树中的非root用户身份进行操作。 问题是,这gcc需要glibc比机器上存在的机器更新的机器。因此,我需要保持一个独立的,新版本glibc在我的本地lib/所描述的树,可能是在这里。 我迷路的地方是如何将本地库的路径“硬编码”为所有所需的二进制文件,例如gcc,g++等等。将LD_LIBRARY_PATH设置为我的本地lib/树会导致所有系统二进制文件不再起作用(ELF file OS ABI invalid),因为它们要使用尚未针对其编译的new libm.so/ libc.so。 所以,把它包起来:什么是保持一个较新的,局部的开发堆栈(含适当的方式glibc,gcc并行等)旧系统没有乱搞的根源? 附带提出一个问题:设置LD_LIBRARY_PATH作为SE的解决方案发布到整个SE上glibc。对我来说,当我尝试执行任何系统二进制文件(如ls)时,都会导致上述错误。怎么来的?我做错了什么还是预期的行为?

3
如何在Debian Wheezy上正确配置sudoers文件?
我看过很多博客文章说,这足以做到 aptitude install sudo su root adduser USERNAME sudo 但这只能保护aptitude,换句话说: aptitude install sendmail会要求输入密码,您需要 sudo先运行aptitude apt-get install sendmail不需要密码,不需要sudo特权 如果您编辑受保护的文件,例如其中的文件etc不会要求输入密码,则不需要sudo特权 您可以运行和停止服务,例如apache,它不需要密码,不需要sudo特权 如何解决这个问题?这是我的sudoers文件: This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See …

1
我该如何配置`anybody`以单行运行X?
发布的常见解决方案是运行sudo dpkg-reconfigure x11-common并给出图形化提示,但是,我想非交互地使用它。 场景是,我以root用户身份SSH进入计算机(在Vagrant设置期间),并且需要以startx普通用户身份运行一次以生成一些配置文件,然后再继续后续步骤。 我相信我之所以不能简单地su otheruser startx归因于Xauthority / me是作为另一个用户通过SSH连接的...

1
仅针对一个用户的更新替代
我正在使用共享服务器。在该服务器上安装了不同版本的Java: Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode * 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode 我想选择“第二个”选项,但是如果尝试这样做,它会抱怨我没有权限(我不是root用户)。 有没有办法在“用户空间”中做到这一点? Root用户能否使此首选项仅对我有效?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.