day09(用户管理)

q1如何创建用户和修改主机名字?

1)创建和切换用户
[root@local-work ~]# adduser oldboy
adduser: user 'oldboy' already exists
[root@local-work ~]# su oldboy
[oldboy@local-work root]$

(2更改主机名字
hostnamectl set-hostname zz #第一种方法
echo 'zz' > /etc/hostname

rm -rf 删除

反引号是:tab键盘上的在英文状态下的波浪线

一:用户管理

1.什么是用户

   用户主要解决权限和安全进行管理;不同的用户之间是相互隔离的;linux是多进程的,可以多开;以登录的用户进行权限管理

   Linux中必须要有用户,才可以进行登录和操作

2.如何查看当前用户信息

   (1)查看当前用户

            who           #uid=0(root) gid=0(root) groups=0(root)

            whoami     #root

3.UID和GID

     UID:用户的id;相当于身份证号码,是系统中的唯一标识;

     UID=0管理员用户   UID在1~499系统虚拟用户   UID在500-65535位普通用户 

cat /etc/passwd

   GID:组id;比如身份证的标注地方的前几位数字,还有公司中的部门;作用是统一某一类用户权限的

   centos7系统约定:
   0 超级管理员,最⾼权限,有着极强的破坏能⼒
   1~200 系统⽤户,⽤来运⾏系统⾃带的进程,默认已创建
   201~999 系统⽤户,⽤来运⾏安装的程序,所以此类⽤户⽆需登录系统
   1000+ 普通⽤户,正常可以登录系统的⽤户,权限⽐较⼩,能执⾏的任务有限
4.管理员root
   普通管理员没权限操作访问和删除/root/,而root可以操作任何文件 
  举个例⼦:
  - 1、操作系统=》⼀个国家
  - 2、root⽤户=》国王
  - 3、root⽤户的家⽬录=》皇宫 
需要注意的是:
- 1、在⽣产环境中,⼀般会禁⽌ root 帐号通过SSH远程连接服务器(保护好皇帝),当然了,也会
更改默认的SSH端⼝(保护好皇宫),以加强系统安全。
- 2、企业⼯作中:没有特殊需求,应该尽量不要登录root⽤户进⾏操作,应该在普通⽤户下操作任
务,然后⽤sudo管理普通⽤户的权限,可以细到每个命令权限分配。
- 3、在linux系统中,uid为0的⽤户就是超级⽤户。但是通常不这么做,如果确实有必要在某⼀操
作上⽤到管理的权限的话,那就⽤sudo单独授权,也不要直接⽤uid为0的⽤户,
 
 

二:用户与组相关的文件

1. /etc/passwd

cat /etc/passwd
密码文件
root:x:0:0:root:/root:/bin/bash #背
按照:分割
root 用户名 x密码 UID GID (组名称) 注释信息 用户家目录 用户所用shell类型(解释器)
 
 
2. /etc/shadow(真正存放密码的地方)

三:组文件和组密码文件

1.  /etc/group 

 2. /etc/gshadow

 

/etc/skel/ ⽤户⽼家的模板
/home/xxx ⽤户家⽬录
/var/spool/mail/xxx ⽤户邮箱⽂件
 

四:用户管理命令

1.⽤户管理命令汇总:
useradd  用户名字(aa)      #添加⽤户
密码设置:password aa(用户名)
#存放在/etc/passwd中
oldgirl id 查看UID和GID和groups
userdel 用户名字#删除⽤户 有卸载残留,需要 rm -rf 继续的去 或 userdel -r 彻底删除
usermod #修改⽤户信息

  

useradd中的参数:

#怎样在Linux系统中添加⼀个新的⽤户账户
1) 掌握useradd命令的功能:新增⼀个⽤户。
2) 了解useradd命令的常⽤选项:
3) –u:指定⽤户的UID
4) –g:指定⽤户所属的主群
 –G:指定⽤户所属的附加群
5) –d:指定⽤户的家⽬录
6) –c:指定⽤户的备注信息
7) –s:指定⽤户所⽤的shell
8) -e:修改过期时间
9) -M: 不创建家⽬录
10) -r: 创建系统账户,uid处于系统⽤户范围内,默认就没有家⽬录

2.新增组

[root@local-work ~]# vim /etc/group  #下图
[root@local-work ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl),1000(oldboy)

3.usermod 修改用户信息

参数:
-u #指定要修改⽤户的UID   # usermod -u 2000 oldboy
-g #指定要修改⽤户基本组
基本组:一个用户必须拥有的组
附加组:类似于一个人的副业
-a #将⽤户追加到补充组,不可覆盖。仅与-G选项⼀起使⽤ -G #指定要修改⽤户附加组,使⽤逗号隔开多个附加组, 覆盖原有的附加组
usermod -G group1 oldboy
-d #指定要修改⽤户家⽬录
usermod -d /home/xiaoyu123 xiaoyu
仅仅修改了配置文件,原来的家目录文件没有迁移
-c #指定要修改⽤户注释信息
usermod -c 'xxx' xiaoyu
-s #修改⽤户的默认解释器bash shell
usermod -s /bin/sh xioayu
[root@root
~]# usermod -e 2013-02-11 user1000 # 修改过期时间 [root@root ~]# usermod -g group1 jj # 修改主组 [root@root ~]# usermod -a -G group2 jj # 修改附加组,-a添加,不加-a代表覆盖 其他选项 -m #将⽤户主⽬录的内容移动到新位置。如果当前主⽬录不存在,则不会创建新的主⽬录
-l #指定要修改⽤户的登陆名 #usermod -l 新名字 旧名字
-L #指定要锁定的⽤户 usermod -L 用户名 -U #指定要解锁的⽤户 usermod -U 用户名

4.设定和修改密码

增加密码:从无到有

修改密码:从有到新

passwd # 默认给当前⽤户设定密码

passwd ⽤户名 # root⽤户可以给⾃⼰以及所有其他⽤户设定密码,普通⽤户只能设定⾃⼰的密码

echo "密码" | passwd --stdin ⽤户名 # ⾮交互式

 5.用户组

(1)创建组  

groupadd 组名字     /etc/group  查看

(2)指定gid组  -g

groupadd -g 5555(指定用户组号) gg2(组名字)

(3)创建系统组  -r

groupadd -r 组名称

(4)修改组名称

groupadd -n  新名称 旧名称

(5)删除组

groupdel 组名称 

#如果有用户使用 则不能被删除

#用户删除,基本组也会被删除

6. 组成员管理

(1)对于⽤户来说,组是分类的 1、⼀类是基本组或称主组,⽤户只能有⼀个基本组,创建时可通过-g指
定,如未指定则创建⼀个默认的组(与⽤户同名)
    附加组,基本组不能满⾜授权要求,创建附加组,将⽤户加⼊该组,⽤户可以属于多个附加组,加⼊
 ⼀个组后就拥有了该组的权限
注意:gpasswd将⽤户添加到组或从组中删除,只针对已存在的⽤户
[root@root ~]# gpasswd -a user07 it # 将某个⽤户加⼊到it组
[root@root
~]# gpasswd -M user02,user03,user04 it # 将多个⽤户加⼊到it组 [root@root ~]#

gpasswd -A lhf it
# 指定lhf为组it的组⻓,除了root⽤户外lhf⽤户也可以采⽤第⼀条命令往it组⾥添加成员
[root@root
~]# grep 'it' /etc/group # 查看it组中的成员 it:x:505:user02,user03,user04 [root@root ~]# gpasswd -d user07 it # 删除⽤户usr07从it组

组长有权限向组内添加用户,其他无权限;root用户除外

原文地址:https://www.cnblogs.com/dayday-up-a/p/14523163.html