day05

用户、组

多用户多任务的

linux管理模式私有模式:每一个用户对应一个和用户同名的组

​ 公有模式

1.用户类别(65535个用户)

管理员:root UID=0

普通用户:redhat 1-65535

系统用户:系统安装自动创建 1-200 201-999

一般用户:手动添加 1000-60000

1.1创建用户

useradd用户名 /usr/sbin/usradd

1.2查看用户

grep’^用户名’ /ect/passwd

id 用户名

cat /etc/passwd 用户配置文件

root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:描述信息,注释字段:家目录:SHELL(登录式shell,非登录式shell)
name:password:UID:GID:GECOS:directory:shell

1.3修改用户

usermod [option…] [选项参数] 用户名

#useradd user
#groupadd g1
-l   指定新的登录名  #usermod -l newuser user
-u   指定用户的UID  #usermod -u 1111 newuser
-g   指定GID,修改用户的基本组  #usermod  -g 1000  newuser
-G 指定附加组     #usermod -G g1 newuser
-c 注释          #usermod -c woshiuser newuser
-d 家目录        #usermod -d 家目录   newuser
-s 设置shell     #usermod -s /sbin/nologin  newuser
-L  锁定用户密码
-U  解锁用户密码
#usermod -l new1 -u 1234 -g 1000 -c newuser  newuser

1.4删除用户

userdel -r 用户 删除用户以及创建用户相关的所有文件

注:也会删除用户的基本组,但是如果基本组中有其他用户,userdel -r删除不会删除基本组

[root@localhost ~]# useradd haha
[root@localhost ~]# tail /etc/group
rpcuser:x:29:
gdm:x:42:
gnome-initial-setup:x:975:
tcpdump:x:72:
sshd:x:74:
slocate:x:21:
jss:x:1000:
a:x:1001:
user:x:1002:
haha:x:1003:
[root@localhost ~]# userdel -r haha
[root@localhost ~]# tail /etc/group
colord:x:976:
rpcuser:x:29:
gdm:x:42:
gnome-initial-setup:x:975:
tcpdump:x:72:
sshd:x:74:
slocate:x:21:
jss:x:1000:
a:x:1001:
user:x:1002:
[root@localhost ~]# useradd xixi
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# usermod -G xixi user
[root@localhost ~]# tail /etc/group
rpcuser:x:29:
gdm:x:42:
gnome-initial-setup:x:975:
tcpdump:x:72:
sshd:x:74:
slocate:x:21:
jss:x:1000:
a:x:1001:
user:x:1002:
xixi:x:1003:user
[root@localhost ~]# userdel -r xixi
userdel: group xixi not removed because it has other members.
[root@localhost ~]# tail /etc/group
rpcuser:x:29:
gdm:x:42:
gnome-initial-setup:x:975:
tcpdump:x:72:
sshd:x:74:
slocate:x:21:
jss:x:1000:
a:x:1001:
user:x:1002:
xixi:x:1003:user
[root@localhost ~]# groupdel xixi
[root@localhost ~]# groupssel user
bash: groupssel: command not found...
[root@localhost ~]# groupdel user
groupdel: cannot remove the primary group of user 'user'

1.5用户设置/修改密码

passwd [用户名] password

passwd   -d删除用户密码
-l  锁定用户密码
-u  解锁用户密码

管理员:可以指定用户名更改系统任意用户的密码不需要输入之前的密码,不严格匹配密码等级设置

普通用户:不可以指定用户名,只能更改自己的密码,需要输入之前的密码,严格匹配密码等级设置

echo mima | passwd --stdin 用户名

chpasswd一次性对多个用户密码进行更改

#cat users

#cat users | chpasswd

#echo redhat:123456 | chpasswd

1.6破解密码

关机-->开机-->鼠标进入启动界面-->第一个引导菜单-->e --->找到linux这一行在行尾添加rd.break

--->ctr1-x--->mount    -o   remount,rw    /sysroot   --->chroot  /sysroot --
>passwd root-->设置密码--确认密码--->touch   /.autorelabel -->exit --exit (等待)

2.组类别

管理组:root

普通组

系统组

一般组

主组,私有组,用户的默认组

附加组,额外组 用户默认组之外的组

2.2查看组

cat /etc/group 组配置文件

grep ‘^组名’ /etc/group

#man 5 group
redhat:x:1000:
组名:组密码占位符:GID组id:组中的用户名

2.3修改组信息

groupdel [option…] [选项参数] 组名

#groupadd grp2
-n  指定新组名 #groupmod -n g2 grp2
-g   指定GID #groupmod -g 2222 g2

2.4删除组

groupadd 组名

注:是能删除一个附加组,哪怕附加组中由用户也可以删除,但是不能删除一个基本组

2.5设置,修改组密码

gpasswd 组名

-a 将用户加入指定组 #gpasswd -a redhat g2
-d 将指定用户从组移除 #gpasswd -d redhat g2
-M 指定组成员列表 #gpasswd -M user1,user2 g2  #gpasswd -M haha,xixi g2
-A 指定组长 #gpasswd -A haha g2
-R 锁定组密码 #gpasswd -R  g2

2.6登录新组

newgrp 组名 切换组身份信息

练习题

1.新建组shengchan caiwu jishu

2新建用户要求如下

*wjy是shengchan组的附加用户

*zxx是jishu组的附加用户

*新建admin用户,此用户不属于以上提到的三个部门,以上用户密码设置为redhat

#groupadd shengchan
#groupadd caiwu
#groupadd jishu

#useradd -G shengchan wjx
#useradd liuy
#usermod -G caiwu liuy
#useradd zxx
#gpasswd -a zxx jishu
#useradd admin

(1)passwd wjx
(2)echo redhat |passwd --stdin liuy
(3)echo zxx:redhat |chpasswd
(4)vim users
wjx:redhat
liuy:redhat
zxx:redhat
admin:redhat
#cat users | chpasswd

3实验

创建学习组1,学习组2;他们的组gid分别为1111,2222,添加成员并将uid为1088,和uid为1066的成员为两组的组长,其中一组组长有一个外号laoda

不同学习组成员进入其他组需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入

#groupadd std1
#groupaddd -g 1111std1
#groupadd -g 2222 std2

#useradd u1
#useradd u2
#usermod -u 1088 u1
#useradd -u 1066 ha1
#useradd ha2
用户加入组
#usermod -G std1 u1
#gpasswd -a u2 std1
#gpasswd -M ha1,ha2  std2
#gpasswd -A u1 std1
#gpasswd -A ha1 std2

#gpasswd std1
#gpasswd std2
#gpasswd -R std1
#gpasswd -R std2

不允许用户远程登陆

扩展

useradd haha /etc/passwd

​ /etc/group

​ /etc/shadow(密码配置文件)

​ /etc/gshadow(组配置文件)

​ /home/USERNAME

​ /var/spool/mail/USERNAME(-)

groupadd /etc/group /etc/gshadow

/etc/shadow用户密码文件

用户名:加密密码:最后一修改密码的天数(1970/1/1):密码生效最短时间:最长时间:警告时间

1.创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

useradd gentoo

gpasswd -a gentoo bin

gpasswd -a gentoo root

#usermod -s /bin/csh -c"Gentoo Distribution"gentoo

2.创建下面的用户/组.用户natasha,使用admins 作为附属,用户harry也使用admins 作为附属组,用户sarah不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos

5.查看UID、GID范围的配置文件,修改为501-60000。并查看密码加密算法

cat/etc/login.defs

6.查看创建用户时的模板配置文件

cat/etc/default/useradd

7.修改创建用户时的默认设置,家目录/www,默认shell 为/sbin/nologin

cat/etc/default/useradd

权限

1.linux中的权限在文件标识

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qqjx8cFD-1670468140847)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221204141312504.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WOCmgJJ1-1670468140848)(file:///C:/Users/Administrator/Documents/WXWork/1688850714937101/Cache/Image/2022-12/image-20221203140008763.png)]

2.权限的描述形式

(1)支付形式r read w write x excute

​ rwx

​ 111

​ 2^2 2^1 2^0

(2)数值形式 r=4 w=2 x=1

-rw-------. 1 root root 1456 Nov 19 12:19 anaconda-ks.cfg    600
drwxr-xr-x. 2 root root   6 Nov 19 14:12 Desktop

3.权限字符的含义

文本文件:r 查看文件的内容 cat tac more less head tail grep vim

​ w 编辑文件内容 vim echo 123 > a.txt cat << EOF >FILE

​ x 执行文件中的内容(脚本)命令文件

目录文件:r 查看目录中的文件名 ls

​ w 在该目录下创建文件 touch mkdir cp mv > rm

​ x 执行权限用cd进入该目录 (r-x)(rwx)

4.权限的匹配规则

可执行文件(命令文件)进程的所属用户身份是用户发起者身份;

判断发起者身份是否是目标文件的所属用户,是,只匹配目标文件所属用户位的权限

不是,开始判断咱们发起者身份是否是目标文件所属组用户,是组用户,只匹配目标文件所属组的权限

不是,直接匹配目标文件其他用户位的权限。

5.修改权限

chmod 权限 FILE…

注:作为普通用户只能更改属于自己文件的权限。
u 所属用户位   g所属组  o其他用户(other)   a 所有
chmod  ugo=rwx  file1    == chmod a=rwx  file1  == chmod rwx file
chmod  u=rw,g+r(加了一个读的权限),o-r(其他没有读的权限)  file1  == chmod -x  file
chmod 644 file2     rw-r--r--
chmod  006 file3

chmod u=6 file4   ----错误的

chown  更改文件的所属用户
chown  用户名   FILE
chown  用户名:组名  FILE
chown  .组名  FILE
chgrp  更改文件的所属组
chgrp  组名 FILE

6.文件默认的权限值

文本文件最高的权限值:666

权限掩码(权限过滤值:022 #umask

文本文件默认的权限值:644

目录文件最高的权限值:777

目录文件默认的权限值:755

rw- rw- rw-  6  6  6
--- -wx -wx  0  3  3    055
rw- r-  r--  6  3  3    622   -----x    644

练习题3

拷贝文件/etc/fstab到/var/tmp/fstab

配置文件/var/tmp/fstab的权限

  • 文件/var/tmp/fstab的拥有者是zhangsan文件/var/tmp/fstab属于zhangsan组

  • 文件/var/tmp/fstab对任何用户不可执行

  • 其他用户(当前和将来的)能对文件/var/tmp/fstab进行读操作

#cp /ect/fstab /var/tmp/fstab
#chown root:root /var/tmp/fstab
#chgrp  zhangsan  /var/tmp/fstab
#chmod a-x /var/tmp/fstab
#chmod o+r /var/tmp/fstab

7.特殊权限

u+s =4 suid 所属用户的一个禁锢位

仅对可执行文件(命令文件)设置有意义
可执行文件(命令文件)设置u+s权限,可执行文件的进程所属用户是可执行文件自身的用户:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wt5VutRM-1670468140849)(C:\Users\orangeio\AppData\Roaming\Typora\typora-user-images\image-20221204161422608.png)]

原因:通过普通用户执行passwd,passwd文件进程身份是root

设置情况:通过任意用户执行命令,通过root身份来执行就可以设置特殊权限u+s

g+s =2 sgid 所属组的一个禁锢位

对可执行文件设置有意义:(很少用)
可执行文件(命令文件)设置g+s权限,可执行文件的进程所属组;
(2)对目录文件设置有意义:
任意用户在该目录下创建的文件,文件的所属组都是目录的所属组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2HDjaGJ-1670468140849)(C:\Users\orangeio\AppData\Roaming\Typora\typora-user-images\image-20221204162636813.png)]

o+t =1 sticky 冒险位

仅对目录文件设置有意义:
目录文件设置o+t权限后,用户只能删除自己的文件不能删除别人的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S87gbOsb-1670468140849)(C:\Users\orangeio\AppData\Roaming\Typora\typora-user-images\image-20221204163320420.png)]

8.扩展权限

./+

getfacl 查看文件的权限列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TMHD1Dhy-1670468140850)(C:\Users\orangeio\AppData\Roaming\Typora\typora-user-images\image-20221204164145391.png)]

setfacl 设置权限列表

setfacl -m u:用户名(UID):权限 file

setfacl -m g:组名 (GID):权限 file

-x 删除扩展权限列表

-b 清空扩展权限(扩展权限的表示符)

[root@www ~]# setfacl -x u:xixi:  aaa
[root@www ~]# ll aaa
-rwSr-Sr-T+ 1 redhat xixi 5 Dec  4 14:30 aaa
[root@www ~]# getfacl  aaa
file: aaa
owner: redhat
group: xixi
flags: sst
user::rw-
group::r--
mask::r--  (扩展权限标识)
other::r--
[root@www ~]# setfacl  -b aaa
[root@www ~]# ll aaa
-rwSr-Sr-T. 1 redhat xixi 5 Dec  4 14:30 aaa

作业题:

1.创建下列用户,组,和组的成员关系(servera)
• 创建组sysmgrs
• 一个名为 natasha 的用户,其属于 sysmgrs,这个组是该用户的从属组
• 一个名为 harry 的用户,属于 sysmgrs,这个组是该用户的从属组
• 一个名为 sarah 的用户,其在系统汇总没有可以交互的 shell
• 用户 natsha,harry,sarah 的秘密吗都要设定为:modteed

#groupadd sysmgrs
#useradd -G sysmgrs   natasha
#useradd harry
#usermod -G sysmgrs harry    //  gpasswd -a  harry  sysmagrs
#useradd -s /sbin/nologin  sarah
用户添加和组添加

2.拷贝文件/etc/fstab 到/var/tmp/fstab 配置文件/var/tmp/fstab 的权限
• 文件/var/tmp/fstab 的拥有者是 root 文件/var/tmp/fstab 属于 root 组
• 文件/var/tmp/fstab 对任何用户不可执行
• 用户 natasha 能够对文件/var/tmp/fstab具有读写权限

• 用户 harry 对文件/var/tmp/fstab 既不能读也不能写

• 其他用户(当前和将来的)能对文件/var/tmp/fstab 进行读操作

#cp /etc/fstab    /var/tmp/fstab
#chown  root:root /var/tmp/fstab
#setfacl -m u:natasha:rw /var/tmp/fstab
#setfacl -m u:harry:-    /var/tmp/fstab
#chmod o+r /var/tmp/fstab == #chmod 640  /var/tmp/fstab

3.创建一个共享目录/home/managers 特性如下

• /home/managers 目录的所有权是 sysmgrs
• sysmgrs 组成员对目录有读写和执行的权限。除此之外的其他用户没有任何权限(root 用户除外)
• 在/home/managers 目录中创建的文件,其组所有权会自动设置为属于 sysmgrs组

#mkdir /home/managers
#chown sysmgrs:sysmgrs   /home/managers
#chowd  2770   /home/managers
         特殊权限位所属用户位的权限所属组的权限其他用户位的权限
#chmod g=rwx,o=-  /home/managers  #chmod  770    /home/managers
#chmod g+s /home/managers           #chmod 2770   /home/managers

tab == #chmod 640 /var/tmp/fstab


3.创建一个共享目录/home/managers 特性如下

• /home/managers 目录的所有权是 sysmgrs
• sysmgrs 组成员对目录有读写和执行的权限。除此之外的其他用户没有任何权限(root 用户除外)
• 在/home/managers 目录中创建的文件,其组所有权会自动设置为属于 sysmgrs组

#mkdir /home/managers
#chown sysmgrs:sysmgrs /home/managers
#chowd 2770 /home/managers
特殊权限位所属用户位的权限所属组的权限其他用户位的权限
#chmod g=rwx,o=- /home/managers #chmod 770 /home/managers
#chmod g+s /home/managers #chmod 2770 /home/managers








































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值