用户管理

一、用户/组基本概念

1、概念

. Users and groups

. Every process (running program) on the system runs as a particular user.

. Every file is owned by a particular user.

. Access to files and directories are restricted by user.

. The user associated with a running process determines the files and directories accessible to that process.

2、用户作用

查看当前登录的用户信息:[root@localhost ~]# id     uid=0(root) gid=0(root) groups=0(root)

查看文件的owner: [root@localhost ~]# ll /home/   

drwx------. 4 alice alice 4096 Jun 2 15:59 alice

drwx------. 2 root root 16384 Jun 1 23:09 lost+found

drwxr-xr-x 2 root root 4096 Jun 2 15:33 qianfeng

查看运行进程的username:[root@localhost ~]# ps aux

[root@localhost ~]# ps aux

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root          1  0.0  0.2 193772  2236 ?        Ss   06:56   0:02 /usr/lib/syste

root          2  0.0  0.0      0     0 ?        S    06:56   0:00 [kthreadd]

root          4  0.0  0.0      0     0 ?        S<   06:56   0:00 [kworker/0:0H]

root          6  0.0  0.0      0     0 ?        S    06:56   0:00 [ksoftirqd/0]

……

3、用户组信息存储的文件

用户基本信息文件

/etc/passwd(冒号分割为7列字段) root:x:0:0:root:/root:/bin/bash  用户名:x:uid:gid:描述:HOME:shell

root:用户名:登录系统的名字

X:密码占位符:,具体内容不在这里

0:UID: 用户的身份证号  系统约定: RHEL7   uid: 0 特权用户  uid: 1~999 系统用户   uid: 1000+ 普通用户

0:GID:GROUP 组号    每创建一个用户,系统会自动创建同名的组

root:描述:比如经理 manager   默认是用户名

/root:家目录:登录系统时,所在目录

/bin/bash:登录shell:命令解释器

用户密码信息文件

[root@localhost ~]# cat  /etc/shadow    root:$1$MYG2N:15636:0:99999:7:   :   :

root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :

1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号

2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;  

星号代表帐号被锁定;

双叹号表示这个密码已经过期了。

$6$开头的,表明是用SHA-512加密的,

$1$ 表明是用MD5加密的

$2$ 是用Blowfish加密的

$5$ 是用 SHA-256加密的。

组信息文件

[root@localhost ~]# cat /etc/group  root:x:0:   组名:组密码:组ID:组成员

二、用户/组管理

1、用户

创建用户,未指定选项

[root@localhost ~]# useradd user01

[root@localhost ~]# id  user01

uid=1001(user01) gid=1001(user01) 组=1001(user01)

用户编号=具体数字(用户名)  组编号=具体数字(组名)  组=组ID(成员名字)

小结:如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.

创建用户,指定选项

[root@localhost ~]# useradd user02 -u 1503  创建用户user02,指定uid

 [root@localhost ~]# useradd   user03     -d     /user03  创建用户user03 指定家目录

useradd user1 -G   xiaozu(组名)   将新建的用户放到指定的组里面

删除用户

[root@localhost ~]# userdel -r user02 

用户密码

方法一:root修改其他用户(alice)密码  [root@localhost ~]# passwd alice

方法二:用户(zhuzhu)登录,自己修改密码。  [zhuzhu@localhost ~]$ passwd

其它选项管理

[root@localhost ~]# usermod -s /sbin/nologin   user02  修改登录SHELL

组成员管理

查看用户原先信息 [root@localhost ~]# id user02  uid=1002(user02) gid=1002(user02) 组=1002(user02)

将用户追加到hr组  usermod    -aG  组名  用户名  [root@localhost ~]# usermod -aG hr user02

再次查看用户信息  [root@localhost ~]# id user02  uid=1002(user02) gid=1002(user02) 组=1002(user02),1005(hr)

将用户移除组(扩展)  gpasswd   -d    user02    hr

2、用户组

操作

创建一个hr组  [root@localhost ~]# groupadd hr  查看[root@localhost ~]# tail -3 /etc/group

创建组net01,并指定gid 1007  [root@localhost ~]# groupadd net01 -g   1007  查看[root@localhost ~]# grep 'net01' /etc/group

删除组  [root@localhost ~]# groupdel net01  查看[root@localhost ~]# tail -3 /etc/group

分类

基本组:随用户创建,自动创建的同名组

附加组:用户加入的其他组。

三、提权

1、永久提权

Switching users with su  [alice@localhost ~]$ su  -  root     

 password:   

[root@localhost ~]# useradd u1

2、临时提权

观察授权信息

以root身份,授权普通用户user1

[root@localhost ~]# vim /etc/sudoers  

%wheel    ALL=(ALL)       ALL ------允许wheel用户组    不输入密码     使用所有命令

将用户加入到组

[root@localhost ~]# useradd user1 -G wheel

查看xulei信息

[root@localhost ~]# id user1   uid=1001(user1) gid=1001(user1) 组=1001(user1),10(wheel)

切换用户登录

[root@localhost ~]# su  - user1

使用sudo提权

[user1@localhost ~]$ useradd gougou10   -bash: /usr/sbin/useradd: 权限不够

[user1@localhost ~]$ sudo useradd gougou10 成功

  

 

 

 

 

 

 

 


©著作权归作者所有:来自51CTO博客作者青云文质的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. jQuery常用dom操作之验证用户名
  2. 统信UOS中普通用户忘记密码处理方法
  3. 课程表、用户注册及 css 预习
  4. 老调重弹篇:有关BC/C++语言程序编程学习的:10大基础算法科普帖
  5. “1024 节”Keep大裁员,健身独角兽身陷商业化迷途!
  6. 软件开发之交付清单详解
  7. 技巧:Mac Vscode怎么禁止括号自动补全?
  8. Mac 电脑如何对文件进行批量重命名?
  9. 账号安全那些事儿

随机推荐

  1. 仅在两个字符串之间移除空白。
  2. 如何使用php和mysql处理加密的私人消息
  3. 在PHP中更改关联数组索引的位置
  4. 使用php将文件上传到AWS S3
  5. Ajax上传插件。handleError未找到
  6. PHP语言的中回车换行
  7. 正则表达式匹配wordpress类似的短代码,用
  8. 在php项目中, mysql视图常用吗?
  9. mysql_fetch_array返回一个数组,数字为“1
  10. 如何创建自己的wiki-Dokuwiki