科技 > 电脑产品 > 硬盘

Centos7用户组及文件权限管理实现方式

5人参与 2026-03-19 硬盘

centos7安装完系统后如果没有创建用户,默认只有root用户,权限最大可以做任何事,但实际生产环境中我们一般不会使用这个用户,因为权限太大所有命令都能执行,很危险,所以在生产环境中会创建一个或者多个用户账户,分配合适的权限来使用操作.

一.用户管理

1.创建用户

命令用法:useradd 或 adduser [option] 用户名

一般可以修改默认值的参数有:-b –e –f –g –s)

创建名为jerry的用户,指定home目录:/home/h_jerry,指定uid 1022,不创建同名用户组,指定密码:jerry,指定shell:/bin/sh,指定账户过期时间:2017-08-09,允许密码过期后使用,添加用户描述:first user

useradd -m -d /home/h_jerry -u 1022 -n -p jerry -s /bin/sh -e 2017-08-09 -f -1 -c "first user" jerry

验证用户的uid

[root@master ~]#id jerry
uid=1022(jerry) gid=100(users) groups=100(users)

 /etc/passwd文件对应的jerry行的信息

[root@master ~]#cat /etc/passwd |grep jerry
jerry:x:1022:100:first user:/home/h_jerry:/bin/sh

看一下/etc/shadow文件中的内容jerry的信息

[root@master ~]#cat /etc/shadow |grep jerry
jerry:jerry:17386:0:99999:7::17387:

/etc/shadow文件由9个字段组成,用:分隔

看一下jerry的家目录home目录

[root@master ~]#ll /home

total 0

drwx------. 2 jerry users 62 aug  8 21:37 h_jerry

[root@master ~]# ll -a /home/h_jerry/

total 16

drwx------. 2 jerry users  83 aug  9 18:45 .

drwxr-xr-x. 4 root  root   33 aug  9 18:39 ..

-rw-------. 1 jerry users  11 aug  9 18:45 .bash_history

-rw-r--r--. 1 jerry users  18 aug  3  2016 .bash_logout

-rw-r--r--. 1 jerry users 193 aug  3  2016 .bash_profile

-rw-r--r--. 1 jerry users 231 aug  3  2016 .bashrc

到这里用户创建已经成功,简单梳理一下创建用户时系统做了哪些事

2.用户设置密码

[root@master ~]#passwd jerry

changing password for user jerry.

new password:

3.删除用户

userdel –r 用户名 删除用户及家目录

[root@master ~]#userdel -r tcl

[root@master ~]#ll /home

total 0

drwx------. 2 jerry users 83 aug  9 18:45 h_jerry

drwx------. 2 test  test  83 aug  9 18:45 test

4.修改用户

选项参数   和useradd命令参数大致相同

举例说明:

将jerry用户改名为natasha,移动家目录的内容到/home/natasha,指定新的uid为1010,登录shell改为/bin/bash,并锁定用户

[root@ha1 ~]# usermod -l natasha -d /home/natasha -m -u 1010 -s /bin/bash jerry

[root@ha1 ~]# ll /home

total 0

drwx------. 2 natasha users 83 aug  9 18:45 natasha

drwx------. 2 test    test  83 aug  9 18:45 test

[root@ha1 ~]# id natasha

uid=1010(natasha) gid=100(users) groups=100(users)

[root@ha1 ~]# cat /etc/passwd |grep natasha

natasha:x:1010:100:first user:/home/natasha:/bin/bash

二.用户组管理

1.创建组

选项:

举例说明:

创建一个名为natasha的组,并将用户natasha和test分别加入natasha和test组中

[root@ha1 ~]# groupadd -g 1010 natasha 

[root@ha1 ~]# usermod -a -g test test 

[root@ha1 ~]# cat /etc/group |grep -e "natasha|test"

test:x:1023:test

natasha:x:1010:test,natasha

[root@ha1 ~]# usermod -a -g test natasha

[root@ha1 ~]# cat /etc/group |grep -e "natasha|test"

test:x:1023:test,natasha

natasha:x:1010:test,natasha

2.删除组

groupdel 组名

3.修改组

groupmod 选项  组名 

选项:

用法和usermod类似 

总结一下,创建组后会在/etc/group,/etc/gshadow文件中产生相应的组信息 

/etc/group文件格式说明:分为4个字段,用冒号隔开

natasha:x:1010:test,natasha

/etc/gshadow文件格式说明:分为4个字段,用冒号隔开

natasha:!::test,natasha

三.文件,目录权限管理

在linux中设置文件权限非常重要,也是最基本的。

linux文件的权限分为读(r-4)写(w-2)执行(x-1),和windows一样设置权限需要针对用户,用户所属的组,还有其它用户。

只有设置了正确的权限,相应的用户才能根据权限执行相应的操作,很多时候我们配置web服务,ftp服务等都需要对相应的文件或文件夹赋与相应的权限才能正常跑起来,有时遇到问题通过查看错误日志会发现很多情况下是由于权限不当引起的。

文件权限分一般权限和特殊权限 

和文件权限有关的工具命令 

先来看一下文件权限的查看方式,使用ll命令就可以查看长格式的文件权限等信息 

[root@ha1 test]# ll

 -rw-r--r--. 1 root root 67 mar 29 20:07 readme.md
 drwxr-xr-x. 3 root root 36 mar 29 20:15 shell

[root@ha1 test]# ll /bin/passwd

-rwsr-xr-x. 1 root root 27832 jun 10  2014 /bin/passwd

权限有3段组成,rwxrwxrwx代表最高权限,修改权限时也可以用777表示,-表示没有此项权限,本该出现x的位置出现s表示拥有suid权限。

suid对应4,sgid对应2,sbit对应1

suid只对二进制程序有效,执行者对于程序需要有x权限,在程序运行过程中,执行者(普通用户)将临时拥有程序所有者的权限

sgid对于文件来说只对二进制程序有效,普通用户将会临时拥有所属组的权限,对于目录来说,用户对此目录有rx权限可以进入目录,用户进入目录后,有效用户组会变成该目录的用户组,若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同。

修改文件权限 chmod

例:将 a 文件权限修改为:所有者有rwx,所属组:rx,其它用户:无权限

[root@ha1 test]# chmod u+x,g+x,o-r a

[root@ha1 test]# ll

total 8

-rwxr-x---. 1 root root  0 aug 10 19:01 a

修改文件所有者或所有组 chown chgrp 

例:将a文件所属组改为natasha,将b目录的所有者改为natasha

[root@ha1 test]# chgrp natasha a

[root@ha1 test]# chown -r natasha:root b

[root@ha1 test]# ll

total 8

-rwxr-x---. 1 root    natasha  0 aug 10 19:01 a

drwxr-xr-x. 2 natasha root     6 aug 10 19:05

设置更详细的权限 getfacl setfacl 

例:查看a文件的详细权限信息

[root@ha1 test]# getfacl a

# file: a

# owner: root

# group: natasha

user::rwx

group::r-x

other::---

例:将a文件权限设置为,test1用户拥有rw权限,test2用户拥有x权限,其它用户拥有rx权限 

[root@ha1 test]# setfacl -m u:test1:rw,u:test2:x,o::rx a

[root@ha1 test]# getfacl a

# file: a

# owner: root

# group: natasha

user::rwx

user:test1:rw-

user:test2:--x

group::r-x

mask::rwx

other::r-x

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

Nginx四层代理和七层代理的用法及区别说明

03-19

60克轻量化设计+400mAh电池仅99元! 黑峡谷首款三模无线鼠标H9发布

03-17

小身材有大能量!七彩虹iGame GeForce RTX 5070 Ti Ultra OC SFF 16GB评测

03-17

长江存储PC550 PCIe 5.0固态硬盘评测:满载功耗不到6W+速度突破11800MB/s

03-17

旗舰级PCIe 5.0性能之选! 铠侠EXCERIA极至超速PRO G2固态硬盘评测

03-05

低温+高性能全都要! 铠侠 VC10 PCIe 5.0 固态硬盘首发测评

03-05

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论