一、Linux用户管理
Linux系统不同用户权限不一样。
root用户:此用户是唯一的,且拥有系统的所有权限。
普通用户
虚拟用户
在Linux中,用户有自己的UID身份账号且唯一
在Linux系统中UID为0,就是超级用户,如要设置管理员用户,可以修改UID为0,建议使用sudo
系统用户UID为1~999,Linux安装的服务程序都会创建独有的用户,负责运行
普通用户UID从1000开始:由管理员创建(CentOS 7),最大值1000~60000范围
UID 用户id号;GID用户组id号;root用户、组id号都为0
1. 常用命令解释器
/bin/sh 默认
/bin/bash 默认
/sbin/nologin 虚拟用户
2. 用户信息配置文件
/etc/passwd :用户信息
/etc/shadow :用户密码信息
/etc/group :用户组信息
/etc/gshadow:用户组密码信息
/etc/sk
3. 用户管理命令
1)useradd命令
此命令用于Linux中创建新的用户。账号建好之后,再使用passwd设定账号密码,而userdel删除账号
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。
创建用户流程:
a. useradd user_account
b. 系统读取/etc/login.defs(用户定义文件),和/etc/default/useradd (用户默认配置文件)两文件中定义的规则创建新用户
c. 向/etc/passwd 和/etc/group 文件中添加用户和用户组信息,向/etc/shadow和/etc/gshadow中添加密码信息
d. 根据/etc/default/useradd文件中配置的信息创建用户家目录
e. 把/etc/skel 中所有的文件复制到新用户家目录中
创建用户有关的目录/etc/skel
此目录存放新用户需要的基础环境变量文件,添加新用户时,这个目录下所有文件自动被复制到新家目录下,且默认是隐藏文件,以点开头的
-D参数用来修改配置文件/etc/default/useradd 文件中的默认值
useradd -D 参数选项
2)usermod命令
此命令用于修改系统已经存在的用户信息,只能修改未使用中的用户
3)userdel命令
删除用户与相关文件(建议注释/etc/passwd用户信息而非直接删除用户)
userdel (选项)(参数)
-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件
4)groupadd命令
此命令用于创建一个新的工作组,新工作组信息将被添加到系统文件中
语法
groupadd - 建立新群组
groupadd [ -ggid [ -o ]] [ -r ] [ -f ] group [[ ]]
选项
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
5)groupdel命令
删除用户组
6)passwd 命令
passwd命令修改用户密码和过期时间等,root可以修改普通用户
语法
passwd(选项)(参数)
选项
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
-i:密码过期多少天后禁用账户
-x:设置x天后可以修改密码
-n:设置n天内不得改密码
-e:密码立即过期,强制用户修改密码
-w:用户在密码过期前收到警告信息的天数
批量更新密码命令
a.查看当前机器的用户信息
tail /etc/passwd
b.批量改密码,ctrl + d结束输入
chpasswd
7) 用户查询相关命令
id 命令
id命令用于检查用户和组以及对应的uid,gid等信息
8)whoami、who、w、last、lastlog
whoami:显示可用于查看当前登录用户
w:显示当前已登录的用户
last、lastlog查看用户详细的登录信息
last:命令显示已登录的用户列表和登录时间
lastlog:命令显示当前机器所有用户最近的登录信息
9)Linux用户身份切换命令
su命令用于切换到指定用户
root切换普通用户,无须密码
普通用户切换其他用户,需要输出用户密码
visudo命令
用于编辑/etc/sudoers文件,且提供语法检测,用于配置sudo命令
为oldboy用户配置sudo使用权
sudo配置文件
配置sudo目的在于即能让运维方便干活(权限不足问题),又不威胁系统安全
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。普通用户就不需要root密码即可使用root权限
配置了/etc/sudoers文件后,可以对用户命令提权,sudo命令
切换root执行操作,使用sudo su -,需要输入当前用户的密码