在我尝试更改服务器外壳后,我无法再以 root 身份登录。
首先,我以 root 身份安装了 z-shell (zsh),然后我想将其更改为我的默认 shell。因此我使用了“chsh”。我的错是,我输入了错误的路径。通过 Putty 注销并重新登录后,我收到消息“拒绝访问”。
当 shell 的路径不存在时,这是可以预见的。所以我登录到我的控制面板,并通过文件管理器更改了 /etc/passwd 文件:我更正了第一行的最后一部分 - root 用户:
root:x:0:0:root:/root:/usr/bin/zsh
即使我将其更改为旧的 shell /bin/bash 或 /bin/sh 它也不起作用。我读到 passwd 和 shadow 不是实时文件,所以我重新启动了服务器,但仍然存在同样的问题
任何想法,我还能做什么?
操作系统:Debian 5 + Parallels Plesk 11
我正在使用 automysqlbackup,这是创建的默认 cron 条目
#!/bin/sh
test -x /usr/sbin/automysqlbackup && /usr/sbin/automysqlbackup
Run Code Online (Sandbox Code Playgroud)
我的文件存储在这里
/var/cache/automysqlbackup
Run Code Online (Sandbox Code Playgroud)
我需要和我的用户一起阅读它们,但所有转储都归 root:root 和 600 所有
-rw------- 1 root root 945671 mars 12 06:49 my_2013-03-12.sql.gz
-rw------- 1 root root 951541 mars 13 06:32 my_2013-03-13.sql.gz
-rw------- 1 root root 956770 mars 14 06:31 my_2013-03-14.sql.gz
-rw------- 1 root root 961125 mars 15 06:53 my_2013-03-15.sql.gz
-rw------- 1 root root 969009 mars 17 06:38 my_2013-03-17.sql.gz
-rw------- 1 root root 969139 mars 18 06:38 my_2013-03-18.sql.gz
Run Code Online (Sandbox Code Playgroud)
如何配置 automysqlbackup 以使用不同的所有者和权限?
我有一台 Centos 5.9 服务器,我之前已将其配置为通过 SSH 密钥登录进行访问,并且这已经运行了好几个月。我最近不得不远程解决一个问题,这需要我暂时重新启用 root 登录。解决此问题后,我通过在 sshd_config 文件中设置“PermitRootLogin no”来禁用 root 登录,但是,我还设置了“密码验证否”,我认为这是我搞砸的地方。执行此操作后,我无法再登录到服务器,我只收到消息:
Permission denied (publickey,gssapi-with-mic).
Run Code Online (Sandbox Code Playgroud)
我基本上没有其他方法可以通过 SSH 访问服务器,所以我解脱了!我相当肯定这是因为我已经将密码身份验证设置为 no 这就是问题所在,我没有更改服务器上的任何其他设置,这些设置应该会影响以前正常工作的密钥。
如何通过 SSH 重新获得对服务器的访问权限?
我有一些名为 foo 的程序,它在执行时需要 root 权限。foo 需要能够被任何用户运行并且可以位于任何路径。这个程序可以在任何路径上的原因是因为我们公司正在开发程序 foo 并且每个用户在他们工作时可能在某个个人目录中拥有该程序的个人版本。
我的问题是,处理这个问题最安全的方法是什么?我一直在研究 sudoers 文件,基本上有 2 个想法。
1.) 列出程序可以在 sudoers 文件中的所有路径。这是有问题的,因为它需要经常编辑 sudoers 列表,并且仍然存在安全风险,因为非 root 用户将拥有他们自己的 foo 副本,并且可以通过 foo 复制一些系统程序,然后以 root 身份使用它。
2.) 编写一个名为 start_foo 的脚本,它对传递的程序执行一些输入验证,例如大小和名称,然后启动传入的 foo。start_foo 可以存在于 /usr/bin 中并由 root 拥有,但任何人都可以运行。这个选项仍然包括能够用另一个需要 root 的程序覆盖用户 foo 程序的安全漏洞,但希望大小检查能捕获一些恶意案例。
有没有一种“规范”的方法来解决这个我没有发现或想到的问题?如果不是,以上哪一个或可能的其他解决方案是处理问题的最佳方法?
谢谢!
我已经向组中添加了一个新用户wheel。我可以使用此用户和密码 ssh 进入机器并确认它属于该组:
[newuser@xxx.xxx ~]$ groups
newuser wheel
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用 root 权限运行任何东西:
[newuser@xxx.xxx ~]$ sudo ls -lt /root
[sudo] password for newuser:
newuser is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
并visudo确认组中的用户wheel应具有以下权限:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
所有教程都说将用户添加到该组就足够了。我还需要做什么?
PS:这是一个amazon-linux机器
我对 Linux 操作系统非常陌生(我已经开始使用 CentOS 7),所以我想知道是否可以创建某种与 root 具有相同权限的超级用户。我的意思是能够写入 + 读取 + 执行 root 用户拥有的文件夹和文件。为什么我需要这个?我有完全访问权限的 VPS。为了提高我的 Web 服务器的安全性,我创建了新用户并禁用了 root 登录,现在我通过 Putty 和 WinSCP 使用 RSA 公钥/私钥登录我的服务器。这是我的 sshd.conf:
Port my_port_number
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
RSAAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PermitEmptyPasswords no
SyslogFacility AUTHPRIV
LoginGraceTime 15m
PermitRootLogin no
StrictModes yes
MaxAuthTries 2
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM no
IgnoreRhosts yes
X11Forwarding no
ClientAliveInterval 120
ClientAliveCountMax 720
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv …Run Code Online (Sandbox Code Playgroud) 我们正在尝试为那些离开屏幕会话时间过长并且以某种方式或其他方式绕过我们的会话超时的用户重写一个严酷的屏幕会话杀手。
当前的方法是找到屏幕的pid并杀死它,看起来屏幕程序的编写方式可以挂钩其他用户会话,但是当我尝试以root身份执行任何操作时,屏幕目录是不同的目录。猜测这是出于安全原因,但无论如何要故意覆盖它,以便我可以做类似的事情screen -r somedude/33333 -d -X quit?作为根?
如何从 shell 获得 root 访问权限?当我尝试使用时,su我得到:
default@default-laptop:~/home/default$ su
Password:
su: Authentication error
default@default-laptop:~/home/default$
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ubuntu 9.04 中编写一个 bash 启动脚本,它将从我的计算机中删除烦人的系统提示音:
#/bin/bash
rmmod pcspkr #remove system beep; also doesnt work without root access
Run Code Online (Sandbox Code Playgroud)
当我重新启动计算机时,它不断回来,我想运行一个启动脚本来消除这个烦恼。但是我不知道如何在 bash 脚本中以 root 身份运行,有人知道如何在 bash 脚本中以 root 身份登录吗?
我目前有大约 4 台服务器,我一直使用 root 登录到 SSH。但是现在我意识到这是一个安全风险,所以我该怎么做才能不通过 root 登录?