Linux——用户和组管理

目录

用户和组帐号概述

用户账号文件

添加用户账号——useradd

用户账号的初始配置文件

设置/更改用户口令——passwd

修改用户账号的属性——usermod

删除用户账号——userdel

改变用户密码期限——chage

组账号文件

添加、删除组成员——gpasswd

删除组账号——groupdel

文件/目录的权限和归属

设置文件/目录的权限——chmod

设置文件/目录的归属——chown

文件ACL权限


用户和组帐号概述

Linux基于用户身份对资源访问进行控制

  用户帐号:

  • 超级用户root  
  • 普通用户  
  • 程序用户

  组帐号:  

  • 基本组(私有组)  
  • 附加组(公共组)

  UID和GID:  

  • UID(User Identity,用户标识号)
  • GID(Group Identify,组标识号)


用户账号文件

文件位置:/etc/passwd

每一行对应一个用户的帐号记录

添加用户账号——useradd

格式:useradd [选项]... 用户名

常用命令选项:

  • -u:指定UID标记号
  • -d:指定宿主目录,缺省为/home/用户名
  • -e:指定账号失效时间
  • -g:指定用户的基本组名(或UID号)
  • -G:指定用户的附加组名(或GID号)
  • -M:不为用户建立并初始化宿主目录
  • -s:指定用户登录Shell
  • -p:指定用户的密码

用户账号的初始配置文件

文件来源

  新建用户账号时,从/etc/skel 目录中复制过来

  主要的用户初始配置文件

  • ~/.bash_profile:用户每次登录时执行
  • ~/.bashrc:每次进入新的Bash环境时执行
  • ~/.bash_logout:用户每次退出登录时执行

设置/更改用户口令——passwd

格式 passwd [选项]... 用户名

常用命令选项

  • -d:清空用户的密码,使之无需密码即可登录
  • -l:锁定用户账号
  • -S:查看用户账号的状态(是否被锁定)
  • -u:解锁用户账号

修改用户账号的属性——usermod

格式:usermod [选项]... 用户名、

常用命令选项:

  • -l:更改用户账号的登录名称
  • -L:锁定用户账号
  • -U:解锁用户账号
  • 以下选项与useradd命令中的含义相同 -u,-d,-e,-g,-G,-s

删除用户账号——userdel

格式:userdel [-r] 用户名

    添加 -r 选项时,表示连用户的宿主目录一并删除

改变用户密码期限——chage

格式:chage [选项]... 用户账号名

常用命令选项

  • -M:密码的最长有效天数
  • -m:密码可以更改的最小天数。为0代表任何时候都可以更改密码
  • -W:密码过期前,提前收到警告信息的天数
  • -l:列出密码的有效天数
  • -E:账号到期的日期。过了今天,此账号不可用


组账号文件

  与用户帐号文件相类似

       /etc/group:保存组帐号基本信息

       /etc/gshadow:保存组帐号的密码信息

   添加组账号

       格式:groupadd [-g GID] 组账号名

添加、删除组成员——gpasswd

用途:设置组帐号密码(极少用)、添加/删除组成员

格式:gpasswd  [选项]...  组帐号名

常用命令选项

  • -a:向组内添加一个用户                  gpasswd -a benet market
  • -d:从组内删除一个用户成员           gpasswd -d root market
  • -M:定义组成员列表,以逗号分隔   gpasswd -M benet,root,adm market

删除组账号——groupdel

格式:groupdel 组账号名



文件/目录的权限和归属

访问权限

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

归属(所有权)

  • 属主:拥有该文件或目录的用户帐号
  • 属组:拥有该文件或目录的组帐号

 

权限项执行
字符表示rwx
数字表示421
权限分配

文件所有者/文件所属组/其他用户

设置文件/目录的权限——chmod

格式1 chmod [ u g o a] [+ - =] [rwx] 文件或目录

    u、g、o、a 分别表示 属主、属组、其他用户、所有用户

    +、-、= 分别表示 增加、去除、设置权限

    rwx:对应的权限字符

格式2:chmod [3位八进制数] 文件或目录...

常用命令选项

  • -R:递归修改指定目录下所有文件、子目录的权限

 ex:

  • 查看文件权限 $ 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

设置文件/目录的归属——chown

格式:

  • chown  属主   文件或目录              
  • chown  :属组  文件或目录              
  • chown  属主:属组  文件或目录

常用命令选项:

-R:递归修改指定目录下所有文件、子目录的归属

ex:

  • 设置文件afile的属主为用户                                           st01 # chown st01 afile
  • 设置文件afile的属组为用户组                                       class1 # chown :class1 afile
  • 设置文件afile的属主为st03,并设置文件的属组为       class2 # chown st03:class2 afile

文件ACL权限

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

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

    ACL 主要可以针对以下方面来控制权限:

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

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

查看:          

  •  $ getfacl filename

修改 :       

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

删除 :  

  • $ setfacl -x u:username filename          
  • $ setfacl -b filename

ex:

将/etc/fstab 复制到/var/tmp/fstab ,设置harry可以读写,natasha不能做任何操作,其他用户可读,设置manager组为fstab 所属组

cp -r /etc/fstab /var/tmp/fstab

setfacl -m u:harry:rw- /var/tmp/fstab

setfacl -m u:natasha:--- /var/tmp/fstab

setfacl -m o::r-- /var/tmp/fstab

chgrp manager /var/tmp/fstab

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值