Linux基础之用户管理

大城市里の小女人 提交于 2020-01-03 03:27:06

一、用户及用户组存在的意义

1、用户

用户是操作者在系统中的身份标识
意义:用户的存在为了限制权限。

2、组

组是逻辑概念,是用户的集合
意义:组的存在为了归类用户,便于管理权限。

二、用户在系统中的存储方式

用户在系统中就是文件中的字符串,每个字符串映射了该用户所用到的系统资源。

三、用户涉及到的配置文件及内容

配置文件 内容
/etc/passwd 用户信息库
/etc/group 组信息库
/home/用户同名目录 默认用户家目录
/etc/skel/所有文件 用户环境配置文件模板
/etc/shadow 用户认证信息
/etc/gshadow 组认证信息

四、用户信息的查看

id:查看指定用户id信息

id 含义
0 超级用户id
1-999 系统用户id
1000-65535 普通用户id

id 命令的常用参数:

参数 含义
-u 查看用户的uid
-g 查看用户的gid
-G 查看用户所在的所有组的id
-n 显示名字而不显示id数字

实验时,用watch -n 1命令来监视用户信息库和组信息库(每隔1秒刷新一次),便于看到变化:

[root@localhost Desktop]# watch -n 1 "tail -n 5 /etc/passwd /etc/group;echo =====;ls -l /home/"

eg:
查看root的信息:

[root@localhost Desktop]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@localhost Desktop]# id -u root
0
[root@localhost Desktop]# id -g root
0
[root@localhost Desktop]# id -G root
0
[root@localhost Desktop]# id -Gn root
root

五、用户身份的切换方式及环境变量

1、图形中的注销命令

gnome-session-quit --force:注销当前用户

2、su 和 su -

su:只切换用户身份, 不切换用户环境
su -:切换用户身份和用户环境
注意:
(1)每次su切换到其他用户操作之后必须退出(logout), 然后再切换到其他用户。
(2)高级用户(root)切换到低级用户不需要密码,低级用户切换到高级用户需要密码。
(3)平级用户切换需要密码。

六、用户及用户组的建立及删除

1、用户组

groupadd:建立用户组
groupdel:删除用户组

2、用户

userdel:删除用户
useradd:建立用户
注意:建立用户时, 读取/etc/login.defs 的文件内容来确定规则

useradd 的常用参数:

参数 含义
-u 指定用户的 uid
-g 指定用户的 gid
-G 指定用户的附加组
-c 指定用户的说明
-d 指定用户的家目录 , 默认为 /home/username
-s 指定用户的默认shell

七、用户及用户组的信息管理

1、用户组

groupmod -g :修改用户组的组id

2、用户

usermod :修改用户的相关信息
usermod的常用参数:

参数 含义
-l 修改用户名称
-u 修改用户的 uid
-g 修改用户的 gid
-G 修改用户附加组
-aG 添加用户的附加组
-c 修改用户的说明
-d 更改家目录指向,不改变原来目录名
-md 修改用户的家目录 , 默认为 /home/username
-s 修改用户的 shell 类型
[root@localhost Desktop]# useradd yang                ##建立用户yang                                       
[root@localhost Desktop]# usermod -u 666 yang         ##更改用户的uid                                   
[root@localhost Desktop]# usermod -u 1001 yang
[root@localhost Desktop]# usermod -l YANG yang      ##更改用户名                             
[root@localhost Desktop]# usermod -l yang YANG
[root@localhost Desktop]# usermod -g 40 yang          ##更改用户初始组            
[root@localhost Desktop]# usermod -g 1001 yang
[root@localhost Desktop]# usermod -G 40 yang          ##更改用的的附加族,没有的时候相当于添加,有的时候修改,相当于覆盖原有信息                             
[root@localhost Desktop]# usermod -aG 21 yang         ##添加用户的附加族,在当前组的基础上,加入新的附加族                             
[root@localhost Desktop]# id yang
uid=1001(yang) gid=1001(yang) groups=1001(yang),21(slocate),40(dip)
[root@localhost Desktop]# usermod -c "YANG USER" yang    ##添加用户说明(修改)                        
[root@localhost Desktop]# usermod -d /home/haha yang       ##更改家目录指向                        
[root@localhost Desktop]# usermod -d /home/yang yang
[root@localhost Desktop]# usermod -md /home/haha yang      ##改家目录名                        
[root@localhost Desktop]# usermod -md /home/yang yang
[root@localhost Desktop]# usermod -s /bin/sh yang          ##更改用户shell                        
[root@localhost Desktop]# usermod -l YANG -u 888  -g 40 yang     ##同时更改-l -u -g              

八、用户认证文件

 yang:!!:18183:0:99999:7:  :   :  
 [1] [2]  [3] [4] [5] [6][7][8] [9]

/etc/shadow:用户认证信息文件
1.用户名称
2.用户密码
3.密码已经使用时间
4.密码最短有效期
5.密码最长有效期
6.密码到期前警告
7.密码非活跃天数
8.密码到期日
9.用户自定义列,目前没有启用

九、用户认证管理

1、passwd

passwd 用户A :更改用户A的密码,只有root可以这样操作.
passwd :普通用户只能改自己的密码,直接passwd

参数 含义
-l 给用户密码上锁
-u 给用户密码解锁
-S 查看用户密码状态
-d 删除用户密码
-e 密码最后一次被修改时间
-n 修改密码最短有效期
-x 修改最长有效期
-w 修改警告期
-i 修改非活跃期

注意:passwd无法修改用户到期日

2、chage

注意:chage可以修改用户到期时间,不能修改密码

参数 含义
-d 修改最后一次修改时间
-E 修改用户到期时间
-I 修改非活跃天数
-m 修改最短有效期
-M 修改最长有效期
-W 修改警告期

十、用户权力的下放

sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相对于权限无限制性的 su 来说 , 还是比较安全的。
sudo 执行命令的流程是:
从当前用户切换到 root,然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户。(前提是要通过sudo 的配置文件 /etc/sudoers 来进行授权)
配置文件语法及测试方式:
/etc/sudoers
visudo
用户 主机名称=(新执行身份) [NOPASSWD:] 命令
westos server0.example.com=(root) /usr/sbin/useradd
westos server0.example.com=(root) NOPASSWD: /usr/sbin/userdel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!