用户和组

用户信息文件

/etc/passwd
(1 2 3 4 5 6 7)
root:x:0:0:root:/root:/bin/bash 用户信息,以 : 分割字段
daemon:x:2:2:daemon:/sbin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin 字段1:用户名
字段2:密码占位符(原用于存放密码,现已弃用)
字段3:uid(用户的身份标识)
0 超级管理员 1-499 程序用户 500-60000 普通用户 (centOS 6 中)
999 1000 (centOS 7 中)
在应用启动时,会调用程序用户来启动(该用户权限低,无法登陆系统)
字段4:gid用户的基本组id(一个用户只能有一个基本组,但可以有多个附加组)
字段5:用户信息(现已弃用)
字段6:用户的的家目录
字段7:用户登录系统的命令解释器类型(shell)
/bin/bash 表示该用户可以登录系统
/sbin/nologin 表示该用户无法登录系统

用户密码信息

/etc/shadow
1 2
root:$7$UmhhDLOFNijwwr6v$.rw/AyPqqm4WeoYnajjveFCabPT9SeOLALLWbarOvPuTGtJX5d1cmwgV5abwzCplR8ekN2XlbweD2xcpG06eb0::0:99999:7:::
userA:!!:18458:0:99999:7:::
1 2 3 4 5 6 78
字段1:用户名
字段2:被加密过的密码(利用sha-512算法,以及salt值混合加密的密码)
字段3:间隔天数(距1970年1月1日密码最近一次的修改时间)
字段4:密码的最短有效期,0表示不限制,若为3则表示用户(root除外)三天内不能修改自己的密码
字段5:密码最长有效期(建议设定成90天)
字段6:密码过期前的7天会有警告提示
字段7:密码的不活跃期
字段8:账户的失效时间

相关命令

用户管理
id user	 查看用户的信息(uid,gid以及附加组)
useradd userA 创建一个新用户userA
id会默认从可用id里顺序取值,且会同时创建同名的基本组和附加组
[root@localhost ~]# id userA
uid=1001(userA) gid=1001(userA) groups=1001(userA)
useradd -u 1223 -g 1001 userB 创建一个uid为1223,gid为1001的用户userB
usermod -g root userA 将用户userA的所属组改为root
usermod -G 1002 userA 为用户增加一个gid为1002的附加组
usermod -s /sbin/nologin 修改用户的命令解释器(无法登录,也不能由其他用户切换)
userdel -r userB 删除用户及其家目录,若无-r,则会保留家目录
组管理
groupadd gp  创建了一个名为gp的组
group -g 676 aaa 创建了一个gid为676的组aaa
groupmod -g 677 aaa 将组aaa的gid改为677
gpasswd -d aaa root 从root组成员中移除用户aaa
tail -3 /etc/group

userA:x:1001:aaa
userB:x:1002:
aaa:x:1003: 字段1:组名
字段2:密码标识
字段3:gid
字段4:组中的成员(以该组为附加组的用户,以该组为基本组的用户不显示)
密码管理
passwd -S root	查看root用户的密码状态
passwd userA 为用户userA设定密码
passwd -d userA 删除用户userA的密码
passwd -l userA 锁定用户userA,其不能在登录界面登录,但可以从其他用户切换
passwd -u userA 解锁用户
chage -M 90 userA 修改用户userA密码的最长有效期为90天

权限管理

文件的详细信息

ls -lh	列出文件的详细信息
-rwxr-xr-x. 1 root root 127 Jul 20 18:57 hello.sh
drwxr-xr-x. 12 500 500 4.0K Jul 17 16:25 httpd-2.2.15
-rwxrw-rw-. 1 root root 6.3M May 13 09:08 httpd-2.2.15.tar.gz
drwxr-xr-x. 3 root root 79 Jul 21 19:27 test
1 2 3 4 5 6 7 字段1:文件的类型和权限
字段2:文件类型如果是文件,代表文件的结点数inode
文件类型如果是目录,代表目录中子目录的个数(包括目录 . 和 ..)
字段3:文件的所属者
字段4:文件的所属组
字段5:文件的大小
字段6:文件的修改时间
字段7:文件名

文件权限

对文件的类型和权限信息部分进行分割
drwxr-xr-t. 2 root root 6 Jul 21 20:48 tmp1 (设置了粘置位的目录)
drwxr-xr-T. 2 root root 6 Jul 21 20:47 tmp2
- rwx r-x r-x + 1 root root 127 Jul 20 18:57 hello.sh
d rwx r-x r-x . 3 root root 79 Jul 21 19:27 test
1 2 3 4 5 字段1:文件类型 -普通文件 d目录 l符号链接 b块设备(硬盘)
字段2:文件所属者的权限
字段3:文件所属组的权限
字段4:其他用户的权限 (字段234属于文件基本acl)
字段5:文件扩展acl标识(.表示没有设置扩展acl,+表示设置了扩展acl)
(扩展acl的优先级高于基本acl)
权限中各字符的含义:
r w x
对于文件 读取 写入 可执行
对于目录 列出内容 增删文件 进入
(如果用户对于目录没有x权限,即使拥有rw权限也无法对其进行操作)

相关命令

chmod 改变文件或目录的权限
chmod u-x g+w o=r-x file (-撤权 +赋权 =直接覆盖权限)
撤销file文件所属者的执行权限,所属组增加写权限,其他用户只有读和执行权限
chmod a--- file
撤销所有用户和组对file文件的所有权限(root用户仍可以对其进行任意操作)
chmod -R o= ./test
撤销其他用户对test目录及其包含的所有文件的所有权限
chmod o+t /test 对目录设置粘置位
原本其用于显示他用户x权限的位置会被替代成t(有x权限)/T(无x权限)
chnod -u+s /usr/bin/vim 为 vim文件添加suid权限
(suid只对可执行文件有效果,任何运行该文件的用户都是以文件所属者的身份运行) 8进制赋权法
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx chmod 700 file 只有文件所属者对file文件有操作权限
chmod 444 file 所有用户对file文件只有读r权限
chmod 1444 /tmp3 对目录tmp3设置粘置位(1表示设置粘置位)
chmod 0444 /tmp3 撤销目录的粘置位 chown userA /tmp/1.txt 将文件1.txt的所属者更改为userA
chgrp -R userB ./test/ 将目录及其包含的所有内容的所属组更改为userB 文件acl设置
getfacl file 查看文件的facl
setfacl 设置文件扩展访问控制列表
setfacl -m u:userA:r-- ./1.txt
用户userA对1.txt文件只有r权限
setfacl -m g:userB:rw- ./1.txt
组userB对1.txt文件只有rw权限
setfacl -x u:userA ./1.txt
撤销userA用户在1.txt文件上的扩展acl
setfacl -b 1.txt
撤销对文件设置的所有扩展acl

最新文章

  1. IOS - 打印COOKIE中的 CRFSToken
  2. poj 1442
  3. servlet中获取request中文乱码问题分析
  4. EF5.0 对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性
  5. thinkphp实现短信验证注册
  6. Java 执行终端命令实现,调用执行另外一个Java文件
  7. [Hadoop] - Hadoop Mapreduce Error: GC overhead limit exceeded
  8. PyCharm汉化、破解教程
  9. React学习总结(一)
  10. mysql中的union用法以及子查询综合应用
  11. js 学习之路4:js运行/输出中文乱码问题解决
  12. vmware vcsa-6.5 网络架构之虚拟机的标准交换机
  13. appium+java报错之nodejs报错
  14. Linux 性能分析工具汇总合集
  15. 如何用Eclipse+maven创建servlet 3.0 web 项目
  16. WEB框架Django之ORM操作
  17. 2019.01.21 bzoj1758: [Wc2010]重建计划(01分数规划+长链剖分+线段树)
  18. jquery点击按钮或链接,第一次与第二次执行不同的事件
  19. BZOJ4767 两双手(组合数学+容斥原理)
  20. Django【进阶】分页功能Pagination

热门文章

  1. 28_链表插入和删除算法的演示.swf
  2. 算法岗面试题:模型的bias和variance是什么?用随机森林举例
  3. 第三方登陆--QQ登陆
  4. java代理,静态代理、jdk代理、cglib代理、Aspectj
  5. C#数据结构与算法系列(二十):插入排序算法(InsertSort)
  6. ASP.NET MVC 四种Controller向View传值方法
  7. JasperReport报表中输出Excel时,部分列不显示的问题
  8. 腾讯云Centos搭建web运行环境
  9. composer更新命令及常用命令
  10. CD题解(药水的选择)