第四节课笔记

 /etc/passwd #这是用户的配置文件,一行代表一个用户,每一行用":"分隔为7段,内容如下:

fb5fc1fbfd38bc8eb798eb25fb828bdfaf3.jpg

第一段:用户名

第二段:表示用户的密码,这里为什么是x呢?早期的Unix系统口令确实存放在这里,但基于安全因素,后来存放在/etc/shadow中

第三段:表示uid,

第四段:表示gid

第五段:很多都是空的,用户的注释信息

第六段:用户的家目录

第七段:用户的shell,一个用户能登陆,那么需要交互的信息 有一些是/sbin/nologin 不能登陆。

2.etc/shadow #这是用户存放密码的文件,是和用户配置文件对应的,每一行用":"分隔为9段如图下:

99b78006c3f909ab97bf965524c03890ead.jpg

第一段:用户名

第二段:密码,密码都是经过加密的,两个!!表示未设置密码

第三段:最近更改密码的时间,是一个天数,17110,从1970年1月1日开始到你更改密码经过多少天

第四段:要过多少天才可以更改密码,0是没有限制

第五段:密码多少天后到期,必须要更改密码

第六段:密码到期前多少天提醒

第七段:账号的失效期限,如果密码到了失效期,那么在多少天内就被锁定

第八段:账号的生命周期,从1970年1月1日开始有多少天,账号在这个日期之前可以使用

第九段:没有实际意义。 

3./etc/group #存放用户组的配置文件

0d75b752e00ed0a81cdf7d452c514dfca1d.jpg

每个配置文件系统都会进行备份,就是“-”结束的文件,如果不小心删除,可以使用这个文件进行恢复,备份几乎是同步的如果不同步也相差不远

ls /etc/shadowshadow shadow-

ls /etc/group

group group-

ls /etc/passed

passed passed-

groupadd    添加用户组

groupadd houmu

houmu:x:1003:

tail -n1 /etc/group

groupadd-g 添加用户组同时指定ID

groupadd -g 1009 houmu2

tail -n4 /etc/group      #就可以看到houmu2的ID是1009了
user1:x:1002:
slocate:x:21:
houmu:x:1003:
houmu2:x:1009:

groupdel 可以添加当然也可以删除 ,可以看见houmu已经没了

groupdel houmu

tail -n4 /etc/group
vrnyod:x:1001:
user1:x:1002:
slocate:x:21:
houmu2:x:1009:

但是如组下有有任何一个成员在那么就无法删除,和目录同理,非空的目录你是删不了的要删完目录下才能继续删除

groupdel user1
groupdel:不能移除用户“user1”的主组   #用户组user1里面有用户user1,不能删除

用户组

useradd  添加用户,自己添加的用户UID都是从1000开始往后排

useradd houmu3

tail -n4 /etc/group
user1:x:1002:
slocate:x:21:
houmu2:x:1009:
houmu3:x:1003:

当然也可以增加用户的同时指定UID或GID: useradd -u -g

sudo useradd -u 1008 -g houmu3 houmu4        #houmu4的uid指定1008,属于houmu3这个组

tail -n4 /etc/passwd
vrnyod:x:1001:1001::/home/vrnyod:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
houmu3:x:1003:1003::/home/houmu3:/bin/bash
houmu4:x:1008:1003::/home/houmu4:/bin/bash        #可以看到houmu4uid是1008,它属于houmu3为组,所以gid也是1003

useradd -d -s     -d指定用户的家目录,-s指定用户登陆的bash

1.useradd -u 1006 -g houmu2 -d /home/lai1 -s /sbin/nologin lai2

#添加一个用户sdd ,指定uid1006,gidhoumu2,家目录/home/lai1/,bash为nologin

2.tail -n4 /etc/passwd
user1:x:1002:1002::/home/user1:/bin/bash
houmu3:x:1003:1003::/home/houmu3:/bin/bash
houmu4:x:1008:1003::/home/houmu4:/bin/bash
lai2:x:1006:1009::/home/lai1:/sbin/nologin

3.ls /home/
centos  houmu3  houmu4  lai1  user1  vrnyod           #可以看到home目录下有lai1这个目录

useradd -M   创建用户,但是不创建家目录

1.useradd -M xin

2.tail -n3 /etc/passwd
houmu4:x:1008:1003::/home/houmu4:/bin/bash
lai2:x:1006:1009::/home/lai1:/sbin/nologin
xin:x:1009:1010::/home/xin:/bin/bash             #它在家目录下

3.ls /home/  

centos  houmu3  houmu4  lai1  user1  vrnyod            #可是ls却查找不到xin 因为-M,home下没有xin的家目录 ,实际上 xin是有家目录的,但是没有创建,并不是说没有。

userdel 删除用户

1.userdel lai2        #删除一个用户  用户名

2.ls /home/                    
centos  houmu3  houmu4  lai1  user1  vrnyod        #虽然删除了但是它是没有完全删除会留下目录,它觉得假如里面有用户的资料不小心删掉就不好了,就留着让管理员看如果没东西让管理员手动的删以保不会删错。

不过也有个办法可以连家目录一起删除就是userdel -r 加了-r就会家目录一起删除。

 

usermod -G  指定扩展组,一个用户gid只有一个,但是它可以属于多个组,被称为扩展组

1.  id user1           #我们可以用id着命令查看uid,gid,组

   uid=1002(user1) gid=1002(user1) 组=1002(user1)     #可以看到user1只有一个组

2. usermod -G houmu3 user1                 #把houmu3添加到user1组

3. id user1

    uid=1002(user1) gid=1002(user1) 组=1002(user1),1003(houmu3)     #可见user1多了一个扩展组1003

4.  usermod -G houmu3,houmu4,user1                       #也可以添加多个扩展组组

id user1 

uid=1000( user1) gid=1000(user1) 组=1000(user1),1002(user1),1003(houmu3)1008    #可见有3个扩展组

    

usermod   更改用户属性命令

    usermod  -u      更改uid

    usermod  -g      更改gid

    usermod  -d     指定家目录

    usermod  -s    指定shell

    usermod  -G   指定宽展组  

用户密码管理

passwd user1        #更改用户密码
更改用户 user1 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

 

tail -n5 /etc/shadow
sshd:!!:17661::::::
centos:$6$Hq2p11Rr$oUpB6pB1kAviXXeBGSc9uIky7BVY8tru1ztUIl95towldKjtQdTzIInl29Q4Y5kN/OcaDXcVOWpaavdaKdD.4/:17662:0:99999:7:::
vrnyod:!!:17662:0:99999:7:::
user1:$6$nxRBv.Vt$S/1P4qrFjyeXULkmMcYX2zLqbf10g3GAbzxs89c4598fiuFnJzE8oDp/fLpniXa0w9u3j8a.0tjfddjJYtLNL1:17753:0:99999:7:::           可以看到user1用户的密码已经更新,其中!!表示密码为空,*表示不能登陆
houmu4:!!:17753:0:99999:7:::

 

passwd -l  锁定用户的密码  

passwd -l user1
锁定用户 user1 的密码 。
cpasswd: 操作成功

再次查看可见user1的密码段前面有2个!!,表示被锁定

tail -n5 /etc/shadow
sshd:!!:17661::::::
centos:$6$Hq2p11Rr$oUpB6pB1kAviXXeBGSc9uIky7BVY8tru1ztUIl95towldKjtQdTzIInl29Q4Y5kN/OcaDXcVOWpaavdaKdD.4/:17662:0:99999:7:::
vrnyod:!!:17662:0:99999:7:::
user1:!!$6$nxRBv.Vt$S/1P4qrFjyeXULkmMcYX2zLqbf10g3GAbzxs89c4598fiuFnJzE8oDp/fLpniXa0w9u3j8a.0tjfddjJYtLNL1:17753:0:99999:7:::
houmu4:!!:17753:0:99999:7:::

passwd -u  解锁密码,可以锁定当然也可以解锁如下

passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功

tail -n5 /etc/shadow

user1:$6$nxRBv.Vt$S/1P4qrFjyeXULkmMcYX2zLqbf10g3GAbzxs89c4598fiuFnJzE8oDp/fLpniXa0w9u3j8a.0tjfddjJYtLNL1:17753:0:99999:7:::            #再次查询会发现没有2个!号就表示解锁成功

usermod -L  也可以锁定用户,用户的密码段是1个! ,不论是1个"!"还是2个"!",都可以锁定用户           

usermod -U  解锁用户

mkpasswd命令

安装软件包

yum install -y expect 

mkpasswd   随机生成一个包括小写字母、数字、特殊符号的9位密码

mkpasswd

%0xSTxra8

 mkpasswd -l   指定密码的长度

 mkpasswd -l 12

p4jqo=z4Iv8t

mkpasswd -s   指定密码中特殊符号的个数,0表示不要特殊符号

mkpasswd -l 12 -s 5

a^!"0k#19.CY

mkpasswd -l 12 -s 0

n45laLmggoAg

su命令

su -     切换用户

su - user1
密码:
最后一次失败的登录:五 8月 10 15:52:16 EDT 2018pts/0 上
最有一次成功登录后有 1 次失败的登录尝试。

[user1@bogon ~]$ whoami     #查看当前有效用户名

user1          

[user1@bogon ~]$ pwd            #加上”-“用户切换到自己的家目录下,这样可以加载自己的配置文件
/home/user1    

切换用户的时候要加上“-”,这样切换得更彻底,不加“-”仍然在root目录下

[centos@bogon ~]$ su user1

[user1@bogon centos]$ pwd
/home/centos            #可以看到切换用户时没加"-"  ,用户的家目录仍然在centos下/centos

 

su - -c   不切换用户,以另外一个用户的身份执行一条命令

su - -c "touch /tmp/xin" user1         以user1用户的身份,在/tmp下/创建一个空白的文件/xin/

ls -lt /tmp/ |head
总用量 0
-rw-rw-r--. 1 user1  user1   0 8月  10 16:26 xin

 

su - lei                                       #在从user1切换到用户lei下

    密码:

  su: 警告:无法更改到 /home/lei 目录: 没有那个文件或目录   

 -bash-4.2$ pwd            #切换到lei用户下,但是出现提示用户lei家目录不存在

 /home/user1                   #仍然在user1用户的家目录下,因为lei没有家目录导致配置文件不能加载

id lei
uid=1009(lei) gid=1010(lei) groups=1010(lei)        查看lei的uid和gid

mkdir /home/lei        #在home下创建一个目录lei

chown lei:lei /home/lei 

cp /etc/skel/.bash* /home/lei/      #/etc/skel/这个目录存放用户配置文件的模板,将里面的".bash"开头的配置文件拷贝到lei里面

chown -R lei:lei /home/lei            #更改所有文件的所有者和所属组为lei

su - lei                #切换到lei
Password:
Last login: Fri Aug 10 16:43:04 EDT 2018 on pts/0

sudo命令

sudo命令允许普通用户临时拥有root用户的身份执行一些命令

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
centos ALL=(ALL)        ALL

找到"Allow root to run any commands anywhere"这一行,在root这一行下面添加一行

    第一段:centos表示用户,

    第二段:第一个ALL为允许使用sudo的主机,写ALL即可。第二个括号里的ALL为用户(在这里为centos)使用sudo后将会被授予哪个身份;

    第三段:允许执行的命令,ALL表示全部,也可以写一些命令不过要写绝对命令/usr/bin/ls, /usr/bin/cat,/usr/bin/mv 单写ls是读取不到的

[centos@bogon ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够        #提示权限不够

[centos@bogon ~]$ sudo ls /root/      #加了sudo就可以查看了
[sudo] centos 的密码:
anaconda-ks.cfg

也可以不用每次都输入密码执行sudo那么麻烦命令前面输入这个就好了NOPASSWD:

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
centos ALL=(ALL)      NOPASSWD:/usr/bin/ls, /usr/bin/cat,/usr/bin/mv

设置命令组,将几个命令放在一起做一个别名

## Networking            #找到这里
# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

## Installation and management of software
# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias LY = /usr/bin/ls, /usr/bin/cat,/usr/bin/mv  #给几个命令做别名LY

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
centos ALL=(ALL)      LY(在这写你上面做的别名LY代表那几个命令)

 

限制root远程登录

设定用户的Alias,设定一个用户组:

# User_Alias ADMINS = jsmith, mikem
User Alias XI = lei,centos

XI

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
XI       ALL=(ALL)      NOPASSWD:= /usr/bin/su

使用sudo从普通用户登陆到root用户

 [lei@localhost ~]$ sudo su - root    

上一次登录:五 8月 10 17:18:27 EDT 2018pts/1 上

[root@bogon ~]# whoami                    #不用root的密码直接登陆到root上

    root

 限制root远程登陆

#PermitRootlogin yes     #找到这一行修改成no

systemctl restart sshd.service    #更改配置文件后重启sshd服务

远程登陆root用户,发现登陆不了

 

 

 

转载于:https://my.oschina.net/u/3851166/blog/1927036

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值