linux用户组和权限管理

linux中的每一个用户必须属于一个组,不能独立于组外。在linux中每一个文件有全部者、所在组、其它组的概念linux

  在linux系统中,所建立的用户账号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。因为全部用户对passwd文件均有读取的权限,所以密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。centos

      1,在passwd配置文件中,从左至右各字段的对应关系及其含义:app

4747b19ef23dc8f1e7d465885c99ed08.png-wh_

  2,用户密码管理ide

    在shadow配置文件中,从左至右各字段的对应关系及其含义:ui

483f0ac3901fe7260215ff4aa179e799.png-wh_

3.组信息管理文件centos7

78c77b3b28409e5ad753d53ac1612ba6.png-wh_

4.组密码文件:/etc/gshadowspa

82276295a8053b7a6d9262ffc3ce12c2.png-wh_

用户管理命令:
3d

添加用户命令:useraddorm

修改用户命令:passwdblog

修改用户权限:usermod

删除用户:userdel

切换用户:su

添加用户时会生成一个模板文件家目录

/etc/skel

在建立一个用户时,在其家目录下 会(根据模板(模板目录下的文件))自动拷贝生成 一些文件


usermod [选项] 用户名

-u UID修改用户的UID号

-c 用户说明修改用户的说明信息

-G 组名修改用户的附加组

-g 初始组修改初始组

-L临时锁定用户 (Lock)

-U解除用户锁定(Unlock)

例子:将harry添加到admin组中

[root@centos7 app]#usermod -G admin harry

[root@centos7 app]#id harry

uid=1002(harry) gid=1003(harry) groups=1003(harry),1006(admin)

3.修改用户信息 usermod
修改用户密码状态chage
usermod与useradd相似,一个针对老用户,一个是针对新增用户的 选项同样
usermod [选项] 用户名
-u UID 修改用户的UID号
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-g 初始组 修改初始组
-L 临时锁定用户 (Lock)
-U 解除用户锁定(Unlock)

修改用户密码状态
chage [选项] 用户名
-l 列出用户的详细密码状态
-d 日期 修改密码最后一次的修改日期(shadow的第三个字段)
-m 天数 两次密码修改间隔(shadow第四个字段)
-M 天数 密码有效期(第5个字段)
-W 天数 密码过时前警告的天数(第6字段)
-I 天数 密码过时后宽限天数(第7字段)
-E 日期 密码失效时间(第8字段)

用户组管理
1.添加用户组
groupadd [选项] 组名
-g GID :指定组ID
2.修改用户组
groupmod [选项] 组名
-g GID: 修改组id
-n 新组名: 修改组名
groupmod -n newgroup_name group_name
把组名group_name 修改成newgroup_name
3.删除组名
groupdel 组名
当组是一个用户的初始组并且这个用户存在时,不能够删除这个组
必须得先删初始用户才行
有附加用户没初始用户的组能够删除
groupadd gr1
useradd -g gr1 u1
useradd -G gr1 u2
不会产生u1还个组,u1用户的初始组为gr1了

4.把用户添加入组或从组中移除
gpasswd [选项] 组名
-a 用户名: 把用户加入组(操做的是附加用户)
-d 用户名: 把用户从组中删除

suid:只能做用在二进制程序上,不能做用在脚本上(scripts)上

   执行suid权限的程序时,此用户将继承此程序的全部者权限

sgid:

 sgid:做用在二进制程序上,执行sgid程序时,此用户将继承此程序的所属组权限

  做用在目录上:再此目录上的新文件的所属组,将自动继承目录的所属组

sticky:只能做用在目录上,普通用户只能本身删除本身的文件
下面是sgid的例子

王和马哥参与一个项目,他们应该能够读写

查看用户组

[root@centos6 app]#groupmems -l -g opts

将用户组剔除

[root@centos6 project]#usermod -G '' wang //这也是一种清除的方法

[root@centos6 app]#gpasswd -d mage opts

在添加用户到组

[root@centos6 app]#groupmems -a wang -g opts

            usermod -aG opts wang

opts设置为目录的组

[root@centos6 app]#ll project1 -d

drwxr-xr-x. 2 root root 4096 Nov 19 19:06 project1

[root@centos6 app]#chgrp opts project1

[root@centos6 app]#ll -d project1

drwxr-xr-x. 2 root opts 4096 Nov 19 19:06 project1

再将目录设置为770就是other不能访问这个目录

a41f8b86441ff708d6faccdfac94f129.png-wh_ 

最后将目录设置为sgid之后谁建立文件都是ops的组

最后马哥建立文件查看

 

14056e42f30d34b363307bd37822ed66.png-wh_

chattr +i这个是就是给文件加锁

chattr -i就是解锁
2330d76c8cc27237393a22a628336889.png-wh_

 

chattr +A file就是文件查看不更新时间

acl:访问控制列表

下面是给f2使用acl

[root@centos6 app]#setfacl -m  u:wang:rw f2

[root@centos6 app]#su wang

[wang@centos6 app]$cat f2

[wang@centos6 app]$

查看

[wang@centos6 app]$getfacl f2

# file: f2

# owner: root

# group: root

user::rw-

user:wang:rw-

group::r--

mask::rw-

other::---

删除权限

setfacl -x u:wang d2

相关文章
相关标签/搜索