Linux权限管理

目录

1. 管理用户账号和组账号

1.1 用户的种类:

1.2 组的种类          

1.3 passwd和shadwn

1.4 useradd(添加用户)

1.5 passwd(修改密码)

1.6 usermod(修改已有用户的属性)

1.7 userdel(删除用户)

2.管理目录和文件的属性

2.1 文件权限

2.2 chomd(修改权限)

2.3 chown

2.4文件的三种特殊权限

2.4.1 SUID

2.4.2 SGID

2.4.3 Sticky 位


1. 管理用户账号和组账号

1.1 用户的种类:

  • 超级管理员: 拥有最高权限的账户(默认叫做root),可以正常登录,人可以使用
  • 普通用户: 权限受限的用户,可以正常登录 ,人可以使用
  • 程序用户: 不可以正常登录,只给程序使用,人不能用
[root@localhost ~]# w  #w命令看到当前登录的用户

 14:39:04 up  5:10,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.200.1    09:29    0.00s  0.06s  0.00s w

14:39:04 up    ##启动时间
5:10,  1 user  ##当前有一个用户登录
load average: 0.00, 0.01, 0.05  ##cpu使用情况:5s 10s 15s
USER  ##用户
TTY  ##登录方式
FROM  ##从哪里登录
LOGIN@  ##  登录时间
IDLE  ##进程  
JCPU   ##进程
PCPU   ##进程
WHAT   ##当前运行的进程

1.2 组的种类          

一个用户一定要有一个基本组            
1.基本组: 一个用户一定要有一个基本组 ,且只有一个
2.附加组: 一个用户可以没有附加组,一个用户可以有多个附加组

分别基本组和附加组

id+用户名

[root@localhost ~]# id can
uid=1000(can) gid=1000(can) 组=1000(can)

用户排在第一个的组是基本组,后面的都是附加组 
uid :系统用来识别用户的唯一身份标识
gid: 系统用来识别组的唯一身份标识

uid 只能是整数 0-60000 不能重复    
超级管理员uid 一定是0

[root@localhost data]#id     root
uid=0(root) gid=0(root) 组=0(root)

uid 的范围centos7

超级管理员:uid为0
程序用户uid 范围:1-999
普通用户uid 范围:1000 - 60000

修改uid 的范围

[root@localhost data]#vim /etc/login.defs

1.3 passwd和shadwn

etc/passwd(存放用户信息)

can:x:1000:1000:can:/home/can:/bin/bash   ##每个字段用冒号隔开
  • 第一字段:用户名
  • 第二字段:密码占位符
  • 第三字段:uid
  • 第四字段:组id
  • 第五字段:备注信息
  • 第六字段:家目录位置
  • 第七字段:默认shell程序

/etc/shadow(存放密码信息)

can:$6$dOKbmTs7eknpT2PU$HYZDxVF6IZlmekU7pNogNArKyrH::0:99999:7:::  ##每个字段用冒号隔开
chrony:!!:19194::::::
  • 第一字段:用户名
  • 第二字段:加密后的密码如果为*或!!无法登录
  • 第三字段:上一次修改密码时间,数字的含义为 从1970-1-1 到改密码的时间 一共经历多少天
  • 第四字段:最小修改密码间隔时间   如果是0 可以随意修改,   7代表7 天后才可以修改
  • 第五字段: 密码有效期  默认99999天 273年,设置为 7  代表7天要求你重新设置密码
  • 第六字段:密码到期提醒时间      设置为7  代表密码到期前7天会提示你
  • 第七字段:密码过期后的宽限天数     设置为10   表示密码到期后还可以使用10天
  • 第八字段:用户失效时间,同第3个字段一样,使用自1970年1月1日以来的总天数作为账户的失效时间,到期后无法登录
  • 第九字段:保留字段            

1.4 useradd(添加用户)

通式:useradd    [选项]    用户名
选项说明
u指定uid
g指定基本组(组名和gid都可以)
G指定附加组(组名和gid都可以)
d指定家目录
M不建立家目录
s指定默认登录shell
e指定用户失效时间,可使用 YYYY-MM-DD 的日期格式
r建立系统用户

当建立用户时不加选项

  • 会按顺序使用uid号    
  • 会建立一个 和用户名同名的基本组
  • 按顺序使用gid
  • 会在/home 建立一个和用户名同名的家目录
  • 会将用户信息保存在 /etc/passwd文件中
[root@localhost zhangsan]#useradd -M -s /sbin/nologin ning   ##指定默认登陆并并且不建立家目录
[root@localhost zhangsan]#tail -n1 /etc/passwd   ##查看passwd文件下的最后一行
ning:x:1009:1009::/home/ning:/sbin/nologin

1.5 passwd(修改密码)

通式:passwd  [选项]    用户名                         

作用: 改密码、交互

[root@localhost zhangsan]#passwd can
更改用户can的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
选项说明
l 锁定用户不让登录
u解锁
d清空密码,无需使用密码直接登录
S(大写)查看锁定状态
[root@localhost ~]# passwd -l can  ##锁定用户不让登录
锁定用户 can 的密码 。
passwd: 操作成功

[root@localhost ~]#passwd -u can  ##解锁用户
解锁用户 can 的密码。
passwd: 操作成功

[root@localhost ~]#passwd -d can  ##清空密码
清除用户的密码 can。
passwd: 操作成功

1.6 usermod(修改已有用户的属性)

选项说明
l(小写)修改用户登录名
L(大写)锁定用户
U(大写)解锁用户
u(小写)指定uid
g指定基本组(组名和gid都可以)
G指定附加组(组名和gid都可以)
d指定家目录
s指定默认登录shell
e指定用户失效时间,可使用 YYYY-MM-DD 的日期格式
[root@localhost ~]#usermod -s /sbin/nologin can
[root@localhost ~]#tail -n1 /etc/passwd
can:x:1002:1002::/home/can:/sbin/nologin
[root@localhost ~]#usermod -u 10000 can
[root@localhost ~]#tail -n1 /etc/passwd
can:x:10000:1002::/home/can:/sbin/nologin

1.7 userdel(删除用户)

选项说明
r连家目录一起删除
[root@localhost home]#userdel can
[root@localhost home]#ll
总用量 0
drwx------. 14 lisi  lisi  271 7月  31 11:10 can
drwx------.  3 mysql mysql  78 8月  25 2021 mysql
drwx------.  5  1000  1000 128 8月  27 2021 zhangsan

[root@localhost home]#userdel -r can1
[root@localhost home]#ll
总用量 0
drwx------. 14 lisi  lisi  271 7月  31 11:10 can
drwx------. 3 mysql mysql  78 8月  25 2021 mysql

2.管理目录和文件的属性

2.1 文件权限

[root@localhost ~]# ll 1.txt 
-rw-r--r-- 1 root root 0 7月  31 15:33 1.txt
rw-    文件的主人        属主
r--    文件所属的组      属组     
r--    其他人                       

注意:

  • 文件夹的最小权限是 x 一定要带上否则无法 进行任何操作,超级管理员不受影响
  • 删除一个文件和所在文件夹权限有关和自身没关系。注意超级管理员 
权限说明r(读)=4、w(写)=2、x(执行)=1
  权限r、w、x使用的8进制
    r    w    x
    1    0    0      4
    0    1    0      2
    0    0    1      1
    4+2+1=7
  若要 rwx 属性则 4+2+1=7;
  若要 rw- 属性则 4+2=6;
  若要 r-x 属性则 4+1=5。

2.2 chomd(修改权限)

    语法:chown  [选项]  需要改的文件

主要参数

选项说明
u表示该文件的拥有者
g表示与该文件的拥有者属于同一个群体(group)者
o表示其他以外的人
a表示这三者皆是
+表示增加权限
-表示取消权限
=表示唯一设定权限
r表示可读取
w表示可写入
x表示可执行
X表示只有当该文件是个子目录或者该文件已经被设定过为可执行

其他参数说明

选项说明
c若该文件权限确实已经更改,才显示其更改动作
f若该文件权限无法被更改也不要显示错误讯息
v显示权限变更的详细资料
R对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)0

例:

 

2.3 chown

语法:chown [选项] file...

user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
复制代码
选项说明
c显示更改的部分的信息
f忽略错误信息
h修复符号链接
v显示详细的处理信息
R处理指定目录以及其子目录下的所有文件

2.4文件的三种特殊权限

2.4.1 SUID

SUID,全称为set UID,在高位起第三位上表现为s。
通过设置SUID这个属性,可以让可执行文件以当前用户为文件的所有者来执行(如果这个用户有执行权限的话)。
举一个例子,如果一个文件的权限为-rwsr-xr-x,一个组外用户对该文件是具有执行权的,但是如果却无法享有该文件执行时,依赖内容继承的权利。
复制代码
[root@localhost aa]#which passwd
/usr/bin/passwd
[root@localhost aa]#ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd
#此处s表示当使用这个命令程序时,把当前用户当成文件的所属主
[root@localhost aa]#which vim
/usr/bin/vim
[root@localhost aa]#chmod u+s /usr/bin/vim
#给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件
[root@localhost aa]#ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2289640 8月   2 2017 /usr/bin/vim
复制代码

2.4.2 SGID

SGID和SUID类似,在高起第六位上表现为s。
SGID改变的是执行者的所属组,可以对可执行文件和目录设置。
通过对目录设置SGID属性,可以使得访问在该目录下创建的所有文件的所有权,都继承原目录的所有者,而非创建者。
因为一旦有用户进入到该目录下,由于具有SGID权限,进入目录后的用户就会变成该目录的所有者,在该目录下创建的所有文件,都以该目录的所有者的身份创建。
复制代码
[root@localhost aa]#chmod g+s /usr/bin/vim
[root@localhost aa]#ll /usr/bin/vim
-rwxr-sr-x. 1 root root 2289640 8月   2 2017 /usr/bin/vim
复制代码

2.4.3 Sticky 位

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
sticky 设置在文件上无意义
复制代码

Sticky权限设定:

chmod o+t DIR...
chmod o-t DIR..
复制代码
[root@localhost aa]#chmod o+t /opt/aa  ## 添加Sticky 位
[root@localhost opt]# ll
总用量 0
drwxr-xr-t 2 root root 6 7月  31 15:46 aa

[root@localhost opt]#chmod o-t /opt/aa  #减少Sticky 位
[root@localhost opt]# ll
总用量 0
drwxr-xr-x 2 root root 6 7月  31 15:46 aa


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值