Centos7用户,组及文件权限管理
Centos7安装完系统后如果没有创建用户,默认只有root用户,权限最大可以做任何事,但实际生产环境中我们一般不会使用这个用户,因为权限太大所有命令都能执行,很危险,所以在生产环境中会创建一个或者多个用户账户,分配合适的权限来使用操作.
/etc/passwd //此文件保存着,用户名、密码、UID、GID、用户描述、主目录
/etc/shadow //此文件记录的行与passwd中的行一一对应,保存着:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group //次文件保存着,用户名称、用户组密码、GID、用户列表
/etc/profile //次文件保存着全局环境变量,由系统管理员管理
一.用户管理
1.创建用户
命令用法:useradd 或 adduser [option] 用户名
useradd 或 adduser –D 用来查看创建账户时的默认值
useradd 或 adduser –D [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
此文件由7段冒号隔开的字段
第一字段 jerry表是用户名
第二字段 X表示加密码后的密码
第三字段 1022表示UID
第四字段 100表示组ID
第五字段 first user表示描述信息
第六字段 /home/h_jerry表示家目录
第七字段 /bin/sh表示登录的sehll
看一下/etc/shadow文件中的内容jerry的信息
[root@master ~]#c
at /etc/shadow |grep jerry
jerry:jerry:17386:0:99999:7::17387:
/etc/shadow文件由9个字段组成,用:分隔
第一字段 jerry:表示用户名
第二字段 jerry:表示密码,这里看到是明文的,并没有被加密码,但是passwd jerry来修改密码后就会是加密的。
第三字段 17386:表示上次修改密码的时间,这个时间是从1970年1月1号到最近一次修改密码的时间间隔天数
第四字段 0:表示2次修改密码间隔的天数,0表示禁用此功能
第五字段 99999:表示2次修改密码间隔最多的天数,也有默认值,是通过/etc/login.defs中PASS_MAX_DAYS定义
第六字段 7:表示提前7天警告用户密码过期,也有默认值,是通过/etc/login.defs中PASS_WARN_AGE定义
第七字段 在密码过期之后多少天禁用此用户,也就是过期多少天后系统禁用此用户,不能登录,不会提示过期,完全禁用,
空:表示密码过期后账号仍然可用(-f –1)
第八字段 17387:用户过期日期(从19700101开始的天数)和创建用户指定过期日期正好相符(-e 2017-08-09)
第九字段 保留字段 留空
看一下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
到这里用户创建已经成功,简单梳理一下创建用户时系统做了哪些事
如果创建用户不带参数,系统会根据默认值(/etc/default/useradd,/etc/login.defs)创建用户及同名用户组,并在HOME目录里创建同名家目录,默认的登录shell为/bin/bash。
如果创建用户时带了参数,那么系统会根据参数来创建指定用户信息。
用户创建完成后,/etc/passwd,/etc/shadow这2个文件都会有相应的用户信息。
在用户家目录里都会产生.bash_history .bash_logou .bash_profile .bashrc4个隐藏文件。
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命令参数大致相同
-d --home HOME_DIR 指定新的家目录
-a --append 将用户追加到附加组中而不移出其它组
-l --login NEW_LOGIN 指定新的用户名
-L --lock 锁定用户
-m --move-home 和-d选项结合使用,移动家目录中的内容到新的位置
举例说明:
将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.创建组
选项
-f --force 强制创建组即使组已存在,如果GID已存在将取消-g选项
-g --gid GID 指定组GID号
举例说明:
创建一个名为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 选项 组名
选项
-g --gid GID 改变组的ID号
-n --new-name 改变组名
用法和usermod类似
总结一下,创建组后会在/etc/group,/etc/gshadow文件中产生相应的组信息
/etc/group文件格式说明:分为4个字段,用冒号隔开
natasha:x:1010:test,natasha
第一字段:表示组名
第二字段:表示组密码,存放在/etc/gshadow文件中
第三字段:表示组ID号
第四字段:表示组成员,多个组成员用逗号隔开
/etc/gshadow文件格式说明:分为4个字段,用冒号隔开
natasha:!::test,natasha
第一字段:组名
第二字段:加密码后的密码
第三字段:组管理员(多个用,分隔)
第四字段:组成员(多个用,分隔)
三.文件,目录权限管理
在linux中设置文件权限非常重要,也是最基本的。linux文件的权限分为读(r-4)写(w-2)执行(x-1),和windows一样设置权限需要针对用户,用户所属的组,还有其它用户。只有设置了正确的权限,相应的用户才能根据权限执行相应的操作,很多时候我们配置WEB服务,FTP服务等都需要对相应的文件或文件夹赋与相应的权限才能正常跑起来,有时遇到问题通过查看错误日志会发现很多情况下是由于权限不当引起的.
文件权限分一般权限和特殊权限
一般权限主要指的是:文件所有者的权限,所属组的权限,其它用户权限
特殊权限主要指的是:权限中带s或S(SUID,SGID),t或T标志位
和文件权限有关的工具命令
ls –l 查看文件或目录的权限
umask 查看或设置权限遮罩(即实际权限=最大权限-遮罩值)
chmod 改变文件或目录的权限
chown 更改文件或目录的所有者
chgrp 更改文件或目录的所属组
getfacl 获取文件或目录权限访问控制列表
setfacl 设置文件或目录权限访问控制列表
先来看一下文件权限的查看方式,使用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
Centos7用户,组及文件权限管理相关推荐
- linux常用指令介绍_软件包管理_VIM编辑器的使用_用户和组账户管理_文件权限管理
1.1. 文件目录操作命令 ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 删除?rmdir 非空 -p 父目录不存在情况下先生成 ...
- 《Linux基础三》用户和文件权限管理
用户和文件权限管理 1,用户 管理员用户: Root用户,也称根用户.超级用户.超级管理员 可对根目录执行读写和执行操作 具有系统中的最高.所有权限 普通用户: 权限有限的用户 Root用户拥有系统的 ...
- Linux网络管理,NAT网络配置,修改主机名称,主机映射,防火墙,系统启动级别,用户和用户组,为用户配置sudoer权限,文件权限管理,打包和压缩
目录 1.常用网络管理命令 2.网络配置 3.修改主机名称 4.主机映射 5.防火墙 6.系统启动级别 7.用户和用户组 8.为用户配置sudoer权限 9.文件权 ...
- Linux中的用户及文件权限管理总结
一.用户 1.查看用户:who am I 2.创建用户:sudo adduser <用户名> 在linux中,root权限拥有至高无上的权利,一般登录系统时都是以普通账户的身份登录的,要创 ...
- Linux命令学习笔记(一)—— 用户及文件权限管理
1.用户 1.1 查看用户 who am i 查看当前用户及时间 whoami 显示当前用户 1.2创建用户 创建用户要用到 sudo 这个命令了.不过使用这个命令有两个大前提: 你要知道当前登录用户 ...
- LInux习题练习-04(yum源、用户和组、文件权限、find)
习题练习-04 yum 练习题 用户和组练习题 文件权限练习题 其他练习题 习题练习-04 yum 练习题 利用 yum 安装tree 工具包与http 服务 在web服务初期,由于经常编辑Apach ...
- CentOS文件权限管理
CentOS文件权限管理 目录 文件属性 chown更改所有者 chgrp更改所属组 文件权限rwx chmod修改权限 默认权限umask 权限判定的顺序 特殊权限SUID,SGID,sticky ...
- linux修改文件权限的命令_Linux基础文件权限管理
图片来源:pexels.com 你好,我是goldsunC 让我们一起进步吧! Linux文件属性 文件权限在Linux基础中是一个很重要的概念,一个系统管理员应该熟练掌握文件权限的概念.OK,现在我 ...
- Linux学习命令汇总三——Linux用户组管理,文件权限管理,文本搜索命令grep及正则表达式...
本章Blog相关Linux知识点 解析:在数据库按搜索码查找相对应的条目,并找与之对应额外的其他数据库的过程:名称解析:UID ,组名解析:GID 数据库:文本文件,sql数据库,ldap数据库,用户 ...
最新文章
- 【oracle】dblink创建
- [CentOS] 打造vim环境
- C++11新特性探索:原始字符串字面值(raw string literal)
- ​选择云服务器的小窍门
- Android UI 优化——使用HierarchyViewer工具
- 编译安装Apache、php、xcache、FastCGI及相关整合
- 程序员相亲竟然因为这个被拒绝了......
- 国家二级计算机vb考试题型,2015全国计算机等级考试二级VB题型分析
- 缺少.lib文件导致的Link2019 解决方案汇总
- Codeforces 527C Glass Carving
- Together与Visual.Studio.NET的结合使用(一)
- php智能电视如何安装直播软件,海信 LED 55EC520UA 怎么安装第三方软件看直播?教你安装方法...
- SharePoint开发环境配置
- 雷达系统概述--距离分辨率
- 必须知道的C语言知识细节:单引号和双引号正确用法
- matlab 光平面标定代码,光平面标定法
- 如何获取win10安装驱动
- mysql 主从1236_mysql主从复制1236错误
- QQHelper:QQ大家来找茬 辅助工具 外挂
- 电瓶车充电桩收费平台解决小区充电难的问题
热门文章
- 真我GT Neo5正式发布,手机闪充进入读秒时代
- 微软副总裁张亚勤:我不认为微软是美国公司
- 计算机毕业设计android老年人监护系统APP(源码+系统+mysql数据库+Lw文档)
- 【Hexo】GitHub+Typora写博客+图片上传
- 支付宝小程序 | 上传图片组件(添加默认样式以及自定义上传样式)
- 佳易王试用版会员大众版管理系统#养生馆会员软件使用学习分享
- QQ音乐 绿钻 到期时间
- 原生javascript图片惰性延迟加载插件lazyload–兼容PC端手机端
- 咒术师学院spellcaster university for mac
- 华云数据张华林:投身数字蓝海 绘就云上强国