私有组和主组的关系Linux,通配符的使用、用户及组的管理

范例

范例1:显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件

ls /etc/[^a-Z][a-Z]*

范例2:复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

mkdir -p /tmp/mytest1;cp /etc/p*[^0-9] /tmp/mytest1

范例3:将/etc/issue文件中的内容转换为大写后保存到/tmp/issue.out文件中

cat /etc/issue|tr 'a-z' 'A-Z' > /tmp/issue.out

用户及组管理

Liunx的安全模型(3A)

Authentication:认证,验证用户身份

Authorization:授权,不同的用户设置不同权限

Accouting|Audition:审计

用户

Linux中的每个用户都是通过User ID(UID)来唯一标识。

管理员:root UID为0

普通用户:1~60000自动分配

系统用户:1-499(Centos6以前)1-999(Centos7之后)

作用:对守护进程获取资源进行权限分配

登录用户:500+(Centos6以前)1000+(Centos7之后)

作用:给用户进行交互式登录使用

用户组

Linux中可以将一个或多个用户加入用户组中,用户组是通过Group ID(GID) 来唯一标识的。

管理员组:root UID为0

普通组:1~60000自动分配

系统用户:1-499(Centos6以前)1-999(Centos7之后)

作用:对守护进程获取资源进行权限分配

登录用户:500+(Centos6以前)1000+(Centos7之后)

作用:给用户使用

用户跟用户组的关系

用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组

安全上下文(重要)

Linux安全上下文Context:运行中的程序,即进程 (process),以进程发起者的身份运行,进程所能够访问资源的权限取决于进程的运行者的身份

比如:分别以root和普通用户的身份运行/bin/cat /etc/shadow ,得到的结果是不同的,资源能否能被访问,是由运行者的身份决定,非程序本身

用户和组的配置文件

/etc/passwd 用户及属性信息

/etc/shadow用户密码及相关属性

/etc/group组及其属性信息

/etc/gshadow组密码及其相关属性

用户管理命令

useradd 创建用户

格式:

useradd [options] login

常用选项:

-u 指定UID

-o 配合-u选项,不检查UID

-g 指明用户所属基本组,可为组名,也可以GID

-d 创建指定路径作为家目录

-c "注释信息" 用户的注释信息

-s 指定用户的shell程序

-G 指定用户的附加组,需要注意的是附加组一定要存在

-r 创建系统用户

-m 用于系统用户创建家目录

-N 不创建私有组作为主组,使用users为主组,跟Windows类似

-M 不创建家目录,用于非系统用户

范例1:创建用户mandriva,其ID为1005,基本组为distro

#先创建基本组distro

#创建用户

useradd -u 1005 -g distro mandriva

范例2:创建用户mageia,其ID为1100,家目录为/home/liunx

#创建用户

useradd -u 1100 -d /home/liunx mageia

#查看创建用户的信息

getent passwd mageia

mageia:x:1100:1100::/home/liunx:/bin/bash

usermod 用户属性修改

格式:

usermod [option] login

常用选项:

-u UID: 新UID

-g GID: 新主组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项

-s SHELL:新的默认SHELL

-c 'COMMENT':新的注释信息

-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字

-L: lock指定用户,在/etc/shadow 密码栏的增加 !

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期

-f INACTIVE: 设定非活动期限,即宽限期

范例1:修改slackware的默认shell为/bin/bash

usermod -s /bin/bash slackware

userdel 删除用户

格式:

userdel [option] login

常用选项:

-f 强制

-r 删除用户家目录和邮箱

范例1:删除mandrive用户,并保留家目录

#删除用户

usedel mandrive

#删除邮箱

rm -rf /var/mail/mandrive

ID 查看用户UID,GID相关信息

格式:

id [option] login

常用选项:

-u 查看用户的uid

-g 查看用户的gid

-G 显示用户所属的组ID

-n 显示名称,需配合ugG使用

passwd 修改用户密码

格式:

passwd [OPTIONS] UserName

常用选项:

-d 删除指定用户密码

-l 锁定指定用户

-u 解锁指定用户

-e 强制用户下次登录修改密码

-f 强制操作

-n mindays:指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

--stdin:从标准输入接收用户密码,Ubuntu无此选项

chage 修改用户密码策略

格式:

chage [OPTIONS] UserName

常用选项:

-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M 密码保持有效的最大天数。

-W 用户密码到期前,提前收到警告信息的天数。

-E 帐号到期的日期。过了这天,此帐号将不可用。

-d 上一次更改的日期

-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

其他命令(不重要)

chfn 指定个人信息

chsh 指定shell,相当于usermod -s

finger 可看用户个人信息

用户组管理命令

groupadd 创建组

格式:

groupadd [option] groupname

常用选项:

-g GID 指明GID号

-r 创建系统组 CentOS 6之前(ID<500)CentOS 7以后(ID<1000)

groupmod 修改组

格式:

groupmod [option] groupname

常用选项:

-n group_name: 新名字

-g GID: 新的GID

groupdel 删除组

格式:

groupdel [option] groupname

常用选项:

-f 强制删除,即使是用户的主组也强制删除组

groupwd更改组密码,修改附加组的成员关系

格式:

groupwd [option] groupname

常用选项:

-a user 把用户添加到指定组中

-d user 从指定组上移除用户

-A user1,user2... 设置有管理员权限的用户列表

newgrp临时切换主组

格式:

newgrp [-] [group]

注意:用户不属于该组,则需要组密码。

更改和查看组成员

groupmems 可以管理附加组的成员关系

格式:

groupmems [options] [action]

常用选项:

-g, --group groupname #更改为指定组 (只有root)

-a, --add username #指定用户加入组

-d, --delete username #从组中删除用户

-p, --purge #从组中清除所有成员

-l, --list #显示组成员列表

groups 可查看用户组关系

格式:

#查看用户所属组列表

groups [OPTION].[USERNAME]...

范例

范例1:创建组distro,其GID为2019

groupadd -g 2019 distro

范例2:创建用户mandriva,其ID为1005,基本组为distro

useradd -u 1005 -g distro mandriva

#查看创建的用户

id mandriva

uid=1005(mandriva) gid=2019(distro) groups=2019(distro)

范例3:创建用户mageia,其ID为1100,家目录为/home/linux

useradd -u 1100 -d /home/linux mageia

#查看

getent passwd mageia

mageia:x:1100:1100::/home/liunx:/bin/bash

范例4:给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期

echo mageedu | passwd --stdin mageia;chage -M 7 mageia

#查看密码过期日期

chage -l mageia

Last password change: Nov 02, 2020

Password expires: Nov 09, 2020

Password inactive: never

Account expires: never

Minimum number of days between password change: 0

Maximum number of days between password change: 7

Number of days of warning before password expires: 7

范例5:删除mandriva用户,但保留家目录

#删除用户并删除邮箱

userdel mandriva;rm -rf /var/mail/mandriva /var/spool/mail/mandriva

范例6:创建用户slackware,其ID为2002,基本组为distro,附加组为peguin

groupadd peguin;useradd -u 2002 -g distro -G peguin slackware

范例7:修改slackware的默认shell为/bin/bash

usermod -s /bin/bash slackware

范例8:为用户slackware新增附加组admins

groupadd admins;usermod -a -G admins slackware

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值