1、Linux 用户
操作系统不是根据用户名来区分用户,而是通过ID来区分用户
[root@localhost ~]# id 当前的root用户下的id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
管理员root账户 默认UID=0
RH 7 普通用户是UID从1000 开始分配
(1)用户的uid保存在和用户账户信息: /etc/passwd 文件中
cat /etc/passwd |grep student
student:x:1000:1000:student user:/home/student:/bin/bash
student 表示用户名
x 表示是否认证
1000 表示UID(所在有用户的编号)
1000 表示GID(所在组的编号)
student user 表示用户的描述信息
/home/student 表示用户所在的家目录
/bin/bash 表示shell环境
(2)用户的密码文件: /etc/shadow 文件中
cat /etc/shadow |grep student
student:$1$4UVn2bIM$M1jcd8dukZVvScgV4r0py.:17588:0:99999:7:::
student 表示用户名
17588 表示密码创建的天数(从1970.1.1 算起)
0 表示是最小有效期
99999 表示最大有效期
7 表示过期前7天提醒
2、Linux组
多个用户的一个集合 组的信息保存在 /etc/group
cat /etc/group |grep student student:x:1000:
组分为两种类型:
主要组
每一个用户都有一个主要组
本地用户的主组用GID表示,可以/etc/passwd文件当中看见用户的主组
通常情况下,用户创建文件的属组是由主组所有;
通常情况下,创建一个用户时,用户的UID和GID相同
创建用户时,系统会创建一个相同名字的主组
用户不能从主组中被删除
附加组
用户可能是零个或者多个附加组成员
用户可以被附加组删除
一个用户可以属于多个附加组,但是只能属于一个主组
查看附加组的信息,可以在/etc/group 中查看
附加组有助于用户访问系统上的其它资源
root 超级管理员
安装软件\删除软件\创建用户... 必须有管理员权限
(1) su - 切换用户
- 用于切换用户环境
su root /home/student 切换用户,不切换目录
pwd
su -roor /root 切换用户同时切换目录
pwd
sudo 提升用户权限
允许管理员让普通用户执行一些或者全部的root命令的工具;
[student@localhost ~]$ sudo useradd user1 使用student 用户创建user1用户
默认情况下,要想使用student 用户创建user1用户需要先必须先设置授权;
sudo 授权方式:
visudo (管理员 才可以s使用visudo)
[root@localhost ~]# visudo
## Allows people in group wheel to run all commands
#%wheel ALL=(ALL) ALL
student ALL=/usr/sbin/useradd 添加useradd权限给student
[root@localhost ~]# which useradd 查找useradd的路径
[student@localhost ~]$ sudo -l 查看sudo 授权
[sudo] password for student:
Matching Defaults entries for student on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User student may run the following commands on this host:
(root) /sbin/useradd
2)vim /etc/sudoers
sudo useradd user1
sudo 的密码有效期默认为5分钟
sudo -k 将缓存清空
3、管理本地用户和组
useradd 新建用户
-c 指定备注信息
-d 指定家目录
-e 指定账户的失效日期
-g 指定主组ID
-G 指定附加组ID
-m 创建家目录(默认创建)
-M 不创建家目录 一般情况下M和s一起用
-s 指定用户的shell
-u 指定UID
useradd -c “this usesr is not root” user3 用户描述信息”this user is not root”
passwd user3 创建用户以后,必须要为用户创建密码
useradd -d /user4/ user4 指定user4的家目录
每创建一个用户,会将/etc/skel 中的内容复制一份到家目录中 /etc/skel 家目录的模板
useradd -u 2000 user7 指定user7 的 UID
id user6 id user7 id user8
useradd -e 20161231 user9 指定user9的账户失效日期
cat /etc/passwd
tail /etc/shadow 密码的失效日期
useradd -g 2000 user10 前提是主组存在,指定主组
useradd -G 2000 user11 提前是附加组存在,指定附加组
cat /etc/group 附加组可以查看
useradd -Ms /sbin/nologin user12
(2)usermode 修改用户
-g 修改主组ID
-G 修改附加组ID
-d 修改用户家目录
-m 移动家目录到新的额目录,m和d合用
-s 修改shell
-l 修改登录名
-L 锁定
-u 修改UID
-U 解锁
usermod -g 2000 user12 主组必须存在,修改主组
usermod -u 2006 user12
usermod -G 2000 user12
usermod -md /home/user6 user6
usermod -s /sbin/nologin u1
tail -l /etc/passwd
usermod -l user11 u1
vim /etc/passwd 可以通过直接修改passwd的配置文件,来修改user
usermod -L user1
usermod -U user1
(3) userdel 删除用户信息
-r 删除用户的所有信息,包括家目录以及邮箱
-z 删除所有的SELinux用户映射
userdel -r u1
userdel -r user10
(4)用户的默认策略
/etc/login..defs
每创建一个用户,用户的账户策略使用/ettc/login.defs。
以后每创建的新用户所有策略会被此文件设备策略
chage 更改用户策略的方式
chage
-d 表示最后更改日期,通常-d 0 表示下次登录式必须修改密码
-m 表示最小使用天数
-M 表示最大使用天数
-W 表示警告的天数
-I 表示设置失效的时间
-l 查看用户的策略信息
-E 设置账号过期时间
chage -l user3
chage -m 3 user3
chage -M 30 user3
chage -W 5 user3
chage -I 10 user3
chage -E 60day user3 账户过期时间
date -d +60day
chage -d 0 user1
(6)管理本地组账户
groupadd gl
-g 指定组ID
group -g 8000 u2
gpasswd 用于添加组成员
-a 添加一个用户到组
-d 从组中删除一个用户
-m 添加多个用户到组
-M 添加用户到组,替换
-g2 删除组
usermod -G g1 user1
gpasswd -a user3 g1
groupmod -g 2007