似乎密码老化限制负责定期更改密码。但我的问题是,
如有必要,请注意我使用的是 Ubuntu 12.10
如果我尝试以非特权用户身份使用 sudo,则会收到一条消息,指出该用户不在 sudoers 文件中。我知道管理员密码,但我不知道如何从非特权(标准)用户使用它。
我有一个网站用户,我希望能够将内容上传到我服务器上的文件夹。我想好了,我会创建一个新用户,并将他的主目录更改为他的东西已经存在的文件夹。
没有这样的运气,usermod 不允许我创建该目录,它已经存在。
$ sudo usermod -m -d /public_html/user user
usermod: directory /public_html/user exists
Run Code Online (Sandbox Code Playgroud)
我查看了手册页,但没有看到这个问题的直接解决方案。
我使用的是 Ubuntu 18.04,我需要列出计算机上的所有用户帐户,但不是所有帐户,只有本地用户。该命令cut -d: -f1 /etc/passwd给出:
root
daemon
bin
sys
sync
games
...
pulse
avahi
colord
hplip
geoclue
gnome-initial-setup
gdm
esnow
stuartsnow
samsnow
Run Code Online (Sandbox Code Playgroud)
有谁知道只输出本地用户的命令,例如:
root
esnow
stuartsnow
samsnow
Run Code Online (Sandbox Code Playgroud) 我对这个问题很困惑。
据我所知,用户 root 拥有所有特权。
此外,组 sudo 的所有用户都拥有所有特权。
但默认情况下,用户 root 不是组 sudo 的成员。那么root用户怎么可能是sudo用户呢?
请向我解释整个概念。
请注意,下面提到的命令会产生下面提到的输出:
$root@lenovo:/home/rancho# compgen -u
-----
-----
root
rancho
-----
-----
$root@lenovo:/home/rancho# compgen -g
-----
-----
root
rancho
sudo
-----
-----
$root@lenovo:/home/rancho# getent group sudo
sudo:x:27:rancho
$root@lenovo:/home/rancho# getent group root
root:x:0
$root@lenovo:/home/rancho# visudo
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page …Run Code Online (Sandbox Code Playgroud) 我使用以下命令来创建我的用户:
useradd -m multicraft
Run Code Online (Sandbox Code Playgroud)
它没有出现在这个列表中:
users
Run Code Online (Sandbox Code Playgroud)
该列表中显示的所有内容是:
root@ns530757://home/multicraft# users
root root
root@ns530757://home/multicraft#
Run Code Online (Sandbox Code Playgroud)
所以当我尝试运行 multicraft 守护进程时,它说它找不到用户 multicraft。主目录已创建(即 -m 选项)。你能告诉我我做错了什么可能导致用户没有被添加到列表中吗?
这是“为什么用户不是其私人组 (UPG) 的成员?”的后续问题。尽管第一个问题并不是理解这个问题所必需的。
这个命令id看起来很清楚...
test@test ~ $ id test
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),129(sambashare)
Run Code Online (Sandbox Code Playgroud)
test它显示(或它的 UPG)的 UID 和 GID ,然后另外列出该用户test所属的所有组。
那么应该怎样/etc/group读呢?
test@test ~ $ less /etc/group | grep test
adm:x:4:syslog,test
cdrom:x:24:test
sudo:x:27:test
dip:x:30:test
plugdev:x:46:test
lpadmin:x:113:test
test:x:1000:
sambashare:x:129:test
Run Code Online (Sandbox Code Playgroud)
开头的组名很清楚,数字就是GID;然后列出小组成员的姓名。但为什么倒数第二行不是test:x:1000:test表明 test:x:1000:用户test是该组的成员test?
额外问题:x第二列中的是什么
我只想更改具有加密主目录的用户的用户名。有没有一种简单的方法来代替建议的恢复等?
我想创建两个用户(例如 adm1 和 adm2),因为每个用户都想要自己的密码,并使用该密码。但是,它们应共享相同的主目录,我们称之为 admx。
这可能吗?
如果是:如何实现这一目标?
(当然他们都属于同一个组=admx)
我们能不能限制一个用户,不让他进入root模式。比如他inter的时候sudo su,系统告诉他你不能访问root?
user-management ×10
users ×4
command-line ×2
groups ×2
permissions ×2
sudo ×2
12.04 ×1
18.04 ×1
ecryptfs ×1
root ×1
visudo ×1