用户操作
-
普通用户:安装系统时创建的用户,也可以由管理员来分配。
-
最高管理员:root,Linux系统内置,当第一次使用root用户的时候,需要修改密码。
修改最高管理员root用户的密码:
sudo passwd
关于用户、文件及权限的关系:用户对文件拥有的权限(读、写、执行、无权限)
普通用户和最高管理员的切换
普通用户切换到root用户:
sudo -i -- 没有设置密码的时候使用这个进入
su root -- 设置密码之后,可以通过这个命令进入
root用户切换到普通用户:
su 用户名
su root 与 sudo -i的区别
-
权限验证方式不同:
-
su
命令允许用户切换到另一个用户身份。当你执行su root
命令时,系统会要求你输入root用户的密码; -
sudo
命令以系统管理者的身份执行指令。使用sudo -i
时,系统会要求输入当前用户的密码,而不是root用户的密码。这样做的好处是不需要知道root用户的密码,增加了安全性
-
-
安全性不同:
-
su root
:任何知道root密码的用户都可以切换到root,这可能会有安全风险,因为root密码可能被多人共享 -
sudo -i
:只有在sudoers
文件中被明确授权的用户才能使用sudo -i
切换到root,这样可以更细粒度地控制谁可以获得root权限,并且每个用户使用自己的密码,增加了安全性
-
-
环境变量的处理:
-
su root
:默认不会加载root用户的完整环境,这意味着一些环境变量可能不会被设置 -
sudo -i
:会尽可能地继承当前用户的环境,并以root用户身份执行。通过sudo
执行-i
通常能获得更接近于完整root环境的体验
-
-
日志记录:
-
su root
:命令本身通常不会在日志中记录执行者的身份,仅记录了su
操作本身 -
sudo -i
:通过sudo
执行,因此sudo
的日志会记录执行该命令的用户和时间,这有助于审计和追踪
-
-
工作目录和环境变量:
-
su root
:不会改变当前工作目录和其他环境变量 -
sudo -i
:会将当前工作目录更改为root用户的主目录(/root),并加载root用户的shell配置文件
-
查看当前用户
whoami
添加新用户
useradd [选项] 用户名
-
-d
:指定了新用户的主目录 -
-m
:这个选项告诉useradd
命令为新用户创建一个主目录。如果不使用-m
选项,即使指定了-d
选项,useradd
也不会自动创建主目录
注:如果在新建用户时没有指定用户组,就会创建一个与用户名相同的组名,并让新用户属于这个组。
查看用户所属的组
[sudo] groups 用户名
删除用户
[sudo] userdel [选项] 用户名
-
-r
:递归删除 -
-f
:不用经过确认,强制删除
给用户添加口令(密码)
passwd [选项] 用户名
选项:
-
-l
:锁定口令,禁用账号 -
-u
:口令解锁 -
-d
:使账号无口令(不安全) -
-e
:强制用户下次登录时修改口令
如果缺省选项,则修改/设置当前用户的口令
修改用户
usermod [选项] 用户名
-
-c
:备注,修改用户的备注文字 -
-g
:用户组,修改用户所属的用户组 -
-G
:群组,修改用户所属的附加群组 -
-s
:shell,修改用户登入后所使用的shell -
-u
:uid,修改用户的id
用户组操作
添加用户组
groupadd [选项] 组名
-
-g
:GID,指定新用户组的标识(唯一编号),如果不指定,系统会自动编号
查看所有用户组
cat /etc/group
cat /etc/gshadow
删除用户组
groupdel [选项] 组名
修改用户组
groupmod [选项] 新组名 旧组名
-
-g
:GID,组编号(唯一标识) -
-o
:和-g同时使用,允许用户组的新的GID和系统已有用户组的GID相同 -
-n
:新用户组将用户组的名字改为新名字