====账号管理配置文件====

vim /etc/passwd,显示系统内所有账号内容,每一行代表一个账号,比如:

yidao:x:1000:1000:fedora17:/home/yidao:/bin/bash

解释下这7个字段的含义:

1:账号名称  | 2:密码  |  3:UID  |   4:GID   |   5:用户信息说明   |   6:主文件夹  |   7:shell

vim /etc/shadow,显示密码信息,每一行代表一个账号密码信息,比如:

yidao:$1$Bylot.Y3$kMjNj1.KyW9lS3TUuAIPd/:15614:0:99999:7:::

解释下这9个字段含义(以:隔开)

1:账号名称  |  2:密码  |  3:最近更改密码日期 , 与1970年1月1日比较的天数 |   4:密码不可被更改的天数(与第三个字段比较)   |   5:密码需重新更新的天数(与第三个字段比较)  |  6:密码需重新更新前的警告天数(与第五个字段比较)  |   7:密码过期后的账号宽限天数(密码失效日)(与第五个字段比较)  |  8:账号失效日期,也是与1970年1月1日比较的天数  |  9:保留

/etc/group 文件:

yidao:x:1000:

用户组名称:用户组密码(已经移到/etc/gshadow中去,一般为x):GID:此用户支持的账号名称(只写改组不是其初始用户组的账号)

groups命令可以显示该用户的属于所有的用户组,第一个为有效用户组,新建文件的时候有用

newgrp命令切换有效用户组,新开子shell,用exit返回。

/etc/gshadow 文件:

root:::

用户组名:密码列(开头为!代表无合法密码,所有无用户组管理员):用户组管理员账号:用户组下的账号

====新增用户useradd====

# useradd [-u UID] [-g GID] [-G 次要用户组] [-mM] [-c 说明] [-d 主文件夹] [-s shell] [-r] 用户账号

-M:强制不创建用户主文件夹(系统账号默认值)

-m:强制创建用户主文件夹(一般账号默认值)

-r:创建一个系统账号

使用useradd创建账号至少会参考:

/etc/default/useradd

/etc/login.defs

/etc/skel/*这些文件。

详细的密码显示与修改命令chage:

# chage [-ldEImMW] 帐号名

-l:列出详细密码信息

-d:后面接日期,修改shadow第三个字段(最新修改日期),格式YYYY-MM-DD

-E:后面接日期,修改shadow第八字段(账号失效日),格式YYYY-MM-DD

-I:后面接天数,修改shadow第七字段(密码失效日期)

-m:后面接天数,修改shadow第四字段(密码最短保留天数)

-M:后面接天数,修改shadow第五字段(密码最长保留天数)

-W:后面接天数,修改shadow第六字段(密码过期前几天开始警告)

====账号相关数据进行微调usermod====

# usermod [-cdegGlsuLU]  username

-c:后面接账号说明,即/etc/passwd第五列说明

-d:账号主文件夹,/etc/passwd第六列

-e:后面接日期,YYYY-MM-DD格式,/etc/shadow第八字段(账号失效日期)

-f:后面接天数,shadow第七字段(密码失效日期)

-g:后接初始用户组,/etc/passwd第四字段,即GID字段

-G:后接次要用户组,修改这个用户能支持的用户组,修改的是/etc/group(赋值的意思,你懂的)

-a:与-G合用增加次要用户组的支持而非设置(append的意思,你懂的)

-l:后接账号名称,即修改账号名称,/etc/passwd第一列

-s:后接shell实际文件,例如/bin/bash、/bin/csh等

-u:后接UID,/etc/passwd第三列

-L:暂时将用户的密码冻结,让他无法登陆,其实仅仅改了/etc/shadow的密码列

-U:将/etc/shadow密码列的!去掉,解锁密码

几个小命令:

# finger [-s] username:类似指纹功能,将用户相关属性列出来

# chfn [-foph] username:修改finger属性,也就是个人信息

# chsh [-ls] :修改shell

# id username:查阅相关的ID信息

====用户组管理命令====

# groupadd [-g gid] [-r] 用户组

-g:后接GID

-r:新建系统用户组

# groupmod [-g gid] [-n group_name] 用户组名

-g:修改GID

-n:修改组名

这东东一般没啥用,最好别用。

# groupdel 用户组名

# gpasswd groupname:给个组密码

# gpasswd [-A user1, ...] [-M user3, ...] groupname

-A:将groupname主控器交由后面的用户管理(该用户组的管理员)

-M:将某些账号加入到这个组中

# gpasswd [-rR] groupname

-r:将groupname的密码删掉

-R:让groupname的密码栏失效

下面是组管理员命令:

# gpasswd [-ad] user groupname

-a:add

-d:delete

====主机的具体权限规划ACL(Access Control List)====

先查看是否支持acl

# sudo dumpe2fs -h /dev/sda5 | grep acl

设置acl权限:

# setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名

参数:

-m:设置后续的acl参数给文件使用,不可与-x合用

-x:删除后续的acl参数,不可与-m合用

-b:删除所有的acl参数

-k:删除默认的acl参数,关于所谓的默认参数等等

-R:递归设置acl,亦包括子目录也

-d:设置默认的acl参数!只对目录有效,在该目录下新建数据会引用此默认值

设置用户规则:u:[用户账号列表]:rwx

# touch text.txt

# setfacl -m u:yidao:rx  text.txt

# setfacl -m u::rx text.txt  ==> 代表对该文件的所有者(user)设置

# getfacl text.txt ==>查看acl设置

里面有个mask:表示用户或者用户组的权限必须要存在于mask的权限范围内才会生效,即有效权限 effective permission的意思

设置用户组规则:g:[用户组列表]:rx text.txt

# setfacl -m g:yidao:rx text.txt

设置mask的规则: m:[rwx] text.txt

# setfacl -m m:rx text.txt

针对目录的ACL的权限设置能够被子目录所继承的话,设置规范:

d:[u|g]:[用户|用户组]列表:[rwx]

切换到root身份的时候使用:

====用户身份切换====

# su -

# su - -c ‘head -n 3 /etc/shadow’  ==> 执行完root命令后自动返回当前用户

# sudo [-b] [-u 新用户账号] command

-b:后续命令让系统自动执行,不与目前的shell环境产生影响

-u:后面接用户名,没有就代表root

# sudo -u sshd touch /tmp/mysshd

# sudo -u testuser sh -c “mkdir ~testuser/www; cd ~testuser/www; echo ‘fuck you’ > index.html”

visudo  编辑/etc/sudoers文件:

yidao  ALL=(ALL)    ALL

用户账号   登录者的来源主机号=(可切换的身份)   可执行的命令

%yidao  ALL=(ALL)    ALL  ==>注意%代表对用户组设置

%yidao  ALL=(ALL)    ALL  NOPASSWD:  ALL  ==>免密码功能

通过别名设置visudo:

# visudo

User_Alias ADMUSERS = myuser1, myuser2

Host_Alias  www.springzoo.com, www.google.com.hk

Cmnd_Alias ADMCMD = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

ADMUSERS  ALL=(Host_Alias)  ADMCMD

sudo搭配su输入自己的密码变成root用户,然后以后就不用输入sudo了

# visudo

User_Alias  ADMINS = yidao, test…

ADMINS ALL=(root) /bin/su -

====PAM模块(Pluggable Authentication Modules)====

可以编辑/etc/nologin.txt让shell为/sbin/nologin的用户登录时候显示消息给他看

PAM会调用在目录/etc/pam.d/command文件对每个command进行认证,文件名与程序名一样

====查询用户:====

w/who/last/lastlog   不解释

用户对谈:write,mesg,wall

先用w查看当前用户

# write 用户账号  [用户所在终端接口]

# write yidao [pts/2]

最后按CTRL + D结束输入

# mesg [-n|y]  ==> 查看自己的消息,-n禁止别人的弹出消息

# wall  ”Hello everybody…”  ==> 广播

====用户邮件====

# mail username@localhost -s “邮件标题”

正文结束时,最后一行输入一个.即可

==============================END=============================

本人博客已搬家,新地址为:http://yidao620c.github.io/

企鹅日记(十一):账号管理与ACL权限设置相关推荐

  1. linux设置账号权限设置,Linux账号管理与ACL权限设置

    1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...

  2. Linux 之旅 11:Linux 账号管理与 ACL 权限设置

    Linux 之旅 11:Linux 账号管理与 ACL 权限设置 Linux 的账号与用户组 使用者识别码:UID与GID 关于Linux的账号管理,有两个数字最为重要: UID:(User ID), ...

  3. Linux的基本学习(十)——账号管理与ACL权限设置

    前言: 继续学习Linux,账号管理与ACL权限设置 Linux的账号与用户组 用户标识符:UID与GID 虽然我们登陆Linux主机的时候,输入的是我们的账号,但是其实Linux主机并不会直接认识[ ...

  4. 鸟哥的Linux私房菜(基础篇)- 第十四章、Linux 账号管理与 ACL 权限配置

    第十四章.Linux账号管理与 ACL 权限配置 最近升级日期:2009/09/09 要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过,不同的使用者应该要拥有不同的权限才行 ...

  5. 第十四章、Linux 账号管理与 ACL 权限配置

    要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...

  6. 第14章、 Linux 账号管理与 ACL 权限设定

    14.1. Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理 ...

  7. Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制

    Linux的账号与群组: 使用者标识符:UID与GID 使用者账号:先找寻/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID (在/etc/grou ...

  8. 第十一章 Linux账户管理与ACL权限设置(下)

    目录 用户身份切换 su (switch user) sudo (super user do) 用户的特殊shell与PAM模块 特殊的shell:/sbin/nologin PAM模块简介 常用模块 ...

  9. linux 账号管理与ACL权限设定

    此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...

  10. Linux中ACL权限设置

    ACL权限设置 简介 ACL的功能是应对复杂用户环境的权限问题. 系统是否支持ACL是与文件系统有关的,在CentOS7之前的系统版本中用户自己手动创建的分区默认是不支持ACL的,而在装系统的时候已存 ...

最新文章

  1. vue.js created函数注意事项
  2. python编程课-python编程课---turtle
  3. .Net Micro Framework研究—绘图
  4. c#.net——c#.net异步实现网页信息爬取
  5. daysmatter安卓版_days matter
  6. c char转int_C/C++ 各数据类型占用字节数
  7. 虚拟机搭建Hadoop集群学习笔记(1)
  8. SQL 模糊表名查询
  9. Win7 网络连接正常 无法上网
  10. 班长团支书福音——爬虫+腾讯云短信平台实现自动提醒同学体温上报 【附源码】
  11. Gif截图工具——GifCam
  12. python开源报表工具_12个最好的开源报表工具
  13. matlab一维图像程序,求大神指教啊!基于图像处理的一维条码识别(MATLAB程序)...
  14. HyperLynx 仿真
  15. linux ftp主动和被动模式切换命令,Linux iptables配置FTP的主动和被动模式
  16. java写wss,JAVA模拟WebSocket客户端,支持wss ssl证书
  17. Arduino - 最小系统(基于ATtiny13A)
  18. 超低功耗LoRa无线通信应用实践
  19. 乐学python慕课答案_乐学软件工程
  20. jquery给input赋值val(val)

热门文章

  1. 基于51的LCD1602计算器
  2. 编写一个JSP页面,实现根据一个人的18位身份证显示出生日的功能,要求把表达式声明和Scriptlet全部用到,并把结果显示在表格中
  3. 如何快速调出软键盘_软键盘怎么打开,软键盘怎么调出来【图文教程】
  4. 文件夹重命名失败,删除失败,提示‘文件正在被使用‘
  5. WIN7中修改Jar文件打开方式的方法
  6. TwoPhaseCommitSinkFunction二阶段提交
  7. 1334172-76-7,Biotin-PEG7-amine生物素-PEG试剂,在EDC或HATU活化剂存在下与NHS酯或羧基酸反应
  8. 服务器交换机在机柜位置,1米2米1.2米机柜22u24u网络服务器交换机图腾机柜
  9. 百度地图截取指定区域坐标(可伸拉标记点)
  10. Swift 读标准库源码笔记 -- Integers(基本数据类型篇)