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用户的密码设置成,可以一次性更改完成(管道符号,输出传递给~)
# echo ““ |passwd –stdin user5

在一行命令里面出现一个换行符
# echo -e“

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

\t
# echo “123\tsss”

# echo “123\nsss”

更改密码
# echo -e “\n“ |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不需要密码,,
跳板机(堡垒机) 审计 记录操作命令,输出结果,,使之有迹可循
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/63559.html