linux学习-用户组与权限管理
一、用户与组
1、用户
管理员:root,UID为0
普通用户:1-60000 自动分配
系统用户:1-499,1-999(Centos7),对守护进程分配获取资源进行权限分配
登录用户:500+,1000+(Centos7),交互式登录
2、组
管理员组:root,GID为0
普通组:
系统组:1-499,1-999(Centos7)
普通组:500+,1000+(Centos7)
注意:用户必须属于一个且只有一个主组;一个用户可以属于0个或多个附加组
3、用户和组的主要配置文件
/etc/passwd:用户及其属性信息
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
passwd文件的格式:
root:x:0:0::/root:/bin/bash
登录名:密码:UID:GID:用户全名或注释:家目录:shell
shadow文件的格式:
root:$1$TCVDVaiT$JC7TbKjvIZpIprdehWFH/1:15157:0:99999:7:::
第一字段:登录名
第二字段:用户密码
第三字段:密码最近一次的修改时间(从1970年1月1日起)
第四字段:密码再过几天可以被更改(0表示随时可以更改)
第五字段:密码再过几天必需被变更(99999表示永不过期)
第六字段:密码过期前几天系统提醒用户(默认为一周)
第七字段:密码过期几天后账号会被锁定
第八字段:从1970年1月1日算起,多少天后账号失效
第九字段:保留字段
group文件的格式:
root:x:0:root
组名称:组密码:GID:以当前组为附加组的用户列表
gshadow文件的格式:
root:::root
组名称:组密码:组管理员的列表:以当前组为附加组的用户列表
4、用户与组的管理命令
(1) useradd 用户创建
useradd [options] loginname
-u 指定用户的UID
-g 指定用户的GID
-o 配合 -u 选项,不检查UID的唯一性
-c "COMMENT" 用户的注释信息
-d HOME_DIR 以指定的路径为用户的家目录
-s SHELL 指定用户的默认shell,可用列表在 /etc/shells 文件中
-G GROUP1[,GROUP2...] 指定用户的附加组,组须事先存在
-N 不创建私有组为主组,使用 users 组作为主组
-r 创建系统用户
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-D 显示与更改创建用户时的默认选项,如useradd -D -s SHELL,默认值的设定在文件 /etc/default/useradd 中
新建用户的相关文件:
/etc/default/useradd 新建用户时的一些默认选项
/etc/skel/* 新建用户的家目录中的默认生成的文件信息
/etc/login.defs 登录用户的一些选项设置
(2) userdel 用户删除
-r 删除用户同时删除家目录
(3) id 查看用户相关的ID信息
-u 显示UID
-g 显示GID
-G 显示用户所属的ID(包括主组与附加组)
-n 显示名称,配合ugG使用
(4) usermod 用户属性修改
usermod [options] loginname
-u UID 新UID
-g GID 新GID
-G GROUP1[,GROUP2...] 新附加组,原来的附加组会被覆盖,如要保留原有的,则要同时使用 -a 选项,表示追加
-s SHELL 新的默认SHELL
-c "COMMENT" 新的注释信息
-d HOME 新家目录不会自动创建,若要创建新家目录并移动原家数据,则同时使用 -m 选项
-l login_name 新的登录名
-L 锁定用户(在 /etc/shadow 文件密码栏填加 !)
-U 解锁用户
-e YYYY-MM-DD 指明用户账号的过期时间(用于修改 /etc/shadow 中第八字段信息)
-f INACTIVE 设定非活动期限(密码过期后的宽限时间)
(5) passwd 设置密码
-d 删除指定用户密码
-l 锁定用户
-u 解锁用户
-e 强制用户下次登录修改密码
-f 强制删除
-n mindays 指定用户密码最短使用期限
-x maxdays 指定用户密码最大使用期限
-w warndays 提前多少天开始警告
-i inactivedays 非活动期限(密码过期后的宽带天数)
--stdin 从标准输入接收用户密码
(6) chage 修改用户密码策略
-d last_day 修改上次密码修改时间
-E expire_date 修改密码过期时间
-I inactive 修改密码过期后的宽限天数,超过天数,帐号将不可用
-m min_days 修改密码最短使用时间
-M max_days 修改密码最长使用时间
-W warn_days 修改密码过期前的警告天数
-l 显示密码策略
示例:
chage -d 0 tom 下次登录强制修改密码
chage -m 0 -M 42 -W 14 -I 7
[root@linuxde ~]# chage -l root
最近一次密码修改时间 : 3月 ,
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :
两次改变密码之间相距的最大天数 :
在密码过期之前警告的天数 :
(7) su 切换用户或以其他用户身份执行命令
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
(8) groupadd 创建组
groupadd [OPTION]... group_name
-g GID 指明GID号
-r 创建系统组;CentOS 6: GID<500,CentOS 7 GID<1000
(9) groupdel 删除组
groupdel GROUP
(10) groupmod 组属性修改
-n group_name 指定新的组名
-g GID 指定新的GID
(11) gpasswd 更改组密码
gpasswd [OPTION] GROUP
-a user 将指定用户添加至指定组中
-d user 从指定组中移除某用户
-A user1,user2... 设置有管理权限的用户列表
(12) newgrp 临时切换主组
如果用户本不属于此组,则需要组密码
(13) groupmems 更改组成员
groupmems [options] [action]
optinos:
-g, --group groupname 更改为指定组 (只有root)
action:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
(14) groups 查看组成员
groups [OPTION] [USERNAME]... 查看用户所属组列表
二、权限相关
1、文件权限
(1) 文件属性
文件的权限主要针对三类对象用户定义:user,所有者,u;group,所属组,g;other,其他人,o;
每个文件针对每类访问者都定义了三种权限:r(读),w(写),x(执行)
权限对应的操作:
对于文件:
r:可使用文件查看类工具获取其内容
w:可以修改其内容
x:可以把此文件提给内核启动为一个进程
对于目录:
r:可以使用ls查看此目录中文件列表
w:可以在此目录中创建文件,也可删除此目录中的文件
x:可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
X 只给目录x权限,不给文件x权限
(2) 文件相关命令
chown 修改文件的属主与属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
-R 递归
示例:
chown root file.txt 修改文件属主为root
chown root:root file.txt 修改文件属主为root属组也为root(冒号:也可以用点 . 代替)
chown :root file.txt 修改文件属组为root
chgrp 修改文件的属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R 递归
chmod 文件权限操作
chmod [OPTION]... OCTAL-MODE FILE...
-R 递归修改权限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限:u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限 u+ u- g+ g- o+ o- a+ a- + -
chmod [OPTION]... --reference=RFILE FILE... 参考RFILE文件的权限,将FILE的修改为同RFILE
示例:
chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir
chmod 600 file
(3) umask值
umask值可以用来保留在创建文件的权限
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建目录的默认权限: 777-umask
非特权用户的umask为002,root用户的umask为022
umask # 设定umask的值 如 umask 002 或 umask u=rw,g=r,o=;全局设置:/etc/bashrc 或 ~/.bashrc
umask -S 模式方法显示umask值
umask -p 输出可被调用
[root@Centos7 ~]# umask -p
umask
[root@Centos7 ~]# umask -S
u=rwx,g=rx,o=
(4) 文件系统上的特殊权限
SUID权限:只对二进制可执行程序有效,对目录设置无意义
权限设定:chmod u+s file 或 chmod 4xxx file
chmod u-s file
SGID权限:
对文件来说:只针对二进制可执行文件,当文件上有sgid时,不管任何人执行此文件的进程都属于文件的组
对目录来说:当目录上有sgid时,不管任何人在此目录中建立的文件都属于目录的所有组,但是用户还是创建的用户
权限设定:chmod g+s file 或 chmod 2xxx file
chmod g-s file
STICKY权限:只针对目录生效,当一个目录上有sticky权限时,那么这个目录中的文件只能被文件的所有者删除
权限设定:chmod o+t file 或 chmod 1xxx file
chmod o-t file
权限位映射:
SUID: user,占据属主的执行权限位
s:属主拥有x权限
S:属主没有x权限
SGID: group,占据属组的执行权限位
s: group拥有x权限
S:group没有x权限
Sticky: other,占据other的执行权限位
t:other拥有x权限
T:other没有x权限
(5) 设定文件的特殊属性
chattr +i 不能删除,改名,更改
chattr +a 只能追加内容
lsattr 显示特定属性
(6) 访问控制列表(ACL)
getfacl acl列表查看
setfacl -m 更改文件或目录的ACL规则
setfacl -x 删除文件或目录指定的ACL规则
示例:
setfacl -m u:wang:rw file
setfacl -m g:wang:rx file
setfacl -x u:wang file
setfacl -x g:wang file
setfacl -m d:u:student:rwx dir ACL默认权限,只针对目录设定
setfack -k dir 删除默认ACL权限
setfack -b file 清除所有ACL权限
mask值:在权限列表中mask表示能生效的权力值
[root@Centos7 mnt]# setfacl -m mask::r file1
[root@Centos7 mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx #effective:r--
group::r--
group:testg1:r--
mask::r--
other::r-- [root@Centos7 mnt]# ls -l file1
-rw-r--r--+ root root Dec : file1
linux学习-用户组与权限管理的更多相关文章
- Linux学习之常用权限管理命令(二)
(一)常用权限管理命令 (1)chmod命令 (2)chown (3)chgrp (4)umask (一)常用权限管理命令 (1)chmod命令 命令名称:chmod命令英文原意:change the ...
- Linux学习,ACL权限管理
1.setfacl 得到指定文件的ACL权限 -m 表示后续有参数,不可与 -x参数配合使用 -x 删除后续的acl参数,不可与 -m 配合使用 -b 删除所 ...
- Linux用户组和权限管理
Linux用户组和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux的安全模型 1>.安全3A 这并不是Linux特有的概念,在很多领域都有3A的概念 ...
- Linux UGO和ACL权限管理
自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...
- Linux学习之RPM包管理-rpm命令管理(十六)
Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...
- Linux学习之ACL权限详解(十)
Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终 ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux学习之RPM包管理-yum管理(十七)
Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...
随机推荐
- HDU 5634 Rikka with Phi
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5634 ------------------------------------------------ ...
- CEF3 命令行 CefCommandLine 所有选项 与 开发中使用的测试网址
转自: https://blog.csdn.net/xiezhongyuan07/article/details/86640413 1.cef3 commandLine设置 在cef3开发过程中,在O ...
- mysql定时备份shell脚本
#!/bin/bash #每天早上4点, mysql备份数据 # backup.sh #crontab -e # * * * /home/erya/run/moniter/mysql_backup.s ...
- Win7 VSCode 离线安装Rust语言及环境配置
前置依赖 装过Visual Studio或Visual Studio Build Tool 2015 下载Rust离线安装包 https://forge.rust-lang.org/other-ins ...
- css圣杯布局
HTML <div class="container"> <div class="content">content</div> ...
- Jenkins设置默用户为root
https://www.jianshu.com/p/181dfb259dc7 最近在需要在jenkins执行shell脚本,由于Jenkins之前是默认在线安装的,这样jenkins设置了默认用户je ...
- MySQL错误信息语言设置为英文
MySQL错误信息语言设置为英文 安装的wamp环境中,mysql的错误提示信息默认不是英语(大概是法语) 这里说下改为英语的过程 第一步 找到以下文件夹,确保里面可以看到各种"国际方言&q ...
- 链接层-UDP
五大特点:无连接,不可靠,面向报文传输,没有拥塞控制,首部开销小
- B+树索引结构解析
一.二分查找法 二分查找法(binary search)也成为折半查找法.用来查找一组有序的记录组中的某一记录. 基本思想是:将记录按有序化(递增或递减)排列,在查找过程中采用跳跃式方法查找,即先以有 ...
- 14、numpy——统计函数
NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下:(沿哪条轴执行,就是是最后结果的形式) 1.numpy.amin() 和 ...