目录
Linux 是一个多用户多任务的分时操作系统,为了对文件和资源进行更好的权限管理,产生了用户和组。在Linux中,每个用户都有一个唯一的用户标识号UID,每个组也有一个唯一的组标识号GID。用户可以属于一个或多个组。
用户的分类
-
超级用户:也称为 root 用户,是系统的管理员,拥有对系统的完全控制权限。
-
普通用户:大多数的用户都属于此类,使用系统来完成日常任务。
-
服务用户:专门用于运行系统服务的,比如Web服务器、数据库服务器等,通常被用来限制服务的权限。
还有其他的为了系统正常工作所必需的用户,比如虚拟用户、系统用户等。
在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的文件中。
- 用户账号文件
/etc/passwd
,每行定义一个用户账号信息,每行由7个字段组成,字段之间用 : 分隔
root:x:0:0:root:/root:/bin/bash
# 账号名称:密码:UID:GID:个人资料:主目录:Shell
- 用户密码文件
/etc/shadow
,每行定义了一个用户密码信息,行中各字段用 : 隔开
root:$6$C86UcMH5uLEF1cuZ$gFTarzTT8RTy/9SPzJeA0gHIyH78ZgmkWvF14pR6thjdgqSQtr4RuoL4f87Hcfb.5Ux2lrDVFAkgUTkKiSMWh1::0:99999:7:::
# 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- 用户组账号文件
/etc/group
,每行定义了一个组信息,行中各字段用 : 隔开
root:x:0:
# 组名:组密码:gid:成员列表
- 用户组密码文件
/etc/gshadow
,每行定义了一个组密码信息,行中各字段用 : 隔开
root:*::
# 组名:组密码:组管理员:组成员
关于用户的操作
添加用户useradd
用户组分为两种:
- 基本组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。
- 附加组:可以容纳多个用户,组中的用户都具有组所拥有的权利。
创建一个用户:
sudo adduser username
常用选项:
-
-m 创建用户的同时,自动创建用户的主目录
-
-s 用于设置用户的使用的shell,如果设置 -s /bin/nologin 则表示用户不能使用命令行
-
-u 用于设置用户uid,默认是自增的,通过该命令可以自定义,但要注意必须是1000+且不能重复
-
-g 设置用户的基本组,可以是gid也可以是组名称。组必须得存在
-
-G 设置用户的附加组,可以是gid也可以是组名称。组必须得存在
设置用户的属性usermod
常用选项:
-
-L 设置密码锁定,禁止用户登录
-
-U 解锁用户账户,允许用户登录
-
-l new_login 修改用户的登录名
-
-s shell 修改用户的登录shell
比如:
sudo usermod -s /bin/bash smileleooo
# 修改用户smileleooo的登录shell
设置用户的密码passwd
常用选项:
-
-l 锁定用户账户,锁定账户后,用户将无法登录
-
-u 解锁被锁定的用户账户
-
-d 禁用密码,使用户无法使用密码登录,通常与 -l 选项一起使用
-
-e 强制用户在下次登录时更改密码
-
-S 显示用户密码的状态信息
比如:
sudo passwd -S root
# 显示root用户密码的状态信息
删除用户userdel
删除一个用户:
sudo userdel smileleooo
这将会删除名为smileleooo的用户账户。但是默认不会删除与用户相关的文件和目录。
sudo userdel -r smileleooo
这样就会连同用户的主目录一起删除。
用户权限控制sudo
sudo 允许普通用户以超级用户(root)的权限执行命令。/etc/sudoers
文件文件定义了哪些用户可以使用 sudo 命令以及可以执行哪些命令。
sudo文件中对权限的描述,每一行定义了一个用户或用户组的授权信息,包括用户名、主机名(或 ALL 代表所有主机)、以及授权的命令。
比如:
smileleooo ALL = (root) /usr/bin/apt-get
# 允许smileleooo用户以root的身份执行apt-get命令
临时提权:可以在命令前加上 sudo 临时提升权限,而不必切换到超级用户身份,一般需要用户输入密码验证使用者身份。
sudo的常用命令:
-
sudo -l :列出当前用户可以执行的命令
-
sudo -u 用户名 权限命令 :以指定用户的身份执行需要权限的命令
-
sudo -b 命令 :让命令在后台执行
关于用户组的操作
创建用户组 groupadd
-
-r 表示添加系统用户,它的默认id是1-999
-
-g 指定用户组id
修改用户组属性 groupmod
-
-g 修改用户组id
-
-n 修改用户组名称
添加/删除组成员 gpasswd
-
-a 添加单用户
-
-d 删除用户
-
-M 可同时添加多个用户
删除组账户 groupdel
- groupdel 组名称
被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组。
若有错误,欢迎指正!o( ̄▽ ̄)ブ
标签:删除,用户组,sudo,基础,用户,密码,Linux,root From: https://www.cnblogs.com/smileleooo/p/18162287