标签: administration

您部署 unixoid 桌面的最佳实践和未来计划是什么?

我一直在为一个非盈利的无线电天文台设置 Linux 桌面。对我来说,这是我第一次不得不考虑“部署”几台相同的机器、集中登录、主目录等。我很快就明白,也许与直觉相反,“一切都是文本”的哲学并不一定使这成为一项容易的任务,我想知道经验丰富的管理员对此做了什么。

就我而言,我在每台机器上都安装了 Ubuntu 10.04 LTS。安装后,我运行了一个自定义脚本,用于更改配置文件、删除和安装软件并从服务器复制一些文件,例如背景图像或浏览器书签。但是,我认为我的问题与发行版无关。

问题

我主要遇到两个问题:首先,跨发行版和跨版本的工具和配置文件不一致,其次,一些关键软件没有以简单直观的方式将设置暴露给配置文件。

让我举两个简短的例子来说明我的意思:

ifconfig工具正在被替换ip。例如,如果在当前的 ArchLinux 机器上运行,所有依赖于前者的脚本都会中断。所以,我需要检查在我运行脚本的机器上存在哪些版本的工具......这在某种程度上感觉像是在小范围内重新发明 autoconf。

对于第二个问题,请考虑我想为桌面提供某种“通用标识”。在我的 post-install-config-script 中,我使用以下几行来实现这一点:

scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
Run Code Online (Sandbox Code Playgroud)

我认为创建 CI 是组织管理员的常见任务。那么,为什么没有中央配置工具,甚至可能没有跨桌面?必须在两个不同的配置文件中设置两个(相同!)未记录的值让我觉得很奇怪。

问题

在组织环境中,您如何处理跨多个客户端的集中统一配置?

与我的“先安装,后运行脚本”的方法相比,像 Debian 的 FAI 这样的系统是否提供了显着的优势(除了不必更换 CD)?

在您的发行版的主要版本之间转换的良好做法是什么?而且,除了技术方面的东西:就用户体验而言,是否有一种桌面环境可以保证长期稳定性?我不认为我可以将我的用户迁移到 KDE 4 或 GNOME 3,但 XFCE 仍然有一些功能缺陷......

是否有解决此类配置问题的 *nix 系统?例如,我假设有些系统会要求您提供组织的一些图像(徽标、背景图像、颜色和字体集等)并将它们应用于登录管理器、用户桌面、网络应用程序(!)等在。注意:在我们的例子中,我必须使用胖客户端,所以纯粹的瘦客户端解决方案无济于事。

settings administration configuration system-installation

9
推荐指数
1
解决办法
573
查看次数

如何判断电脑何时空闲?

我有一台只在某些时候使用的计算机,我想知道是否有办法让它在一段时间不活动后自行关闭。

这是棘手的部分,如果我只是想在 GUI 空闲时让它自行关闭那么我认为这会容易得多,但我正在努力确保我不会切断任何积极使用机器也通过SSH。有问题的计算机是 Debian 5.0。

有没有办法检测机器是否空闲,例如没有人使用 GUI 并且没有人通过 SSH 使用机器?如果 SSH 连接是打开的,但没有被主动使用,那么计算机应该认为是空闲的。

administration debian

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

如何防止特定文件夹的 rm -rf 错误?

我认为这里的很多人都错误地输入rm -rf了错误的目录,希望它不会造成巨大的损失。有什么办法可以防止用户做类似的unix 恐怖故事?有人提到(在上一个链接的评论部分)

...我很确定现在每个使用 unix 的 unix 课程或公司都会设置 rm -fr 来禁用试图运行它的人的帐户或阻止他们运行它......

在任何当前的 Unix 或 Linux 发行版中是否有任何实现?即使是系统管理员(具有 root 访问权限),防止该错误的常见做法是什么?

似乎在 Solaris(自 2005 年)和 GNU(自 2006 年)中对根目录( /)有一些保护。无论如何也要对其他一些文件夹实施相同的保护方式吗??

为了更清晰,我没有询问有关使用的一般建议rm(并且我已经更新了标题以表明更多),我想要更像根文件夹保护的东西:为了rm -rf /您必须传递特定参数:rm -rf --no-preserve-root /.. 自定义目录集是否有类似的实现?或者我可以指定除了/preserve-root选项保护的文件吗?

administration rm

8
推荐指数
2
解决办法
4703
查看次数

我应该使用 useradd 还是 adduser?

我正在尝试向系统添加新用户。我很困惑要运行哪个命令:useradd还是adduser

users administration debian useradd

8
推荐指数
2
解决办法
3005
查看次数

用于培训系统管理员的 Linux/Unix 变体

是否有用于培训系统管理员的基于 Linux/Unix 的操作系统?

一些错误会被故意包含在系统中,而受训候选人应该解决所有这些错误。它应该类似于WebGoat

linux administration distribution-choice

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

列出具有有效 TGT 的 Kerberos 主体

是否可以查询我的 (MIT) Kerberos KDC 以返回已颁发当前有效 TGT 的主体列表?

我的用例是,我想通过仅查询 KDC 机器来找出哪些用户当前登录到网络环境中的任何机器上。

administration kerberos

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

Sudoers:允许特定参数的任何子命令

我试图允许一组用户获得对 dhcpcd 服务实例的一些控制。换句话说,我希望他们能够运行:

systemctl (start,stop,...) dhcpcd@eth0.service
Run Code Online (Sandbox Code Playgroud)

没有被提示输入密码,但只在 dhcpcd@eth0.service 上。我已经遇到过这样做的方法,但是它们需要在自己的行中枚举每个子命令。

%mygroup ALL=NOPASSWD: /usr/bin/systemctl start dhcpcd@eth0.service, /usr/bin/systemctl stop dhcpcd@eth0.service, ...
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方法来做到这一点?

administration sudo

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

usermod:CentOS 中不存在组“sudo”

我想授予用户 sudo 访问权限。

我想主要是想授予安装软件的权限,但不太确定在 CentOS 中如何操作:

https://linuxize.com/post/how-to-add-user-to-sudoers-in-centos/

而在 Ubuntu 中,至少我记得的选项是:

sudo adduser foo sudo

将用户 foo 添加到 sudo。我也很好奇为什么这在 CentOS 中不可用——也许它的粒度不够细?

[nsaunders@rolly ~]$ 
[nsaunders@rolly ~]$ sudo usermod -aG sudo rdegamma
usermod: group 'sudo' does not exist
[nsaunders@rolly ~]$ 
Run Code Online (Sandbox Code Playgroud)

command-line yum administration sudo centos

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

如何检查活动的 cron?

我正在尝试寻找我知道正在运行的 cron 作业(或等效的作业),但在我的系统(FreeBSD / Linux / BSD)的默认 cron 文件中找不到它。我怎么知道哪些实际上正在初始化?

linux freebsd cron bsd administration

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

在生产服务器上安装 zsh 是否常见?

问题可能不清楚且过于宽泛,但任何答案,无论它是短还是宽,都非常感谢。

前段时间我要求在我们的生产服务器上安装 zsh。我的管理员公司回复说这是无法完成的,因为这是生产服务器,而不是开发服务器。

过去 5 年我一直使用 zsh 和 oh-my-zsh,并且非常喜欢它,zsh 让我的工作更轻松、更快捷。但这还不够。

我不擅长安全或可能涉及的其他问题,这就是为什么我的问题是:

  1. 在生产服务器上安装 zsh 对系统无害吗?
  2. 在这种情况下,您是否允许安装 zsh,为什么会这样?
  3. 在生产服务器上使用 bash 限制用户是否有意义?

zsh administration

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