Lju*_*vac 2 root user-permissions centos7
我对 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 LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
AllowUsers user_that_i_have_created
Run Code Online (Sandbox Code Playgroud)
另外,我已将此行添加到 /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user_that_i_have_created ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
我也这样做了:
usermod -aG wheel user_that_i_have_created
Run Code Online (Sandbox Code Playgroud)
现在有什么问题?作为我创建的新用户,我无法访问只能由 root 读取和修改的文件和文件夹。因为我经常需要修改一些 root 拥有的配置文件(例如 apache 的 httpd.conf),我需要通过 WinSCP 访问这些文件,因为我习惯于通过它的记事本编辑它们。通过 Putty(以 root 身份登录)编辑这些文件会浪费时间。
我在脑海中想象我将能够创建与 root 相同的新用户(关于特权和权限),但只能使用不同的名称。这在Linux中甚至可能吗?
那sudo
是为了什么。如果配置正确,sudoers
文件中的用户也可以执行 root 可以执行的所有操作。
编辑文件:而不是vim filename
您只是sudo vim filename
对其他所有命令使用和相似。
创建一个额外的实际 root 用户是不可能的——你也可以给另一个用户这个 id 0
,但那是具有另一个名称的实际 root 用户。