是否可以添加仅特定于某个用户的主机列表?也许是用户特定的主机文件?
此机制还应补充/etc/hosts
文件中的条目。
我有一个 perforce 版本控制客户端 ( p4
)的可执行文件。我不能把它放进去,/opt/local
因为我没有 root 权限。是否有一个标准位置需要放置在它下面$HOME
?
文件系统层次结构是否有一个约定,说明需要将本地可执行文件/二进制文件放入$HOME/bin
?
另外,如果确实有约定,我是否必须明确包含$HOME/bin
目录的路径或目录的任何位置bin
?
fhs executable software-installation directory-structure not-root-user
假设我以用户身份可以通过 ssh 访问某些 Ubuntu 服务器,并且为了方便起见,我需要安装一些非系统工具(mc、rtorrent、mcedit)。我不想为这些小程序打扰管理员。
有没有办法在不使用类似的东西的情况下安装它们(让它们运行)sudo apt-get install
?
使用sysvinit
,这样的sudoers
条目就足够了:
%webteam cms051=/sbin/service httpd *
Run Code Online (Sandbox Code Playgroud)
这将允许以下命令:
sudo service httpd status
sudo service httpd restart
现在,使用systemd
,服务名称是最后一个参数。即,服务重启将通过以下方式完成:
systemctl restart httpd.service
Run Code Online (Sandbox Code Playgroud)
自然,我认为定义命令systemctl * httpd.service
会起作用,但这会允许类似systemctl restart puppet.service httpd.service
的效果不是预期的。
考虑到这一点,那么允许非 root 用户控制systemd
服务的最佳方式是什么?这不需要是sudoers
;也许文件权限更改可能就足够了?
为什么chown
命令是 root-only?为什么非 root 用户不能使用 chown 来赠送他们拥有的文件?
我正在尝试创建一个没有密码的用户,如下所示:
sudo adduser \
--system \
--shell /bin/bash \
--gecos ‘User for managing of git version control’ \
--group \
--disabled-password \
--home /home/git \
git
Run Code Online (Sandbox Code Playgroud)
它创建得很好。但是当我尝试在 git 用户下登录时,我输入了密码:
su git
Password:...
Run Code Online (Sandbox Code Playgroud)
当我把它留空时,我收到一个错误:
su: Authentication failed
Run Code Online (Sandbox Code Playgroud)
怎么了?
是否可以允许某些特定用户(例如组成员)在 Linux 上没有超级用户权限的情况下挂载任何文件系统?
另一个问题可能是“用户可以通过哪些方式通过挂载文件系统来损害系统?”
我正在尝试创建一个 systemd 用户单元并让它在系统启动时启动。该服务会手动启动,但不会在启动时启动。
从网上搜索我了解到,为了让用户单元在启动时启动,我应该运行loginctl enable-linger <username>
,但这似乎根本没有效果。事实上,手册页说:
Run Code Online (Sandbox Code Playgroud)Enable/disable user lingering for one or more users. If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services.
尽管运行此命令,但我的服务并未在启动时启动。
loginctl enable-linger error
Run Code Online (Sandbox Code Playgroud)
那个单位:
$ cat ~/.config/systemd/user/thin\@.service
[Unit]
Description=A fast and very simple Ruby web server
[Service]
Type=simple
EnvironmentFile=/home/error/.config/thin/%i
ExecStart=/usr/bin/bash /home/error/.rvm/wrappers/%i/thin start -a $THIN_BIND -p $THIN_PORT
WorkingDirectory=/srv/www/%i
PrivateTmp=true
[Install]
WantedBy=multi-user.target …
Run Code Online (Sandbox Code Playgroud) 从我的研究中,我似乎注意到所有包管理器都坚持被用作特权用户,并且必须安装到/
.
通常,我喜欢做的是创建一个一次性帐户,编译一些软件,然后$HOME
为该帐户安装。我可以尝试各种设置,然后当我完成后,只需销毁帐户。
然而,编译软件变得乏味。
我的经验是真的只是限于yum
,但我不明白为什么我会无法回购文件拖放到~/etc/yum.repos.d
并已百胜一切安装到主账户。
是否有任何理由必须将包管理器用作特权用户来安装软件?
我想设置一个我的浏览器将使用的 dns 记录,但我没有 root 访问权限,所以我无法修改/etc/hosts
. 我需要这样做以使用 apache 测试虚拟主机,其 dns 尚未设置。我可以访问 Firefox 和 chrome,所以如果有一个插件可以促进它;或其他选项有帮助。
更新:覆盖 dns 的替代方法可能是修改 HTTP 标头,如果将正确的标头发送到 apache,则应返回正确的内容。