[Linux]如何管理账号和权限

一、用户账号和组账号

1.1 用户账号和组账号概述

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

用户账号
超级用户: root用户是 Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。

普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。

程序用户:在安装inux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、 demon、ftp、mail等。

组账号
基本组(私有组)
附加组(公共组)

组账号

基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。在/etc/passwd文件中第4字段记录的即为该用户的基本组GID号。

附加组(公共组):用户除了基本组以外,额外添加指定的组。

UID和GID
UID (User IDentity,用户标识号)
GID (Group IDentity,组标识号)

UID:用户标识号

GID:组标识号

1.2 用户账户类型

Linux系统中有三种用户类型分别为超级管理员、程序用户和普通用户。Linux中每个用户是通过user id(uid)来唯一标识的新建普通用户。

uid范围:

超级管理员:root,0 uid为0

程序用户:

centos6 1-499

centos7 1-999

普通用户:

centos6 500-60000

centos7 1000-60000

普通用户的uid值是可以调整的

1.3 用户账号文件/etc/passwd

保存用户名称、宿主目录、登录shell等基本信息

文件位置:/etc/passwd

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

root:x:0:0:root:/root:/bin/bash
第一字段root:用户名
第二字段x:占位符
第三字段0:用户的UID号
第四字段0:用户基本组的GID号
第五字段root:用户全名信息的描述
第六字段/root:用户的宿主目录,也就是家目录所在位置
第七字段/bin/bash:用户登录的shell信息(/bin/bash:默认的shell登录信息;/sbin/nologin:不允许登录的shell信息)

 1.4 用户账号文件/etc/shadow

用来保存用户的密码、账号有效期等信息

文件位置:/etc/shadow

每一行对应一个用户的密码记录

 

root:$6$uPMXIQhU1WGmiYSs$nq85tDO00khuywrLWRS088c.HmSpxS9GT3w..9mdO6VSJDcWpEb5CVNnF71NDv7/tqMeZFk3/WrSOtFAJAyR9.::0:99999:7:::
第一字段root:用户名
第二字段$6$uPMXIQhU1WGmiYSs$nq85tDO00khuywrLWRS088c.HmSpxS9GT3w..9mdO6VSJDcWpEb5CVNnF71NDv7/tqMeZFk3/WrSOtFAJAyR9:MD5算法加密(当为"*"或"!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统)
第三字段:::上次修改密码的时间
第四字段0:密码的最短有效天数
第五字段99999:密码的最长有效天数
第六字段7:提前多少天警告用户密码将过期,默认为7
第七字段:::密码过期之后多少天禁用此用户
第八字段:::账号失效时间
第九字段:保留字段(未使用)

 二、 UID

2.1 添加用户账号

useradd命令

useradd命令格式:useradd [选项]…用户名

常用选项:

命令作用
-s修改默认shell类型
-u修改uid
-M不建家目录
-d指定家目录
-e用户生效时间
-g指定基本组
-G指定附加组
-r随机生成系统用户

创建一个IKUN用户

useradd IKUN -u 2001 -M -s  /sbin/nologin

2.2 设置/更改用户口令passwd 

passwd命令

passwd命令格式:passwd [选项]…用户名

常用选项:

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

-d

[root@clr ~]# passwd -d IKUN 清除用户的密码 gaozhenyang。 passwd: 操作成功

-l

[root@clr ~]# passwd -l ILUN #锁定用户账户,锁定的用户账户将无法再登录系统
锁定用户 gaozhenyang 的密码 。
passwd: 操作成功
[root@clr ~]# passwd -l ergouzi
锁定用户 ergouzi 的密码 。
passwd: 操作成功

 -S

[root@clr ~]# passwd -S gaozhenyang #查看用户账户的状态是否被锁定
gaozhenyang LK 2023-04-02 0 99999 7 -1 (密码已被锁定。)

-u

[root@clr ~]# passwd -u IKUN #解锁用户账户gaozhenyang
解锁用户 IKUN 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)

[root@clr ~]# passwd -u -f IKUN #-f命令,强制解锁用户
解锁用户 IKUN 的密码。
passwd: 操作成功

设置用户密码之方法二:echo “密码” | passwd --stdin 用户名 

[root@clr ~]# echo "abc" | passwd --stdin IKUN #将用户IKUN 的密码修改为abc
更改用户 IKUN 的密码 。
passwd:所有的身份验证令牌已经成功更新。

设置用户密码之方法三:echo <用户名>:<密码> | chpasswd

root@clr ~]# echo IKUN:123 | chpasswd #将用户IKUN 的密码修改为123

2.3 删除用户账号userdel

userdel命令

userdel命令格式:userdel [-r] 用户名

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

userdel -r命令:删除用户并删除其家目录

[root@clr ~]# userdel -r IKUN  #删除用户IKUN,并且连同家目录也一并删除
[root@clr ~]# ls /home/   #IKUN的家目录已被删除
chen

        当系统中的某个用户帐号已经不再需要使用时(如该员工已经从公司离职等情况),可以使用userdel命令将该用户帐号删除。

        使用userdel命令需要指定帐号名称作为参数,添加"-r"选项时可以将该用户的宿主目录一并删除。

三、 GID

3.1 添加组账号groupadd

groupadd命令

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

groupadd -g命令:添加组,并设置指定的组账号 

[root@clr ~]# groupadd -g 2468 mygroup #添加组mygroup,并设置组GID号为2345
[root@clr ~]# vim /etc/group
mygroup:x:2345:

3.2 添加删除组成员gpasswd

gpasswd命令

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

gpasswd命令格式:gpasswd [选项]…组帐号名

常用选项

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

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

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

gpasswd -a命令:向组内添加一个用户 

[root@clr ~]# gpasswd -a lisi wangwu#用户zhangsan加入到mygirl组中
正在将用户“zhangsan”加入到“mygirl”组中
[root@clr ~]# id zhangsan
uid=2004(zhangsan) gid=2004(zhangsan) 组=2004(zhangsan),1002(admin1),2345(mygirl)

gpasswd -d命令:从组内删除一个用户成员

[root@clr ~]# gpasswd -d IKUN chen  #将用户IKUN从chen组中删除
正在将用户“IKUN”从“chen”组中删除
[root@clr ~]# id IKUN
uid=2004(IKUN) gid=2004(IUKN) 组=2004(IKUN),2345(Chen)

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

[root@clr ~]# useradd xiaohua #分别创建三个用户xiaohua,xiaowang,xiaozhang
[root@clr ~]# useradd xiaowang
[root@clr ~]# useradd xiaozhang
[root@clr ~]# gpasswd -M xiaohua,xiaowang,xiaozhang Chen  #将这三个用户xiaohua,xiaowang,xiaozhang,一次性加入到Chen组中(-M定义组成员列表,定义即覆盖)
[root@clr ~]# vim /etc/group
Chen:x:2345:xiaohua,xiaowang,xiaozhang

3.3 删除组账号groupdel 

groupdel命令

groupdel命令格式:groupdel 组账号名

groupdel IKUN #删除
grep "IKUN" /etc/group

四、 查询用户登录

4.1 查询用户所属组group

groups命令

  查询用户所属的组

groups命令格式:groups [用户名]

groups [用户名]命令:查看指定用户所属组

[root@clr ~]# gpasswd -a abc root  #将用户abc添加到root组中
正在将用户“abc”加入到“root”组中
[root@clr ~]# gpasswd -a abc ABC #将用户abc添加到ABC组中
正在将用户“abc”加入到“ABC”组中

[root@clr ~]# groups abc  #查看用户abc所属的组
abc : abc root ABC

 4.2 查询用户身份标识id

id命令

  查询用户身份标识

id命令格式:id [用户名]

id [用户名]命令:查看指定用户的身份标识

[root@clr ~]# id abc  #查看用户abc的身份标识
uid=1001(abc) gid=1001(abc) 组=1001(abc),0(root),10002(ABC)

 4.3 查询用户账号登录属性finger

查询用户账号的登录属性

注意:

需要先进行安装finger软件包

finger命令格式:finger [用户名]

finger [用户名]命令:查询指定用户账户的登录属性

[root@clr /etc/yum.repos.d]# finger abc #查询用户账户abc的登录属性
Login: abc    			Name: 
Directory: /home/abc       	Shell: /bin/bash
Last login 日 10月  30 19:28 (CST) on pts/1
No mail.
No Plan.

 4.4 查询已登录主机用户信息w、who、user

w 、 who、users命令

  查询已登录到主机的用户信息

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

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

访问权限

  读取r:允许查看文件内容、显示目录列表

  写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

  可执行x:允许运行程序、切换目录(x是文件夹的最小权限)

  对于文件夹而言,必须有执行的权限,否则无法进行任何操作

归属(所有权) 

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

   属组:拥有该文件或目录的组帐号

5.1 设置文件和目录的权限chmod

常用选项:-R 递归

chmod [nnn] 文件或目录命令:修改指定文件或目录的权限

修改a.txt文件权限为755

chmod -R [nnn] 目录命令:递归修改指定目录下所有子目录权限 

5.2 设置文件和目录的归属chown 

chown命令
chown 属主 文件或目录

chown :属组 文件或目录

chown 属主:属组 文件或目录

常用选项
-R:递归修改指定目录下所有文件,子目录的归属

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

umask作用

  控制新建的文件或者目录的权限

  新建的文件或者目录的权限为默认最大权限减去umask

  普通文件的最大默认权限为6(rw),目录的最大默认权限为7(rwx)

  umask的默认权限002

umask设置: umask 022

umask查看: umask

[root@localhost /opt]$ cd test  #切换到test目录
[root@localhost/opt/test]$ ll
总用量 0
[root@localhost/opt/test]$ touch 1.txt #在test目录中创建文件1.txt
[root@localhost/opt/test]$ mkdir abc  #在test目录中创建目录abc
[root@localhost /opt/test]$ ll
总用量 0
-rw-rw-r--. 1 abc abc 0 4月   3 16:36 1.txt #文件1.txt的权限为664(由来:文件默认权限666-002=664)
drwxrwxr-x. 2 abc abc 6 4月   3 16:36 abc  #目录abc的权限为775(由来:目录默认权限777-002=775)
[root@localhost /opt/test]$ umask  
0002   #文件和目录的umask权限为002

修改umask 000 

[root@localhost /opt/test]$ rm -rf * #删除test目录下的所有文件和目录
[root@localhost /opt/test]$ ll
总用量 0
[root@localhost /opt/test]$ umask 000 #修改umask的权限为000
[root@localhost /opt/test]$ touch 1.txt
[root@localhost /opt/test]$ mkdir abcd
[root@localhost/opt/test]$ ll
总用量 0
-rw-rw-rw-. 1 abc abc 0 4月   3 16:46 1.txt #新创建的1.txt文件权限为666
drwxrwxrwx. 2 abc abc 6 4月   3 16:46 abcd   #新创建的abcd目录权限为777

总结 

  1.创建用户时,一般情况下会用 -M  -s  不创建家目录,并且指定它的shell

  2.对/etc/passwd  和  /etc/shadow   下面信息的字段进行掌握,知道个各字段的含义

  3.对于用户的uid  设置最好不要设置重复,每个uid最好做到只使用一次。 

  4.因为用户权限的问题,以上对用户用户组的操作,均由超级管理进行操作

  5.认识权限的种类 rwx   ,能够读懂文件和文件的权限信息

  6.学会使用chmod 命令给文件或者文件夹分配相对应的权限

  7.文件夹最小的权限是x  其他的权限也都是以x为前提才能使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值