账号和权限管理

目录

一.管理用户账号和组账号

1.用户账号和组账号概述:

2.用户账号文件

3.添加用户账号-useradd

4.设置,更改用户口令-asswd

5.修改用户账户的属性-usermod

6.删除用户账号-userdel

7.用户账号的初始配置文件

9.组账号文件

10.添加组账号-groupadd

11.添加删除组成员-gpasswd

12.删除组账号-groupdel

13.查询账号信息

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

1.ls -l 查看文件的属性

2.设置文件和目录权限的-chmod

3.设置文件和目录的归属-chown

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

三.总结


一.管理用户账号和组账号

1.用户账号和组账号概述:

(1)用户账号:基于身份对资源访问进行控制

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

【2】普通用户:由root或其他管理员创建的用户,默认只具有低权限。

【3】程序用户:用于给应用程序运行的低权限用户,一般不允许登录系统。

(2)组账号:用户账户的集合,用于组织用户账户

【1】基本组:用户加入的第一个组(基本组账号只有一个)

【2】附加组:除了基本组以外用户额外加入的的组

(3)UID和GID:是用户或组的ID

【1】UID:用户账户的ID

【2】GID:组账户的ID

【3】UID和GID的范围

root的UID和GID都固定为0

程序用户默认的UID/GID范围:centos7以前为 1~499;从centos7开始为 1~999

普通用户默认的UID/GID范围:centos7以前为 500~60000;从centos7开始为 1000~60000

2.用户账号文件

(1)/etc/passwd :保存用户名称、宿主目录、登录Shell 等基本信息

【1】文件位置:/etc/passwd ;

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

【3】7个字段的含义

root  :x  :0  :0  :root: /root:  /bin/bash
1用户名
  2密码占位符
         3UID
             4GID
                 5用户说明
                        6家目录
                                7登录shell的许可
允许登录系统/bin/bash  
不允许登录系统/sbin/nologin或/bin/false

(2)/etc/shadow:保存用户的密码、账号有效期等信息

【1】文件位置:/etc/shadow;

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

【3】9个字段的含义

root: $6$VyOUGqOC$v5HlLM1wagZC/FwGfnrtJFnlT :18445 :0 :99999 :7 :  :  :
1用户名
2.密码字符串
3.上一次修改密码的时间
4.密码最短有限期
5.密码最长有限期
6.密码过期提前告警的时间
7.密码过期禁用用户的时间
8.账号失效的时间
9.空(保留字段)
从1970.1.1开始算起   默认为0不限制  默认为99999永不过期  默认为7

3.添加用户账号-useradd

useradd/adduser   [选项]...   用户名
常用选项
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。只能用绝对路径指定目录,不需要事先创建目录
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
-M:不建立宿主目录。
-s:指定用户的登录Shell
比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统
[root@192 ~]# useradd lxp -u 1314    #指定lxp的UID为1314
[root@192 ~]# id lxp                 #GID和组默认为1314(没有对应的组)
uid=1314(lxp) gid=1314(lxp) 组=1314(lxp)
[root@192 ~]# 
[root@192 ~]#useradd abc -u 9527 -M -s /sbin/nologin
abc:x:9527:9527::/home/abc:/sbin/nologin
#设置 abc 的UID/GID为9527且设置不给登录和步建立宿主目录
[root@192 home]# useradd lll -G lxp
[root@192 home]# id lll
uid=9528(lll) gid=9528(lll) 组=9528(lll),1314(lxp)
[root@192 home]#
设置lll的附加组为 lxp 的组
[root@192 home]# useradd lisi -M -s /sbin/nologin -e 2025-04-14
[root@192 home]# ls
liu  lll  lx
[root@192 home]# vi /etc/passwd
lisi:x:9529:9529::/home/lisi:/sbin/nologin
指定用户的账户失效时间为2025年4月14号,且设置不给登录和不建立宿主目录

4.设置,更改用户口令-asswd

root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码;普通用户却只能执行单独的“passwd”命令修改自己的密码。

passwd [选项]... 用户名
常用选项
passwd -d:清空指定用户的密码,仅使用用户名即可登录系统。
passwd -l:锁定用户账户,锁定的用户账号将无法再登录系统。
passwd -S:查看用户账户的状态(是否被锁定)。
passwd -u:解锁用户账户
[root@192 ~]# passwd lisi        #更改Lisi 的密码
更改用户 lisi 的密码 :
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@192 ~]# passwd            #不指定用户,修改 root 的密码
更改用户 root 的密码 :
新的 密码:
无效的密码: 密码少于 8 个字符
passwd:所有的身份验证令牌已经成功更新
[root@192 ~]# passwd -d lisi     #清空lisi的密码
清除用户的密码 lisi
passwd: 操作成功
[root@192 ~]# passwd -l lisi     #锁定lisi用户
锁定用户 lisi 的密码            
passwd: 操作成功
[root@192 ~]# passwd -u lisi     #解锁lisi用户
解锁用户 lisi 的密码。
passwd: 操作成功
[root@192 ~]# passwd -S lisi
lisi PS 2024-04-14 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@192 ~]#
                                 #查看用户锁定状态

echo 'XXXX' | passwd --stdin 用户名                    

echo 用户名:密码 | chpasswd                              也可以设置用户密码

5.修改用户账户的属性-usermod

usermod [选项]... 用户名
常用选项
usermod -u:修改用户的 UID 号。
usermod -d:修改用户的宿主目录位置。
usermod -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
usermod -g:修改用户的基本组名(或使用 GID 号)。
usermod -G:修改用户的附加组名(或使用 GID 号)。
usermod -s:指定用户的登录 Shell。
usermod -l:更改用户账号的登录名称。
usermod -L:锁定用户账户。
usermod -U:解锁用户账户
[root@192 ~]# usermod lisi -l liwu           #修改用户名 lisi 为 liwu 
[root@192 ~]# vi /etc/passwd
liwu:x:9529:9529::/home/lisi:/sbin/nologin
[root@192 ~]# usermod liwu -u 4567 -g 9527   #修改用户UID为4567,组账户名为9527
[root@192 ~]# vi /etc/passwd
liwu:x:4567:9527::/home/lisi:/sbin/nologin

其余用法和useradd 命令用法一样

6.删除用户账号-userdel

uesrdel [-r] 用户名

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

[root@192 ~]# useradd ppp -u 1516       #创建用户ppp 指定 UID 为1516
[root@192 ~]# vi /etc/passwd
ppp:x:1516:1516::/home/ppp:/bin/bash 
[root@192 ~]# userdel -r ppp            #删除用户ppp和他的目录

7.用户账号的初始配置文件

(1)文件来源

useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件

(2)用户账号的主要初始配置文件        

【1】系统环境初始化配置文件    /etc/profile      /etc/bashrc                                对所有用户有效

【2】用户环境初始化配置文件  ~/.bash_profile   ~/.bashrc  ~/.bash_logout      只对当前用户有效  

/etc/profile   ~/.bash_profile     设置用户每次登录时要执行的命令         

/etc/bashrc    ~/.bashrc           设置切换shell环境时(包括登录系统时)要执行的命令

~/.bash_logout                       设置退出登录或shell环境时执行的命令    

PATH变量用于设置可执行程序的默认搜索路径
PATH 生效的原理:
每次启动系统的时候会初始化命令,会执行/etc/profile和~/.bash_profile。/etc/profile会将路径/usr/local/bin 、/usr/bin、/usr/local/sbin 、/usr/sbin 追加到PATH中去。然后调用 /etc/profile.d 目录下的脚本。

9.组账号文件

与用户账号文件相似

/etc/groupp:保存组账号基本信息

有4个字段:

root   :x    :0    :
1组账号名
2x占位符
3GID号
4组账号成员

/etc/gshadow:保存组账号的密码信息(一般不给组设置密码)

10.添加组账号-groupadd

groupadd [-g GID] 组账号名
[root@192 ~]# groupadd test1               #创建组test1
[root@192 ~]# groupadd test2 -g 1314       #创建组test2,并指定GID号为1314
[root@192 ~]# vi /etc/group
test1:x:1001:
test2:x:1314:

11.添加删除组成员-gpasswd

管理组账号的成员

gpasswd [选项] ...组账号名
常用选项
gpasswd -a   向组内添加一个用户
gpasswd -d   从组内删除一个用户
gpasswd -M   定义组成员列表,以逗号分隔

【1】gpasswd -a

[root@192 ~]# gpasswd test1 -a lll
正在将用户“lll”加入到“test1”组中
[root@192 ~]# gpasswd test1 -a xxx
正在将用户“xxx”加入到“test1”组中
[root@192 ~]# gpasswd test1 -a ppp
正在将用户“ppp”加入到“test1”组中
[root@192 ~]# gpasswd test1 -a sss
正在将用户“sss”加入到“test1”组中
[root@192 ~]# vi /etc/group
test1:x:1001:lll,xxx,ppp,sss
test2:x:1314:
lll:x:1315:
xxx:x:1002:
ppp:x:1003:
sss:x:1004:

【2】gpasswd -d

[root@192 ~]# gpasswd test1 -d lll
正在将用户“lll”从“test1”组中删除
[root@192 ~]# gpasswd test1 -d xxx
正在将用户“xxx”从“test1”组中删除
[root@192 ~]# vi /etc/group
test1:x:1001:ppp,sss
test2:x:1314:
lll:x:1315:
xxx:x:1002:
ppp:x:1003:
sss:x:1004:

【3】gpasswd -M

[root@192 ~]# gpasswd test1 -M lll,xxx
[root@192 ~]# vi /etc/group
test1:x:1001:lll,xxx
test2:x:1314:
lll:x:1315:
xxx:x:1002:
ppp:x:1003:
sss:x:1004:

12.删除组账号-groupdel

groupdel 组账号名
[root@192 ~]# groupdel test1       #删除组test1
[root@192 ~]# vi /etc/group

13.查询账号信息

(1)groups查询用户所属的组

groups [用户名]
[root@192 ~]# groups lll          #查询 lll 组的信息
lll : lll test1
[root@192 ~]#

(2)id查询用户身份的ID

id [用户名]
[root@192 ~]# id xxx
uid=1002(xxx) gid=1002(xxx) 组=1002(xxx),1316(test1)
[root@192 ~]#

(3)finger查询用户账号的登录属性(需要先安装finger软件包)

finger [用户名]
[root@192 ~]# finger ppp
Login: ppp            			Name: 
Directory: /home/ppp                	Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@192 ~]# 

(4)w、who、users 查询已登录到主机的用户信息

拓展:通常使用tty来简称各种类型的终端设备,Centos7系统,tty1表示图形界面,tty2-tty6表示文字界面,可以用 Ctrl+Alt+F1-F6切换。按Ctrl+Alt+F2登陆,执行w 命令,查看使用的终端就是tty2

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

1.ls -l 查看文件的属性

第一字段的文件类型和权限位、第二字段的属主和第三字段的属组

2.设置文件和目录权限的-chmod

chmod [u、g、o、a] [+、-、=] [rwx] 文件或目录
ugoa属主、属组、其他用户、所有用户
+-=增加、去除、重新定义权限
rwx读、写、运行权限
或
chmod nnn 文件类型
nnn 三位8进制数
常用选项
chmod -R   递归修改指定目录下所有子项的权限

  chmod -R 权限位 文件/目录:表示递归修改文件和目录及子目录和文件的权限

 (1)第一种

[root@192 opt]# ll
总用量 0
----------. 1 root root 0 4月  14 20:23 lll
----------. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# chmod u+rwx lll
[root@192 opt]# ll
总用量 0
-rwx------. 1 root root 0 4月  14 20:23 lll
----------. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# ll
总用量 0
-rwx------. 1 root root 0 4月  14 20:23 lll
-rwxrwxrwx. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# chmod a-rw ppp
[root@192 opt]# ll
总用量 0
-rwx------. 1 root root 0 4月  14 20:23 lll
---x--x--x. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# ll
总用量 0
-rwx------. 1 root root 0 4月  14 20:23 lll
---x--x--x. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# chmod a=rw rh
[root@192 opt]# ll
总用量 0
-rwx------. 1 root root 0 4月  14 20:23 lll
---x--x--x. 1 root root 0 4月  14 20:23 ppp
-rw-rw-rw-. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# 

 (2)第二种

[root@192 opt]# ll
总用量 0
----------. 1 root root 0 4月  14 20:23 lll
----------. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx
[root@192 opt]# chmod 666 lll
[root@192 opt]# chmod 555 ppp
[root@192 opt]# ll
总用量 0
-rw-rw-rw-. 1 root root 0 4月  14 20:23 lll
-r-xr-xr-x. 1 root root 0 4月  14 20:23 ppp
----------. 1 root root 0 4月  14 20:23 rh
----------. 1 root root 0 4月  14 20:23 xxx

3.设置文件和目录的归属-chown

chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用选项
chown -R 递归修改指定目录下所有文件、子目录的归属
[root@192 opt]# chown aaa 1.txt
[root@192 opt]# ls -l
总用量 0
----------. 1 aaa  root 0 4月  14 20:55 1.txt   属主变成aaa
----------. 1 root root 0 4月  14 20:55 2.txt
----------. 1 root root 0 4月  14 20:56 3.txt
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@192 opt]# chown :bbb 2.txt
[root@192 opt]# ll
总用量 0
----------. 1 aaa  root 0 4月  14 20:55 1.txt
----------. 1 root bbb  0 4月  14 20:55 2.txt    属组变成bbb
----------. 1 root root 0 4月  14 20:56 3.txt
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@192 opt]# chown aaa :bbb 3.txt
chown: 无法访问":bbb": 没有那个文件或目录
[root@192 opt]# chown aaa:bbb 3.txt
[root@192 opt]# ll
总用量 0
----------. 1 aaa  root 0 4月  14 20:55 1.txt
----------. 1 root bbb  0 4月  14 20:55 2.txt
----------. 1 aaa  bbb  0 4月  14 20:56 3.txt    属主和属组变成aaa和bbb
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@192 opt]# chown -R aaa.bbb rh
[root@192 opt]# ll
总用量 0
----------. 1 aaa  root  0 4月  14 20:55 1.txt
----------. 1 root bbb   0 4月  14 20:55 2.txt
----------. 1 aaa  bbb   0 4月  14 20:56 3.txt
drwxr-xr-x. 2 aaa  bbb  36 4月  14 21:05 rh
[root@192 opt]# ll -R rh
rh:
总用量 0
-rw-r--r--. 1 aaa bbb 0 4月  14 21:05 aa
-rw-r--r--. 1 aaa bbb 0 4月  14 21:05 bb
-rw-r--r--. 1 aaa bbb 0 4月  14 21:05 cc
[root@192 opt]#
                        修改 rh 下的子目录的属主和属组

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

(1)作用:

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

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

(2)查看和命令格式

umask  xxx    设置默认权限
umask         查看默认权限
xxx为三位8进制数

文件的最大默认权限为 6     目录的最大默认为 7

新建的文件/目录的默认权限 = 最大默认权限 - umask值

[root@192 opt]# umask 555         #设置默认权限为555
[root@192 opt]# umask      
0555
[root@192 opt]# touch a.txt
[root@192 opt]# ll
总用量 0
--w--w--w-. 1 root root 0 4月  14 21:18 a.txt
[root@192 opt]# umask 666         #设置默认权限为666
[root@192 opt]# umask 
0666
[root@192 opt]# mkdir abc
[root@192 opt]# ll
总用量 0
d--x--x--x. 2 root root 6 4月  14 21:19 abc
--w--w--w-. 1 root root 0 4月  14 21:18 a.txt
[root@192 opt]#

三.总结

要了解一下命令

用户账号管理(useradd、passwd、usermod、userdel)

组账号管理(groupadd、gpasswd、groupdel)

用户账号文件与组账号文件

查询账号相关信息的命令(groups、id、finger、w)

设置目录与文件权限(chmod)

设置目录与文件归属(chown)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值