linux的用户和用户组管理
一、用户和用户组基础:
1、linux系统中,用户分为三种:超级用户、系统用户、普通用户;每个用户都有自己的uid,超级用户的uid是0;系统用户指的是系统运行所依赖的服务或软件,系统用户的id范围是1~499;普通用户是指所有使用linux的真实用户,他们会被严格的分配权限,id的范围从500开始;
2、每个用户都会有一个初始组,并可以加入多个附加组;通过命令可以查看当前登录用户的一些信息:
[root@localhost ~]# id # 确认自己的uid uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost ~]# groups # 确定自己所在组
root
[root@localhost ~]# who # 查看当前在线用户
root tty1 2017-08-01 04:58 (:0) root pts/1 2017-08-01 05:02 (192.168.100.1)
last # 查看登录历史
w # 查看当前用户信息
users # 在线用户
3、用户信息的基本配置文件:/etc/passwd、/etc/shadow,其中passwd为用户基本信息的配置文件,shadow则存储着用户的密码,并且只有root用户有读的权限;
passwd文件中每一行都代表一个用户,每个用户都有七个字段,关于这些字段的解释:
1> 用户名,在linux中起标识作用;
2> 密码,x表示存有密码;
3> 用户的uid;
4> 用户的gid;
5> 用户的备注;
6> 用户的家目录;
7> 用户登录后所使用的shell;
二、创建用户:
# 创建用户
useradd username
# 指定家目录、用户id和用户组
useradd -u uid -g gid -d home_dir
1、用户创建,系统实际进行的步骤:
1、在/etc/passwd和/etc/shadow两个文件最后追加一条记录,用于保存账号的信息和密码设置;
2、在/home目录下创建该用户的家目录;
3、拷贝一份/etc/skel目录下的文件,到用户的家目录,相当于模板文件;
4、创建一个与用户名相同的用户组;
2、一些特殊字符的含义:
~ # root用户的家目录 / # 系统的根目录 . # 当前目录 .. # 上一级目录
3、修改用户登录成功时的欢迎语:
vim /etc/motd # 修改自定义的内容
三、修改密码:
创建用户后,还要给用户设置密码(root):
passwd username # root用户给普通用户设置密码
passwd # 普通用户修改密码,直接执行passwd命令就行
四、修改用户:
修改用户,实际上就是修改之前说的两个用户相关的配置文件,如果用root权限,可以直接修改配置文件;
usermod -d dir -m username # 修改用户家目录 usermod -L username # 冻结用户账号(修改/etc/shadow文件的信息) usermod -U username # 解冻用户的账号
usermod -g username # 添加到补充组
usermod -G username # 修改自己的主要组
五、用户组操作:
用户组配置文件的路径为:/etc/group
groupadd gname # 添加用户组
groupdel gname # 删除用户组
六、删除用户:
userdel username # 删除用户,实际上是搽除配置文件中的信息
userdel -r username # 删除用户,并清除用户先关文件
七、用户切换:
su username # 输入用户密码,切换用户
sudo username # 输入自己的密码,获取权限
修改配置文件/etc/sudoers: