0321centos7用户和组管理

一.用户配置文件和密码配置:

/etc/passwd:管理用户密码的文件

[root@ligenkelong ~]# 
[root@ligenkelong ~]# ls -ld /etc/passwd
-rw-r--r--. 1 root root 883 3月  20 10:47 /etc/passwd              #默认只有root用户才可以更改
[root@ligenkelong ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash            每一列分别对应 用户名:密码(基于安全,用x代表):uid(0是超级用户):gid:注释说明(没有实际意义):用户的家目录:用户的终端解释器shell
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
aaa:x:1000:1000::/home/aaa:/bin/bash
  • /etc/shadow

:用户的密码管理文件

[root@ligenkelong ~]# head -n 4 /etc/shadow
root:$6$Lwkzf1AH$Vm6fFW8LKBIOSilykXIeyW..myp1szAgyTAd4ZjFERjThJgKqkE81DqEd.8J3j1yNgaO8eb6HQllF2GB4WRa6/:17970:0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::

每个字段说明:
第一个是用户名
第二个是经过加密的密码
第三个是上次更改密码的日期,它是以1970年一月一日为基准
第四个是多少时间内才可以再次更改密码,0表示不受限制
第五个是密码多少天后到期,默认99999,表示没有规定
第六个是密码到期前多少天给出警告,默认7,表示密码到期的前7天提醒用户
第七个是账号的使用周期,到期后账号作废,同样以1970一月一日为基准
第八个是保留用的,没什么意思。

  • /etc/group:
    用户组的配置文件
[root@ligenkelong ~]# head -n 4 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:

文件说明:
第一列表示用户组
第二列表示用户组密码,通常不需要设置,这个设置是给“用户组管理员”使用的。同样的这个密码也用x表示,密码移到了/etc/gshadow
第三列表示gid,和/etc/passwd的第四个字段相对应
第四列表示用户组支持的用户名称
注意:用户组分为初始用户组和附属组,初始用户组是用户一登入就会自动获得。拥有附属组的权限

     [root@ligenkelong ~]# groups      #查看当前账户的有效用户组
     root
     [root@ligenkelong ~]# newgrp root          #newgrp 可以切换
  • /etc/gshadow:
[root@ligenkelong ~]# head -n 4 /etc/gshadow
root:::
bin:::
daemon:::
sys:::

每个字段分别表示 用户名:密码列:用户组管理员的账号:gid

二.用户和用户组管理:

  • 增加用户的命令:useradd
    -u:表示自定义uid
    -g:使新增用户加入到某个已经存在的组
    -s:确定用户的终端shell。特别注意/sbin/nologin表示用户不能登入
    -G:表示使用一个或多个附属组
    -d:表示指定用户的家目录
    -M:表示不能建立家目录
    -e:账户到期时间,格式为YYYY-MM-DD
    -N:表示不创建和用户名同名的组
    [root@ligenkelong ~]# useradd -d /home/bb -s /bin/bash -u 1001 bbb
    [root@ligenkelong ~]# tail -n 1 /etc/passwd
     bbb:x:1001:1001::/home/bb:/bin/bash
  • 建立用户组groupadd和删除groupdel:
    -g:指定gid组,没有则默认
[root@ligenkelong ~]# groupdel bbb
  • 修改用户的属性usermod:
    -u:修改用户uid
    -s:修改用户终端shell
    -g:修改用户gid
    -G:修改用户扩展组
    -d -m可连用:修改用户家目录,并自动把旧的数据转移过去
    -L:锁定用户禁止其登入
    -U:解锁用户允许其登入
    [root@ligenkelong ~]# usermod -u 1002 bbb
    [root@ligenkelong ~]# usermod -g 1002 bbb
  • 用户密码管理passwd:
    -l:锁定用户,禁止其登入
    -u:解除锁定,允许用户登入
    –stdin:允许通过标准输入修改用户密码
    -d:使用户可用空密码登入系统
    -e:强制用户在下次登入时修改密码
    -S:显示用户密码是否被锁定
    [root@ligenkelong ~]# groupdel bbb
    [root@ligenkelong ~]# useradd bbb
    [root@ligenkelong ~]# echo "bbb" --stdin bbb            
    bbb --stdin bbb
    [root@ligenkelong ~]# echo "bbb" |passwd --stdin bbb
    更改用户 bbb 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
     [root@ligenkelong ~]# tail -n 1 /etc/shadow
    bbb:!!$6$lMJzj/Oe$KbsyUG2wr36GwWgD2uL4rdSujW2z1bCm6aZlkzZt4sFIxfPRPNzQeLnBuin7PqL2ftaTfzm0W87ug7N1dAENZ0:17977:0:99999:7:::

生成密码工具----mkpasswd

[root@ligenkelong ~]# yum install -y expect
[root@ligenkelong ~]#  mkpasswd -l 12
heczdxKSz33;
[root@ligenkelong ~]# mkpasswd -l 12 -s 0        #-s表示特殊字符
6hKqeMjsr0rk

三.su和sudo命令:

  • su
    su - 用户名 切换到用户的变量环境
    su 用户名 当前目录没有变化
    sudo:
    执行一个只有root用户才能够执行的命令,需要输入用户自己的密码,普通用户想要使用sudo,是需要root预先设定的。
   [root@ligenkelong ~]# visudo
    aaa   ALL=(ALL)       /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
    [root@ligenkelong ~]# su - aaa
    上一次登录:五 3月 22 12:56:57 CST 2019pts/1 上
    [aaa@ligenkelong ~]$ sudo ls /root
    [sudo] aaa 的密码:
    2  2.txt  33.txt  5.txt  anaconda-ks.cfg
    Cmnd_alias AAA_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat      #命令别名
    aaa     ALL=(ALL)       AAA_CMD

四.限制用户远程登入

[root@ligenkelong ~]# vi /etc/ssh/ssh_config 
                     #PermitRootLogin yes        #更改为 PermitRootLogin no
 User_Alias   LIGEN = bbb                     #visudo 用户别名设置

课堂笔记:
usermod -L /etc/shadow 有一个!号
passwd -l /etc/shadow有两个!号

  • visudo详解:

root ALL=(ALL) ALL
第一个是可以用sudo的用户
左边的是主机host 主要是ip地址、IP段、主机名
右边一般映射到所有,包含root
最后一个对应的是命令
/etc/sudoers ------> 配置sudo
别名类型:
Host_Alias 定义主机别名
User_Alias 用户别名
Runas_Alias 目的用户
Cmnd_Alias 命令别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值