Linux账号和权限管理

管理用户账号和组账号

用户账号和组账号概述


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

用户帐号
  • 超级用户
  • 普通用户
  • 程序用户
组账号
  • 基本组(私有组)
  • 附加组(公共组)
UID和GID

  • UID(User lDentity,用户标识号)
  • GID(Group lDentify,组标识号)

用户账号文件/etc/passwd

保存用户名称、宿主目录、登录Shell等基本信息
  • 文件位置:/etc/passwd
  • 每一行对应一个用户的帐号记录

[root@localhost ~l# head -2 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

用户账号文件/etc/shadow

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

[root@localhost ~]# head -2 /etc/shadow

root:$1$55HB4pbx$acHgk4IZiHTZ9cw0ZJe8f0:14374:0:99999:7..

bin:*.14374:0:99999:7:::
[root@localhost ~]# tail -1 /etc/shadow

teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7:::

添加用户账号


useradd命令

useradd  [选项]...  用户名

常用选项

-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。只能用绝对路径指定目录,且不需要事先创建目录
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
-M:不建立宿主目录。
-s:指定用户的登录Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。

[root@localhost ~]# useradd -d /ftphome/mike -g mike -Gftpuser -s /sbin/nologin mike

设置/更改用户口令passwd

passwd命令

passwd  [选项]...   用户名

常用选项

-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户,锁定的用户账号将无法再登录系统。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。

不指定用户名时,修改当前账号的密码

修改用户账号的属性usermod

usermod命令

usermod  [选项]...   用户名

常用选项

-l                      #更改用户的登录名称

-L                     #锁定用户帐户

-U                    #解锁用户账户的命令

以下选项与useradd命令中的含义相同

-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。只能用绝对路径指定目录,且不需要事先创建目录
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
-M:不建立宿主目录。
-s:指定用户的登录Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。

usermod -l  master admin1      #将 admin1 用户的登录名称更改为 master

删除用户账号userdel

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   #删除用户帐号stu01

[root@localhost ~]#ls -ld /home/stu01/

ls:/home/stu01/: 没有那个文件或目录

用户账号的初始配置文件

文件来源
  • useradd 命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件
  • 这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件。
主要的用户初始配置文件
  • ~/.bash profile
  • ~/.bashrc
  • ~/.bash_logout

组账号文件


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

添加组账号groupadd

groupadd命令

groupadd [-g GlD]   组账号名

示例

[root@localhost ~]# groupadd -g 1000 market          #添加组帐号 market

[root@localhost ~]# tail -1 /etc/group

market:x:1000:

添加删除组成员gpasswd

gpasswd命令
  • 设置组帐号密码(极少用)、添加/删除组成员

gpasswd   [选项]...   组帐号名

常用选项

-a:  #向组内添加一个用户

-d:  #从组内删除一个用户成员

-M:   #定义组成员列表,以逗号分隔

删除组账号groupdel

groupdel命令

groupdel 组帐号名

示例

[root@localhost ~]# groupdel market                   #删除组帐号market

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

查询账号信息

groups命令
  • 查询用户所属的组

groups    [用户名]

id命令
  • 查询用户身份标识

id    [用户名]

finger命令
  • 查询用户账号的登录属性
  • 注:需要先进行安装finger软件包

finger   [用户名]

w、who、users命令
  • 查询已登录到主机的用户信息

管理目录和文件的属性

查看文件/目录的权限和归属

权限项执行执行执行
字符表示rwxrwxrwx
数字表示421421421
权限分配文件所有者文件所属组其他用户
rw-r--r--
420400400
644

设置文件和目录的权限chmod

chmod命令

chmod [ugoa]       [+-=] ↓        [rwx]       文件或目录...    # r、w、x分别表示读、写、运行权限

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

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

chmod nnn 文件或目录...     #nnn为3位八进制数

常用选项
  • -R:递归修改指定目录下所有子项的权限

设置文件和目录的归属chown

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

设置目录和文件的默认权限umask

umask作用
  • 控制新建的文件或者目录的权限
  • 默认权限去除umask的权限为新建的文件或者目录的的权限
  • umask设置:umask 022
  • umask查看:umask
  • 示例
  • 将umask设为000,新建目录或者文件,查看权限

  • 将umask设为022,新建目录或者文件,再查看权限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值