Linux_用户权限管理
目录
用户管理
Linux和Windows用户不能单独存在,必须属于一个或多个组。
用户信息存储位置:
1. Windows userInfo :c:\windows\system32\config\sam 数据库中
2. linux userInfo:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
Linux user属性:
配置文件:/etc/login.defs (创建User的默认属性设定)
RHEL7:
管理员用户 0
系统用户 1-200 Linux管理用户
系统用户 201-999 Linux服务用户
普通用户 1000-60000
useradd创建用户
常用选项:
-u 指定UID
-s 指定登陆后默认的shell
-d 指定家目录
-g 指定主组(只有一个属组)
-G 指定附加组(有属组、附加组)
-M 不建立家目录
注意:Linux管理员组是wheel,并不是把用户加入到root组,用户就能成为管理员。
userdel删除用户
-r 删除用户家目录
usermod修改用户账号
-L 锁定用户 (不能login)
-U 解锁用户
passwd修改用户密码
echo xxx | passwd --stdin 用户名 设定passwd
设定用户密码使用策略:
chage -d 0 用户名 -- 下次登录强制修改密码
chage -d 2015-04-01 jmilk 在 2015-04-01 强制用户修改密码
chage -E 2015-12-31 jmilk 在 2015-12-31zhangsan 密码过期
chage -l zhangsan 查看用户的密码策略
用户权限设置
Example:
chmod ugoa+-/=/number fileName/directoryName #修改文件或目录的权限
chown userName:groupName fileName/directoryName #修改文件或目录的属主、属组
setuid:拥有者的强制位(u[+|-]s),一般指令设置setuid后,能够让普通用户在执行该指令的时候,使用root的权限来执行此指令。
setgid:组的强制位(g[+|-]s),为目录设置setgid后,此目录下的文件或目录继承上一级目录的属组,一般用于生产中的团队文件管理。
sticky:(冒险位,粘滞位o[+|-]t)谁创建的文件或目录就只有谁能够进行删除操作,一般用于共享目录。
用户组管理
groupadd:创建组
groupdel:删除组,前提此组不能是某个用户的主组
查看用户的属组
id userName
groups userName
修改用户组gpasswd
将一个user加入到group中:
gpasswd -a 一次加一个用户
gpasswd -M 一次加入多个用户
将一个user从组中删除:
gpasswd -d userName groupName
为没有家目录的用户建立家目录
mkdir /home/jmilk
chown jmilk:jmilk /home/jmilk
chmod 700 /home/jmilk
cp -av /etc/skel/.[!.]* /home/jmilk #/etc/skel建立用户家目录的模板目录,若想对将来新建用户进行统一个性化设定,可以现在模板目录内设定。
生产环境中隐藏root用户
使root成为普通用户,使普通用户成为超级管理员(系统只要识别UID=0,就认为是超级管理员)
直接编辑/etc/passwd文件:
root:x:1005:1005:root:/home/jmilk:/bin/bash
jmilk:x:0:0::/root:/bin?hask
umask控制文件或目录创建时的初始权限
文件的默认权限:666-umask(两者为偶数的可以相减得出,否则不能)
目录的默认权限:777-umask
改变umask并使之永久生效:编辑/etc/profile中的umask值
Linux的系统权限
系统权限是针对文件系统的权限,与用户权限无关
lsattr fileName #列出文件的系统权限
lsattr -d dirName #列出目录的系统权限
chattr +a fileName #文件可以追加,不可以删除、修改
chattr +i fileName #文件不可以追加、修改、删除
chattr +j fileName #立即存储
ACL
一般使用chmod、chown全局设置权限,再使用acl进行局部调整。
getfacl fileName #显示此文件是否设置了acl
设定用户对未来创建的文件或子目录的权限:
setfacl -m d:u:用户名:权限 文件|目录
setfacl -m g:组名:权限 文件|目录
setfacl -m d:u:jmilk:rw- /abc #d:default,用户在abc目录中建立文件或子目录,jmilk都有rw权限
setfacl -x 删除acl
setfacl -b 删除全部acl
注意:文件或目录的权限标识的意义
-rw——- test ⇒ 设置权限前
-rw-rwx—+ test ⇒ acl设置权限后
rw- 表示拥有者的权限
rwx 表示第一个acl用户的权限
— 表示第1个 acl 组的权限
+表示后面还有但没有显示
Linux_用户权限管理的更多相关文章
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- django 基于proxy实现用户权限管理
项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...
- RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- Oracle SQL 基本操作之 用户权限管理方法
Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...
- 如何对MongoDB 3.2.7进行用户权限管理配置
转自:https://www.jianshu.com/p/a4e94bb8a052 上次写了一篇在CentOS7上源码安装MongoDB 3.2.7,完成了MongoDB 3.2.7的安装,但需要应用 ...
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
随机推荐
- mariadb数据库简介
mariadb(默认端口3306) 什么是数据库? 白话:用来存放数据的仓库,这个仓库只不过是按照一定的数据结构来组织. 数据库模型分为三种: 层次式数据库 网络式数据库 关系型数据库和非关系数据库 ...
- java高并发实战Netty+协程(Fiber)|系列1(续)|事件驱动模式和零拷贝
上次讲到事件驱动模式,今天我们来好好分析下netty的事件模式的几个类型. 先从NIO讲起, JAVA NIO方面Selector给Reactor模式提供了基础,Netty结合Selector和Rea ...
- mac下phpize编译提示Cannot find autoconf解决办法
mac下phpize编译如下报错: /usr/bin/phpizeConfiguring for:PHP Api Version: 20121113Zend Module Api No: 201212 ...
- vscode sftp插件的使用
1.在扩展中搜索 sftp 并下载安装: 2.F1调出命令窗口输入 sftp 点击 SFTP:Config : 3.编辑 sftp.json 文件并保存会在当前工程下形成 sftp.json 文件 4 ...
- JAVA笔记19-容器之三 Set接口、List接口、Collections类、Comparable接口(重要)
一.Set接口 //HashSet综合举例 import java.util.*; public class Test{ public static void main(String[] args){ ...
- Python pickle模块学习(超级详细)
from http://blog.csdn.net/sxingming/article/details/52164249
- Java面试之基础篇(5)
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...
- Ubuntu18.04下更改apt源为阿里云源
1.复制源文件备份,以防万一 我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于 ...
- 【Leetcode】最大的数
字符串比较大小 https://blog.csdn.net/jason_cuijiahui/article/details/79038468 http://www.cplusplus.com/refe ...
- qtp识别验证码
花了两天时间才完整的完成识别验证码的登录操作,在网上看到很多关于验证码识别的方法,但是我用的qtp版本比较高级,所以还是要自己花心思研究.po上我的识别验证码的详细历程: 一.读取浏览器中的图片验证码 ...