2018-5-18 笔记

3.1 用户配置文件和密码配置文件

用户密码配置文件(核心配置文件)

# cat /etc /passwd

每创建一个用户,都会在里面多出一行

密码配置文件的结构:

每一个用户一行,冒号分割为七段

第一段为用户名,第二段为早期linux密码保存地点 第三段表示uid,第四段表示gid,第五段为注释信息,无实质作用,第六段表示此用户的家目录 第七段表示shell,可以与用户交互的窗口,较常见的bin/bash sbin/nologin

密码保存在 etc/shadow目录下

# etc shadow

与配置文件割断一一对应

第二段为密码(加密,加密方式:SHA-512

第三段数字为天数

#man shadow查看各段解释:

为aming用户设置一个密码:

(密码与root的密码一样)

(在一行里同时执行多个命令,可以用;分割)

两个同样密码的用户的加密的字符串,是不一样的

3.2 用户组管理

组密码配置文件

# cat etc/group

# cat /etc/gshadow(组密码配置文件)

 

带减号的文件使系统自动备份的文件

原文件不小心删掉,可拷贝此文件成为原文件,回复删除文件,可能会有区别,可能还没有及时更新

# groupadd

增加组grp1

# groupaddgrp1

# tail -n1/etc/group 查看组

增加组的同时制定id:一千以上

# groupadd-g 1005 grp2

# tail -n3/etc/group

删除组:

# groupdelgrp1

# groupdeluser1

提示不能删除这个组,因为这个组里有一个用户user1,当里面存在用户时不可以删除

3.3 用户管理

创建一个用户

# useradd user2

查看passwd

# tail -n2 /etc/passwd

创建的普通用户的uid是从1000开始的,

创建一个用户的同时并指定他的uid 和组

# useradd -u 1004 -g grp2 user3 

可以看到新建的user3用户的uid是1004,gid是1005(grp2)

创建一个用户的同时,指定他的家目录/home/aming111和bash /sbin/nologin

# useradd -u 1006 -g grp2 -d /home/aming111-s /sbin/nologin user4

查看home目录验证是否存在

# ls /home/

创建用户的同时可以不创建家目录(并不代表没有家目录)

# useradd -M user5

可以看到home目录下没有user5

(创建用户的时若不指定uid,那么会默认接着着上一个用户的uid排列1005 1006)

创建一个组,并制定他的组id为1010,并创建一个用户user6 制定他的组为grp3

# groupadd -g 1010 grp3

# useradd -g grp3 user6

接下来创建一个新用户user7

# useradd user7

可以发现,不指定组id的情况下,创建的用户默认设置的组id是根据uid增加的

(adduser与uaeradd是一样的)

删除用户:

# userdel user8

会把user8相关信息删掉,但保留此用户的家目录不被删除

默认保存用户文件,保留给管理员,可以手动删掉

#rm -rf /home/user8

删除用户的同时删掉他的家目录

# userdel -r user7

home里面的user7已被删除

3.4 usermod命令

usermod 是一个更改用户属性的命令  (之前讲过chmod)

修改用户的uid

# usermod -u 111 username

更改组id

# usermod -g grp2(gid)username

指定用户的shell

# usermod -s /sbin/nologin username

扩展组 -G

usermod -G

查看所有id 以及其他扩展组的id

# id aming

一个用户可以属于多个组,但是gid只有一个

为aming用户定义一个扩展组,并加入到grp2组里,也就是说aming用户不但属于aming组也属于grp2组

# usermod -G grp2 aming

再次讲她加到user5组里面

# usermod -G user5 aming

但是发现他替换掉了grp2组

同时加入grp2 user5组

# usermod -G grp2,user5aming

-g 只能指定一个组   -G多个

3.5 用户密码管理

passwd使用更改用户密码的命令

更改一个普通用户的密码,后面跟普通用户的名字

# passwd aming

更改密码之后可以看到/etc/shadow里面第二列增加了一行加密的字符串

# tail /etc/shadow

!!表示这个用户没有密码,也就无法登陆

# head /etc/shadow

*表示这个用户密码是被锁定的,也无法登陆

锁定一个用户的密码

# passwd -l user5

解锁用户的密码

# passwd -u aming

除了passwd -l外还有一个命令也可以锁定用户密码

# usermod -L aming

只有一个叹号,也为锁定状态

解锁

# usermod -U aming

passwd常用法

更改一个用户的密码

# passwd –stdin

只需要输入一次,而且为明文显示

(以后使用shell脚本的时候会用到,)

例如吧user5用户的密码设置成111222,可以一次性更改完成(管道符号,输出传递给~)

# echo “111222“ |passwd –stdin user5

在一行命令里面出现一个换行符

# echo -e“

\ 表示换行,不加-e则不换行

\t

# echo “123\tsss”

# echo “123\nsss”

更改密码

# echo -e “1231111\n1231111“ |passwd user3

(不需要输入两次密码)(老师建议密码设定尽量至少十位,数字大小写,特殊符号组合,才足够安全,也不要有规律性,不包含姓名,生日等)

3.6 mkpasswd命令

mkpasswd 生成密码的工具,需要先安装expect

# yum install -y expect

生成一个密码

# mkpasswd

可以生成一个比较安全的密码,并记录在一个文本文档里

指定生成的密码的长度,和一个特殊符号

# mkpasswd -l 12

# mkpasswd -l 12 -s 3

零个特殊符号

# mkpasswd -l -s 0

3.7 su 命令

su 是用来切换用户的命令

在root用户下切换到其他用户下

# su – aming

(whoami 或者 id 查看当前用户)

# su – aming  “-“是为了更彻底的切换用户(配置、环境变量)

如果不加“-“  还在root用户下,没有完全切换过来

# su aming

以某个用户的身份执行命令,而不需要登录到这个用户下就可以完成

# su - -c “touch /tmp/aming.111“aming

新创建的文件所属折为aming,所属组为grp2,因为他的属组就是grp2

在普通用户下也可以切换到另一个普通用户下,

# su – uaer5

只需要输入密码就可以了

前缀不同,是因为没有/home/user5(家目录)

首次按创建一个家目录

# mkdir /home/user5

其次更改属组以及所有者

chown user5:user5 /home/user5/

依然 因为这个价目录下没有任何配置文件

增加配置文件

系统有一个模板目录 # ls /etc/skel/

将三个.bash文件拷贝到user5 的配置文件内,并更改所有者以及所属组

# cp /etc/skel/.bash*/home/user5

# chown -R user5:user5!$(!$ 表示执行上一个命令的参数)

恢复正常

普通用户切换到root用户,只需要输入root用户密码就可以

# su –

3.8 sudo命令

sudu 可以让普通用户临时执行root命令 避免普通用户知道root用户密码

打开sudu的配置文件

# visudu visudo可以检测语法错误

最核心文件,表示允许root用户去运行所有命令

可以为普通用户加入一行,是普通用户可以用root身份使用ls,mv,cat等命令:

aming  ALL=(ALL(用户))   ALL(表示所有命令)

aming  ALL=(ALL)         ls,mv,cat

用visudo提示在92行有错误

回车可查看选项

选择e

(:set nu 查看行数)

发现需要写绝对命令:

aming ALL=(ALL)   /usr/bin/ls,/usr/bin/mv, /usr/bin/cat

切换到普通用户

# su- sming

# sudo /usr/bin/ls /root/

提示输入阿铭用户的密码,就可以查看root目录,第二次就不需要输入密码了

cat 不可以,,使用sudo可以

 

使普通用户使用sudo的时候不用输入用户密码

aming ALL=(ALL)   NOPASSWD:/usr/bin/ls, /usr/bin/mv, /usr/bin/cat

测试后发现不需要输入用户密码

sudo也可以用绝对路径

# sudo /user/bin/ls /root/

visudo 内还有更多其他用法

cmd alias,将多个命令添加到里面

 

93行换为这个字符串,就可以代表这三个命令

 

用户组也可以做同样的限制,同时作用于组内的多个用户

3.9 限制root 远程登录

不知道root密码的情况下的切换到root用户怎么弄??

# sudo su –

需要输入密码

# visudo

做一个用户alias      user alias

为这三个用户,使用su切换root用户是不需要密码

# sudo su – root(root可以省略)

限制远程登录root

# vi /etc/ssh/sshd_config

可以 /加要搜索的内容  找到要修改的内容

#permitRootlogin yes

将#去掉  yes改为no  即可

然后需要重启服务

已经不可以使用root远程登录,

使用putty可以登录普通用户

$ w 查看当前登录用户

这时想看root目录下文件,但权限是不可以的

$ su -root

但是不知道密码,要使用sudo

$ sudo -su -root  登陆成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

创建用户时,不创建家目录(任何用户都需要一个家目录,)

删除用户时,不删除此用户家目录:

 

1.禁止登陆root用户

2.su – root用户

3. NOPASSWD: /usr/bin/su  切换root不需要密码,,

跳板机(堡垒机) 审计    记录操作命令,输出结果,,使之有迹可循

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值