Linux操作系统·用户和组管理

一、什么是用户

Linux基于用户身份对资源访问进行控制
用户帐号:  超级用户root
普通用户
程序用户
组帐号:
基本组(私有组)
附加组(公共组)
UID和GID:
UID(User Identity,用户标识号)
GID(Group Identify,组标识号)

二、用户管理

1.用户帐号文件

passwd
用于保存用户的帐号基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录

[root@localhost ~]# tail -2 /etc/passwd
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
student:x:500:500:Student User:/home/student:/bin/bash

字段1:用户帐号的名称
字段2:用户密码字串或者密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息

shadow
用于保存密码字串、密码有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录

[root@localhost ~]# tail -2 /etc/shadow
sabayon:!!:15495:0:99999:7:::
student:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:15495:0:99999:7:::

字段1:用户帐号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)

2.添加用户帐号

useradd命令
格式:useradd  [选项]...  用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell

3.用户帐号的初始配置文件

文件来源:新建用户帐号时,从 /etc/skel 目录中复制而来
主要的用户初始配置文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行

[root@localhost ~]# cat ~/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
……

4.设置/更改用户口令

passwd命令
格式:passwd  [选项]...  用户名
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号

5.修改用户帐号的属性

usermod命令
格式:usermod  [选项]...  用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同  -u、-d、-e、-g、-G、-s

6.删除用户帐号

userdel命令
格式:userdel  [-r]  用户名
添加 -r 选项时,表示连用户的宿主目录一并删除

[root@localhost ~]# useradd stu01
[root@localhost ~]# ls -ld /home/stu01/
drwx------ 2 stu01 stu01 4096 09-09 12:38 /home/stu01/
[root@localhost ~]# userdel -r stu01
[root@localhost ~]# ls -ld /home/stu01/
ls: /home/stu01/: 没有那个文件或目录

7.改变用户密码期限

chage命令
格式:chage [选项]...  用户帐号名
常用命令选项
-M:密码的最长有效天数
-m:密码可以更改的最小天数。为零代表任何时候都可以更改密码。
-W:密码过期前,提前收到警告信息的天数。
-I:列出密码的有效天数(查看该用户的密码信息)
-E:帐号到期的日期。过了这天,此帐号将不可用。
(Chage –E 0马上过期,-1 永不过期)

三、组管理

1.组帐号文件 — group、gshadow

与用户帐号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息

[root@localhost ~]# grep "adm" /etc/group
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon

我们现在以 lamp 用户的身份登录系统,通过执行如下命令即可知晓当前用户所属的全部群组:

[root@localhost ~]# groups lamp users

2.添加组帐号

groupadd命令
格式:groupadd  [-g GID]  组帐号名

[root@localhost ~]# groupadd -g 1000 market
[root@localhost ~]# tail -1 /etc/group
market:x:1000:

3.添加、删除组成员

gpasswd命令
用途:设置组帐号密码(极少用)、添加/删除组成员
格式:gpasswd  [选项]...  组帐号名
常用命令选项
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔

[root@localhost ~]# gpasswd -a benet market
正在将用户“benet”加入到“market”组中
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet
[root@localhost ~]# gpasswd -M benet,root,adm market
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,root,adm
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,root,adm
[root@localhost ~]# gpasswd -d root market
正在将用户“root”从“market”组中删除
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,adm

 4.删除组帐号

groupdel命令
格式:groupdel  组帐号名

[root@localhost ~]# groupdel market
[root@localhost ~]# grep "market" /etc/group
[root@localhost ~]#

四、使用用户管理器管理用户和组

1.图形化的用户和组管理工具

打开方式 “系统”→“管理”→“用户和组群”

五、文件/目录的权限和归属

1.访问权限
读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录

2.归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号

 [root@localhost ~]# ls -l install.log
-rw-r--r--   1    root    root    34298    04-02   00:23    install.log

3.设置文件/目录的权限

chmod命令
格式1:chmod   [ugoa]  [+-=]  [rwx]  文件或目录...
格式2:chmod nnn 文件或目录...
常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限

4.使用chmod命令设置文件权限

查看文件权限

​​​​​​​$ ls -l afile -rw-rw-r--  1 st01 class1 0 Apr  3 16:52 afile

增加文件属主st01的执行权限(x)

$ chmod u+x afile

去除文件属组class1的写权限(w)

 $ chmod g-w afile

设置属主权限为读写,属组其他用户的文件权限为读

$ chmod 644 afile

5.设置文件/目录的归属

chown命令
格式:
chown  属主 文件或目录
chown  :属组  文件或目录
chown  属主:属组  文件或目录
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属

6.使用chown命令设置文件属主和属组
命令格式

chown OWNER[:[GROUP]] FILE...

设置文件afile的属主为用户st01 

# chown st01 afile

设置文件afile的属组为用户组class1

# chown :class1 afile

设置文件afile的属主为st03,并设置文件的属组为class2

# chown st03:class2 afile

7.文件ACL权限

ACL是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。

ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。

ACL 主要可以针对以下方面来控制权限:
使用者 (user):可以针对使用者来设定权限;
组群 (group):针对用户组为对象来设定其权限;
预设属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的预设权限

8.管理文件系统访问控制列表

查看:

$ getfacl filename

修改:

$ setfacl -m u:username:rw filename
$ setfacl -m g:groupname:rw filename

删除:

$ setfacl -x u:username filename
$ setfacl -b filename
  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yhan计算机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值