权限相关内容及用户与组的相关指令

权限

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

 

 2、权限的描述形式

(1)字符形式 r read w write x excute

(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              755

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其他用户  a所有
chmod    ugo=rwx    file1     == chmod a=rwx  file1  ==chmod   rwx file
chmod    u=rw,g+r,o-r   file   ==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

目录文件默认的权限值:022 #umask

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

rw- rw- rw-    6  6  6
--- -wx -wx    0  3  3         
rw- r-- r--    6  3  3   -----错  644

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

配置文件/var/tmp/fstab 的权限 • 文件/var/tmp/fstab 的拥有者是 zhangsan

• 文件/var/tmp/fstab 属于 zhangsan 组 • 文件/var/tmp/fstab 对任何用户不可执行 • 其他用户(当前和将来的)能对文件/var/tmp/fstab 进行读操作

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

7、特殊权限

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

仅对可执行文件(命令文件)设置有意义:
可执行文件(命令文件)设置u+s权限,可执行文件的进程所属用户是可执行文件自身的用户:
eg:
[root@ggbbbbb ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 33544 Dec 14  2019 /usr/bin/passwd
[root@ggbbbbb ~]# ll /etc/shadow
----------. 1 root root 2105 Dec  4 11:56 /etc/shadow
[rhel85@ggbbbbb ~]$ passwd         (为什么普通用户可以修改密码/etc/shadow)
Changing password for user rhel85.
Current password: 
原因:通过普通用户执行passwd,passwd文件的进程身份是root
​
设置情况:通过任意用户执行命令通过root身份来执行就可以设置特殊权限u+s

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

(1)对可执行文件设置有意义:(很少用)
可执行文件(命令文件)设置g+s权限,可执行文件的进程所属组是可执行文件自身的所属组
(2)对目录文件设置有意义:
任意用户在该目录下创建的文件,文件的所属组都是目录的所属组
eg:
[root@ggbbbbb ~]# mkdir /pub
[root@ggbbbbb ~]# chmod 777 /pub
[root@ggbbbbb ~]# ll /usr/bin/touch 
-rwxr-xr-x. 1 root root 96144 Jul 10  2021 /usr/bin/touch
[user@ggbbbbb ~]$ touch /pub/u1
[user@ggbbbbb ~]$ ll /pub/u1 
-rw-rw-r--. 1 user user 0 Dec  4 16:20 /pub/u1
--------------------------------目录g+s-----------------------------------------------
[root@ggbbbbb~]# chmod g+s /pub
[root@ggbbbbb ~]# ll /pub -d
drwxrwsrwx. 2 root root 16 Dec  4 16:20 /pub
[user@ggbbbbb ~]$ touch /pub/u2
[user@ggbbbbb~]$ ll /pub/
total 0
-rw-rw-r--. 1 user user 0 Dec  4 16:20 u1
-rw-rw-r--. 1 user root 0 Dec  4 16:22 u2

o+t sticky=1 冒险位

仅对目录文件有意义:
目录文件设置o+t权限后,用户只能删除自己的文件不能删除别人的文件
[root@ggbbbbb ~]# ll -d /test
drwxrwxrwx. 3 root root 102 Dec  4 15:18 /test
[root@ggbbbbb ~]# ll /test
total 0
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r2
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r3
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red1
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red2
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red3
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u1
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u2
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u3
[user@ggbbbbb test]$ rm -f r2    删除任意用户的文件
--------------------目录o+t----------------------------------
[root@ggbbbbb ~]# chmod o+t /test
[root@ggbbbbb ~]# ll -d /test
drwxrwxrwt. 3 root root 92 Dec  4 16:28 /test
​
[user@ggbbbbb test]$ rm -f r3
rm: cannot remove 'r3': Operation not permitted
[user@ggbbbbb test]$ rm -f u1
[user@ggbbbbb test]$ rm -f red1
rm: cannot remove 'red1': Operation not permitt ~]# ll -d /test
drwxrwxrwx. 3 root root 102 Dec  4 15:18 /test
[root@ggbbbbb ~]# ll /test
​
total 0
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r2
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r3
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red1
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red2
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red3
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u1
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u2
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u3
[user@ggbbbbb test]$ rm -f r2    删除任意用户的文件
--------------------目录o+t----------------------------------
[root@ggbbbbb ~]# chmod o+t /test
[root@ggbbbbb ~]# ll -d /test
drwxrwxrwt. 3 root root 92 Dec  4 16:28 /test
​
[user@ggbbbbb test]$ rm -f r3
rm: cannot remove 'r3': Operation not permitted
[user@ggbbbbb test]$ rm -f u1
[user@ggbbbbb test]$ rm -f red1
rm: cannot remove 'red1': Operation not permitted

8、扩展权限(隐藏)

./*

getfacl 查看文件的列表权限

[root@ggbbbbb ~]# getfacl aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
group::r--
other::r-- ~]# getfacl aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
group::r--
other::r--

stefcal 设置列表权限

-m指定权限列表

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

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

[root@ggbbbbb ~]# setfacl -m u:xixi:rwx aaa
[root@ggbbbbb ~]# getfacl  aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
user:xixi:rwx
group::r--
mask::rwx
other::r--

-x 删除扩展权限列表

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

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

用户、组

Liunx管理模式:

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

共有模式:

用户类型(最多可创建65535)

管理员:root UID=0

普通用户:rhel1 1-65535

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

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

创建用户

useradd 用户名 /usr/sbin/useradd

-u    指定UID         
-g    指定GID,修改用户基本组       
-G   指定附加组         
-c   注释              
-d   家目录            
-s   设置shell       

查看用户

cat /etc/passwd 用户配置文件

grep ' 用户名' /etc/passwd

id 用户名

root:x:0:0:root:/root:/bin/bash            /sbin/nologin
用户名:密码占位符:UID:GID:描述信息,注释字段:家目录:SHELL(登陆时shell,非登陆时shell)

用户修改

usermod [options] [选项参数] 用户名

格式 : #usermod 选项 组名 用户名

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

删除用户

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

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

用户设置/修改密码

passwd  [用户名]
-d   删除用户密码
-l   锁定用户密码
-u   解锁用户密码
管理员:可指定用户名更改系统 ,任意用户的密码不需要输入之前的密码,不严格匹配密码等级设置。
​
普通用户:不可以指定用户名。只能更改自己密码,需要输入之前密码,严格匹配等级设置。
​
echo    密码 |passwd--stdin  用户名

chpasswd 批量更改用户密码

[root@ggbbbbbb ~]#cat users
redhat: 1234
root:12345
xiao1:123456
[root@ggbbbbb ~]#cat users | chpasswd
[root@ggbbbbb ~]#echo redhat:1234 | chpasswd

破解密码

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

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

组类别

管理组:root GID=0

普通用户:1-65535

系统组:

一般组:

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

附加组(额外组)用户的默认组除外的组

添加组

groupadd 组名

查看组

cat /etc/passwd 组配置文件

grep ' 组名' /etc/passwd

修改组信息

groupmod [options] [选项参数] 组名

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

删除组

groupdel #删除组名

设置修改密码

gpasswd 组名

格式: gpasswd 选项 用户名 组名

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

登陆新组

newgroup 组名 切换身份

扩展

useradd haha /etc/passwd

/etc/group

/etc/shadow 密码文件

/etc/gshadow

/home/USERNAME (d)

/var/spool/mail/USERNAME (-)

groupadd /etc/group /etc/gshado /etc/shadow 用户密码文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值