之间有什么区别
$ pdbedit -x
Run Code Online (Sandbox Code Playgroud)
和
$ smbpasswd -x
Run Code Online (Sandbox Code Playgroud)
删除samba用户?
查看 /etc/ 中的文件:
/etc/group:lbutler:*:1005:
/etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash
/etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash
Run Code Online (Sandbox Code Playgroud)
但:
$ passwd lbutler
passwd: lbutler: no such user
Run Code Online (Sandbox Code Playgroud)
此外,文件/home/lbutler/显示为 uid 1005 和 gidlbutler
中的其他用户/etc/passwd似乎没有问题
我正在尝试git clone myuser@server:repo.git从 docker 容器中运行 a 。在容器内(由于政策),我与 docker 主机系统(非 root)上的用户相同,并且我的家已安装。
可悲的是,当从或尝试通过 ssh 克隆时,server我收到如下错误消息:
No user exists for uid 1337
Run Code Online (Sandbox Code Playgroud)
要重现该问题,您可以运行以下 docker 容器:
docker run --rm -it -v /home/$USER:/home/$USER -e HOME=/home/$USER -w /home/$USER -u $UID:100 --cap-drop=ALL kiesel/debian-ssh-client
Run Code Online (Sandbox Code Playgroud)
并在容器内执行以下任一命令:
git clone myuser@server:repo.git
ssh -vT myuser@server
Run Code Online (Sandbox Code Playgroud)
/etc/passwd为我的 uid添加一行伪造似乎可以解决问题(例如getent passwd $USER > /tmp/mypasswd,然后将 a 添加-v /tmp/mypasswd:/etc/passwd:ro到docker runcmd)。
可悲的是,这需要遮蔽/修改容器的/etc/passwd,我可以想象这会在某些时候导致麻烦。
/etc/passwd?我必须使用chmod.I更改文件/目录的所有权。我只知道所有者的用户名,但想同时更改默认组名。在这个阶段组名没有决定所以我把相同的用户名
chown -R username:username path_to_dir
Run Code Online (Sandbox Code Playgroud)
命令可能对各种系统/用户运行,所以我担心的是,linux 是否总是有一对 username(user):username(group) 或在某些时候这个默认 group_name 可能会出错。
虽然我已经开始从用户所属的地方找GID
id username | tr '(=)' ':' | awk -F: '{print $3}
Run Code Online (Sandbox Code Playgroud)
但对于知识,我想知道。到目前为止,/etc/passwd /etc/groups除了少数用户(如“shutdown、halt、sync、opeartor”)外,所有用户也已在组中列出。
编辑 1: id -gn username 也是不错的选择
我有工作密码并且可以看到哈希值 (/etc/passwd)。如何找到用于散列密码的散列算法,而无需手动尝试不同的算法,直到找到匹配项?
我全新安装了 Linux Mint 18.1,并创建了一个名为“jack”的用户,密码为 PASSWORD1。后来,我将密码(使用“用户和组”图形对话框)更改为 PASSWORD2。sudo正如预期的那样,现在登录和使用都需要 PASSWORD2。
但是, PASSWORD1 仍然是帐户的密码root。我可以判断因为su -并su - root拒绝 PASSWORD2 但接受 PASSWORD1。
这不是安全漏洞吗?为什么 root 帐户首先会默默地复制我的用户密码?如果我知道我的密码被盗用并更改了它,我不会考虑检查 root 帐户是否仍在使用被盗用的密码。
事实上,我认为默认情况下在 Linux Mint 上禁用了 root 帐户。例如,请参阅此问题:https : //superuser.com/questions/323317/why-does-linux-ubuntu-mint-lack-a-root-account
有什么理由不禁用 root 帐户sudo passwd -l root?为什么默认情况下不这样做?
编辑
@terdon 我很确定我从来没有在这个操作系统上运行过sudo passwd,甚至没有运行过passwd。
@Mark 我检查过,唯一回来的东西看起来不相关。
jack@gamma /var/log $ ls auth.log*
auth.log auth.log.1 auth.log.2.gz auth.log.3.gz auth.log.4.gz
jack@gamma /var/log $ zgrep passwd auth.log*
auth.log.2.gz:Mar 9 17:56:07 gamma mdm[1695]: pam_succeed_if(mdm:auth): requirement "user …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的示例 /etc/passwd 文件:
tom:x:1000:1000:Work:/home/tom:/bin/bash
george:x:1000:1000:Work:/home/george:/bin/bash
bla:x:1000:1000:Work:/home/bla:/bin/bash
boo:x:1000:1000:Work:/home/boo:/bin/bash
bee:x:1000:1000:Work:/root/list:/bin/bash
Run Code Online (Sandbox Code Playgroud)
我正在尝试列出所有用户在/home/.
我写
cat ~/Desktop/e.txt |awk -F ":" '{if ($6 ~/^/home/) print $1;}'
Run Code Online (Sandbox Code Playgroud)
其中 e.txt 是我在这里复制的文本。
我知道作为转义字符的反斜杠存在问题,但是如何修复它以便我可以在命令的一行中列出它们?
我正在测试如果passwdsetuid 位被禁用该命令是否可以运行。我通过运行以下命令禁用了 setuid:
chmod 0554 /bin/passwd
Run Code Online (Sandbox Code Playgroud)
这样做之后,我测试了该passwd命令是否仍然能够运行。但正如预料的那样,事实并非如此。相反,它给了我以下错误:
passwd: Authentication token manipulation error
Run Code Online (Sandbox Code Playgroud)
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)
我尝试在源代码中查找这些错误消息,但在该文件中找不到它们。谁能指导我找到包含上面显示的错误消息的源文件?
使用 bash 我试图查询/etc/passwd任何 id 超过 1000 的用户。如果他们存在,做一些事情,否则做其他事情。我难住了。任何帮助表示赞赏。
if [ "$(id -u)" -gt "1000" </etc/passwd]; then
do something
else
do something else
fi
Run Code Online (Sandbox Code Playgroud) 通过以下方式设置密码过期后:
sudo chage -d 0 用户名
然后更改密码并以该用户身份登录。
当我输入“passwd”并尝试设置原始密码时,我收到消息;
“密码策略 - 错误密码:密码刚刚轮换为旧密码”
我查看了以下文件,但看不到可能导致此行为的政策行项目;
sudo nano /etc/pam.d/common-password
# here are the per-package modules (the "Primary" block)
password requisite pam_pwquality.so retry=3
password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass yesc>
password sufficient pam_sss.so use_authtok
# here's the fallback if no module succeeds
password requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# …Run Code Online (Sandbox Code Playgroud)