目录

用户管理

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_用户权限管理的更多相关文章

  1. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  2. django 基于proxy实现用户权限管理

    项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...

  3. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...

  4. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  5. Oracle 用户权限管理方法

    Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...

  6. Oracle SQL 基本操作之 用户权限管理方法

     Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...

  7. 如何对MongoDB 3.2.7进行用户权限管理配置

    转自:https://www.jianshu.com/p/a4e94bb8a052 上次写了一篇在CentOS7上源码安装MongoDB 3.2.7,完成了MongoDB 3.2.7的安装,但需要应用 ...

  8. [原]Jenkins(十三)---jenkins用户权限管理

    * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较

  9. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

随机推荐

  1. mariadb数据库简介

    mariadb(默认端口3306) 什么是数据库? 白话:用来存放数据的仓库,这个仓库只不过是按照一定的数据结构来组织. 数据库模型分为三种: 层次式数据库 网络式数据库 关系型数据库和非关系数据库 ...

  2. java高并发实战Netty+协程(Fiber)|系列1(续)|事件驱动模式和零拷贝

    上次讲到事件驱动模式,今天我们来好好分析下netty的事件模式的几个类型. 先从NIO讲起, JAVA NIO方面Selector给Reactor模式提供了基础,Netty结合Selector和Rea ...

  3. mac下phpize编译提示Cannot find autoconf解决办法

    mac下phpize编译如下报错: /usr/bin/phpizeConfiguring for:PHP Api Version: 20121113Zend Module Api No: 201212 ...

  4. vscode sftp插件的使用

    1.在扩展中搜索 sftp 并下载安装: 2.F1调出命令窗口输入 sftp 点击 SFTP:Config : 3.编辑 sftp.json 文件并保存会在当前工程下形成 sftp.json 文件 4 ...

  5. JAVA笔记19-容器之三 Set接口、List接口、Collections类、Comparable接口(重要)

    一.Set接口 //HashSet综合举例 import java.util.*; public class Test{ public static void main(String[] args){ ...

  6. Python pickle模块学习(超级详细)

    from  http://blog.csdn.net/sxingming/article/details/52164249

  7. Java面试之基础篇(5)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...

  8. Ubuntu18.04下更改apt源为阿里云源

    1.复制源文件备份,以防万一 我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于 ...

  9. 【Leetcode】最大的数

    字符串比较大小 https://blog.csdn.net/jason_cuijiahui/article/details/79038468 http://www.cplusplus.com/refe ...

  10. qtp识别验证码

    花了两天时间才完整的完成识别验证码的登录操作,在网上看到很多关于验证码识别的方法,但是我用的qtp版本比较高级,所以还是要自己花心思研究.po上我的识别验证码的详细历程: 一.读取浏览器中的图片验证码 ...