Linux用户管理:su,passwd,usermod,sudo

一、用户切换

"$":普通用户提示符

"#":root用户提示符

可以用命令 echo $PATH  看一下su、su -后的环境变量有何不同。

1.普通用户到root:

//方式一:
命令:su     然后输入root密码
#此种方式只是切换了root身份,但Shell环境仍是普通用户的Shell,pwd命令一下,目录仍然是普通用户的工作目录。

//方式二:
命令:su -   然后输入root密码
#此种方式,是连用户和Shell环境一起切换成root身份。 工作目录变成root的工作目录,pwd命令一下,即可看到。

 2.root到普通用户

su username #切换用户

二、修改普通用户用户名

1,su -(到root用户下)

2,命令

usermod -l 新用户名 -d /home/新用户名 -m 老用户名  

注意:网上有些人方法是usermod -l 新用户名 老用户名,但这种方法只改了表面,你用pwd命令看一下,路径还是之前的用户名。

三、修改密码

1 修改普通用户密码

//1, 先获取root权限,会要求输入root密码
su  -      
//2,
passwd 用户名  
//3
输入两边新密码

2 修改 root密码

//1
passwd 超级用户名
//2 输入两遍新密码

4、关于sudo

https://blog.csdn.net/qq_39290007/article/details/81125750

#安装sudo
yum install sudo -y

#配置文件
/etc/sudoers

#给某个用户添加root权限
su root
chmod u+w /etc/sudoers  #添加写权限
编辑vim /etc/sudoers 添加username ALL=(ALL)  ALL
chmod u-w /etc/sudoers #去掉写权限

#使用sudo
sudo 命令行

四,配置文件

linux用户数据库:/etc/passwd,,密码文件/etc/shadow:无法破译

bianjh:x:1000:1000:bianjh:/home/bianjh:/bin/bash

:分割符
Bianjh 用户名
X密码占位符
1000 用户id uid
1000 组id gid
Bianjh 用户描述
/home/bianjh 家目录
/bin/bash 登录之后采用的命令行语言 shell

组数据库:/etc/group

root:x:0:

各用户组中,还是以 "" 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:
组名:密码:GID:该用户组中的用户列表

组中的用户
此字段列出每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解,该字段显示的用户都是这个用户组的附加用户。

举个例子,lamp 组的组信息为 "lamp:x:502:",可以看到,第四个字段没有写入 lamp 用户,因为 lamp 组是 lamp 用户的初始组。如果要查询这些用户的初始组,则需要先到 /etc/passwd 文件中查看 GID(第四个字段),然后到 /etc/group 文件中比对组名。

每个用户都可以加入多个附加组,但是只能属于一个初始组。所以我们在实际工作中,如果需要把用户加入其他组,则需要以附加组的形式添加。例如,我们想让 lamp 也加入 root 这个群组,那么只需要在第一行的最后一个字段加入 lamp,即 root:x:0:lamp 就可以了。

一般情况下,用户的初始组就是在建立用户的同时建立的和用户名相同的组。

到此,我们已经学习了/etc/passwd、/etc/shadow、/etc/group,它们之间的关系可以这样理解,即先在 /etc/group 文件中查询用户组的 GID 和组名;然后在 /etc/passwd 文件中查找该 GID 是哪个用户的初始组,同时提取这个用户的用户名和 UID;最后通过 UID 到 /etc/shadow 文件中提取和这个用户相匹配的密码。

命令行设置为/sbin/nologin有什么作用

系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行。

所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。
原文地址:https://www.cnblogs.com/tkzc2013/p/10235322.html