Linux账号管理和ACL
- by zjmyster
- version :1.2
- Linux账号管理和ACL权限设置:
- 主要相关配置文件:/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/skel
- /etc/passwd vbird3:x::::/home/vbird3:/bin/bash
- 用户名:密码位:UID:GID:描述:主目录:shell
- /etc/shadow vbird3:$$.X7LGQAK$rUz3VtusMwDvPm/zKT7iG1:::::::
- 用户名:密码加密形式:上次更改密码时间:多少天后能修改密码:密码需要修改时间:警告时间:密码失效时间(指在3和5字段过期后的宽限时间):账号失效时间:保留注释
- /etc/group testgroup:x::vbird1,vbird2
- 用户组:密码位:GID:组成员
- /etc/gshadow testgroup:!:vbird1:vbird1,vbird2
- 用户组:密码位:组管理员:组成员
- /etc/skel 用户信息
- 当然值得一提的是,如果其他公司和你们公司合作开发项目,都要用到linux客服端,当然作为本公司得给其他公司成员一些登陆账号,当然这些账号一般是有期限的,而且密码得根据别人自己来设置的,所以得给一个简单的初始密码,然后强制第一次登陆修改密码。其实设置很简单,只要在/etc/shadow下把新用户的第3或第5个字段改为0即可解决强制修改密码的问题。或者直接命令passwd -l 用户使密码失效,然后-u 是使密码有效。
- 如果作为管理员的你要停掉一些用户登陆,则可以在/etc/shadow下把用户的第8个字段改为0,如果你想给他30天的时间,即把第8个字段在第3个字段的基础上加30天。
- 有效用户组和初始用户组:
- A:有效用户组则是创建文件时,文件所属的用户组,也就是此时真正有效的用户组。
- B:初始用户组就是/etc/passwd文件下的GID所代表的组。
- 主要管理用户命令:useradd,usermod,passwd,userdel,groupadd,gpasswd,groupdel
- useradd –g testgroup vbird4 新创vbird4用户并添加到testgroup用户组
- usermod –c “testgroup” vbird4 给用户vbird4添加注释
- passwd vbird4 给用户vbird4修改密码
- echo “abc123abc” | passwd –stdin vbird4 新建密码
- userdel –r vbird4 删除用户vbird4,同时也删除了目录/home/vbird4
- groupadd testgroup2 新建用户组testgroup2
- groupdel testgroup2 删除用户组testgroup2
- gpasswd testgroup2 新建用户组管理员密码
- gpasswd –a vbird3 testgroup2 把用户vbird3添加到用户组testgroup2
- gpasswd –A vbird3 testgroup2 把用户vbird3设置成用户组testgroup2的管理员
- gpasswd –d vbird3 testgroup2 把用户vbird3从用户组testgroup2删除
- A:修改/etc/passwd
- 添加一条数据 vbird5::::wodexinyonghu5:/home/vbird5:/bin/bash
- B:修改/etc/shadow(当然也可以直接用 命令pwconv同步密码)
- 添加一个数据 vbird2::::::::
- C:新建用户目录(主文件夹)
- mkdir /home/vbird5
- D:把用户信息cp到用户目录下
- cp –a /etc/skel /home/vbird5
- E:更改用户主文件夹属性
- chown -R 用户:用户组 用户主文件夹
- 批量添加用户
- #!/bin/bash
- #add users
- userlist=$(cat users)
- for username in $userlist
- do
- useradd $username #新建用户
- echo “abc123abc” | passwd –stdin $username #初始密码
- chage –d $username #设置强制登陆修改密码
- done
- ACL的使用:(比如在testgroup组里有3个用户,vbird1,vbird2,vbird3,但是我想给这三个组成员不用的权限,这个时候得用灵活的ACL权限设置)
- 先查看ACL和启动acl
- mount
- mount –o remount,acl /
- .设置ACL setfacl –m u:vbird1:rx zz
- 设置子目录默认acl权限 setfacl –m d:u:vbird1:r zz (必须在设置了ACL,设置子目录默认ACL才真正起作用)
- .查看ACL getfacl zz
- su以及sudo的用法:
- 其实既然有了多用户的说法了,那么su切换用户就是必然的了,那么在普通用户模式下如果要使用到root才能使用的命令,不会每次都要切换到root模式,这样麻烦,而且重要的是root的密码也太没价值了吧。。所以考虑到这些,我们的sudo就出来了,它可以给普通用户用root的身份去执行命令或者使用root批准的一些命令。这样不必知道root的密码。
- 要达到上述的说法就要修改/etc/sudoers,具体其他细节这里就不扩充了。。
Linux账号管理和ACL的更多相关文章
- 别人的Linux私房菜(14)Linux账号管理和ACL权限设置
用户标识符UID.GID 用户的账号信息,主要是指UID对应.组和GID对应 检查系统中是否存在用户bin:id bin 登录shell验证账号密码的步骤:找到/etc/passwd核对是否存在账号, ...
- linux 账号管理与ACL权限设定
此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...
- Linux 账号管理与 ACL 权限配置
要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...
- 第十四章、Linux 账号管理与 ACL 权限配置
1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...
- 第14章 Linux账号管理与ACL权限设置
Linux的账号与用户组 用户标识符:UID与GID 每一个文件都有一个所有者ID和用户组ID,当我们需要查看文件属性时,系统会根据/etc/passwd和/etc/group的内容,找到对应UID和 ...
- Linux 账号管理及ACL权限设置,PAM模块简介
有效群组与初始群组: groups:有效与支持群组的观察 newgrp:有效群组的切换,后面接群组名称 在passwd文件中记录的GID就是默认的GID,就是初始群组 /etc/passwd文件结构 ...
- 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...
- Linux账号管理与ACL权限设置
1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...
- Linux系列教程(十六)——Linux权限管理之ACL权限
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...
随机推荐
- 基于CommonKADS方法论实现知识库系统
说明:本文是Knowledge-based systems with thecommonKADS method文章的翻译. 一.知识库系统的背景 1. 什么是知识库系统(KBS) 知识库系统是人工智能 ...
- ambari-server启动出现ERROR main] DBAccessorImpl:106 - Error while creating database accessor java.lang.ClassNotFoundException:com.mysql.jdbc.Driver问题解决办法(图文详解)
不多说,直接上干货! 问题详情 ambari-server启动时,报如下的错误 问题分析 注:启动ambari访问前,请确保mysql驱动已经放置在/usr/share/Java内且名字是mysql- ...
- python 正则表达式应用——缩写词扩充
看具体示例 import re def expand_abbr(sen, abbr): lenabbr = len(abbr) ma = '' for i in range(0, lenabbr): ...
- DBUtils工具类的使用
DBUtils工具类1.DBUtils工具类,由apache组织提供的工具类,对JDBC做了一些简单封装. 做了查询的封装,把查询的结果封装到List集合 Map集合 JavaBean对象中 做了增删 ...
- [Visual studio code 常见问题解决] ——中文乱码、
中文乱码问题解决 描述:刚开始安装VScode要打开含中文的文件,都会出现乱码,这时只要点击右下方的“UTF-8”改成“GB2312”即可.但每次都改是很麻烦的,所以要使得VScode默认支持GB23 ...
- Map集合遍历的4种方法
完全复制https://www.cnblogs.com/blest-future/p/4628871.html import java.util.HashMap; import java.util.I ...
- 使用Myeclipse进行简单webservice开发的示例
(转) http://blog.csdn.net/changhenshui1990/article/details/70142371 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...
- Hibernate生成数据库表
首先创建实体类 import java.util.Date; public class ProductionEntity { public Integer getId() { return id; } ...
- java 并发 (四) ---- 并发容器
Hashmap 和 Concurrenthashmap Hashmap 不适合并发,应该使用ConcurrentHashMap . 这是很多人都知道的,但是为什么呢? 可以先看一下这两篇文章. JDK ...
- 【转】.NET 4.5 使用async和await关键字调用异步方法
async和await关键字是.NET 4.5新增加的异步编程方式,通过使用这两个关键字可以轻松便捷的编写异步方法.使用async关键字声明异步方法,使用await关键字等待和获取异步方法返回的结果. ...