我经常听到 su 到 root 比直接以 root 用户登录更好(当然人们也说使用 sudo 更好)。我从来没有真正理解为什么一个比另一个更好,洞察力?
我正在尝试编写一个 bash 脚本(在 Ubuntu 中),它将使用 tar 备份目录。
如何检查脚本,使其只能以 root 身份(或使用 sudo)运行?
例如,如果用户运行该脚本,则应该说该脚本必须以 sudo 权限运行,然后退出。如果脚本以 root 身份执行,它将继续通过检查。
我知道必须有一个简单的解决方案,我只是无法通过谷歌搜索找到它。
我经常在 vim 中打开一个文件,进行一些更改,并且何时保存文件是只读的..(由另一个用户拥有)。我正在寻找有关如何以 root 身份重新打开文件并保留更改而无需先将其保存到临时文件以便以 root 身份复制或重新编辑的提示。
当我尝试设置root密码时:
root@OpenWrt:~# passwd
Changing password for root
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Run Code Online (Sandbox Code Playgroud)
似乎最大长度是 8。如果我尝试设置超过 8 的密码,则只有前 8 个字符有效。如何设置更长的密码root?
我的 OpenWrt 版本:
Linux OpenWrt 4.14.108 #0 SMP Wed Mar 27 21:59:03 2019 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud) 我尝试将文件的所有者 chown 为 root,但我不能。我正在以 root 身份执行此操作。我收到以下消息:
chown: changing ownership of `ps': Operation not permitted
Run Code Online (Sandbox Code Playgroud) 几秒钟前我刚刚运行了这个。我设法做到了Ctrl-C一旦我意识到我开始做什么。
到目前为止,它开始通过的唯一目录是/bin.
我害怕做别的事情。到目前为止,我意识到我不能再su作为普通用户使用了。
幸运的是,我还有另一个根终端打开。我该怎么办?
我使用的是 SLES 10.1,并尝试配置 vsftpd 以允许 root 登录。有谁知道如何做到这一点?
到目前为止,我有这个:
local_enable=YES
chroot_local_user=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.users
Run Code Online (Sandbox Code Playgroud)
我已经将 root 添加到 /etc/vsftpd.users。当我尝试登录时,这是我得到的:
$ ftp susebox 连接到 susebox.example.com。 220-FTP 服务器(用户“me@example.com”) 220 用户 (susebox.example.com:(none)):root 331-密码: 331 密码: 远程主机关闭了连接。 C:\>
顺便说一句,如果你不知道答案,请不要打扰我说我不应该允许 root 登录。我知道我在做什么,我对可能导致的时空连续体的任何破裂承担全部责任。
我们是否应该删除 root 密码、禁用远程登录并基本上要求管理员使用 sudo 来执行管理操作?

非 root 用户是否可以在 Ubuntu 上运行 chroot 进程?
ls -l /etc/passwd
Run Code Online (Sandbox Code Playgroud)
给
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd
Run Code Online (Sandbox Code Playgroud)
所以普通用户可以读取文件。这是安全漏洞吗?