博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux用户和文件权限管理
阅读量:3484 次
发布时间:2019-05-19

本文共 1972 字,大约阅读时间需要 6 分钟。

本文为原创文章,转载请标明

目录

  1. 用户管理
    • 系统用户文件
    • 添加用户 useradd
    • 设置用户密码 passwd
    • 删除用户 userdel
    • 用户管理 usermod
  2. 用户组管理
    • 系统用户组文件
    • 添加用户组 groupadd
    • 删除用户组 groupdel
    • 用户组管理
  3. 基本权限及管理命令
    • 修改文件属主 chown
    • 修改文件属组 chgrp
    • 文件权限管理 chmod
    • suid、sgid、sticky权限
    • 权限掩码 umask
  4. POSIX ACL权限系统及其管理命令
    • ACL权限管理 setfacl
    • ACL权限查看 getfacl

1. 用户管理

系统用户文件

系统用户文件 etc/passwd

用户密码文件 etc/shadow

添加用户 useradd

# useradd [username]

参数

d:指定用户home目录e:设置过期时间g:指定新用户所属的用户组s:指定新用户使用的shellu:设置用户UID

例如:

# useradd -s /bin/ksh metaphors# useradd -g group user

设置用户密码 passwd

# passwd [username]

删除用户 userdel

# userdel [username]删除用户及其家目录和邮件文件# userdel -r [username]

用户管理 usermod

# usermod [username]

参数

L:锁定用户,禁止用户登录系统U:解除锁定e:指定用户过期的日期f:指定用户过期之后的缓冲时间,即过期后还能登陆的天数d:为用户指定新的家目录m:为用户指定新的家目录时,移动原来家目录中的所有文件s:修改用户的默认shell

2. 用户组管理

系统用户组文件

系统用户组文件 \etc\group

用户组密码文件 \etc\gshadow

添加用户组 groupadd

# groupadd [groupname]

删除用户组 groupdel

# groupdel [groupname]

用户组管理

参数

g:将用户的私有组改变为选项指定的组G:为用户添加多个附加组,使用逗号作为分隔符a:将用户以追加的方式添加到一个附加组

例如:

# usermod -g teacher metaphors# usermod -G teacher,admin metaphors

3. 基本权限及管理命令

修改文件属主 chown

# chown [user:group] [file]

参数

-R => 递归修改

修改文件属组 chgrp

# chgrp [group] [file]

参数

-R => 递归修改

文件权限管理 chmod

# chmod [mode] [file]

权限表达式:

操作对象u => userg => groupo => othera => all操作符+ => 添加权限- => 删除权限= => 赋予权限权限列表r => 读w => 写x => 执行

参数

-R => 递归修改

suid、sgid、sticky权限

suid => set权限处于属主权限位sgid => set权限处于属组权限位sticky => sticky权限,防删除,但不能阻止root和属主删除

绝对模式下,从右向左第4位,4表示suid,2表示sgid,1表示sticky

以符号模式设置属主set权限# chmod u+s test.sh以符号模式设置属组set权限# chmod g+s test.sh以符号模式添加防删除位# chmod o+t file以绝对模式设置属主和属组set权限# chmod 6755 test.sh以绝对模式添加防删除位# chmod 1777 file

权限掩码 umask

查看umask# umask修改umask# umask []umask命令修改的umask值在重启后丢失,若需要保存,可写入shell配置文件中

4. POSIX ACL权限系统及其管理命令

POSIX:Portable Operating System Interface 可移植操作系统接口

ACL:Access Control List 访问控制列表

ACL权限管理 setfacl

# setfacl [ACL表达式] [filename]ACL表达式:[对象类型]:[对象]:权限列表

参数

b:删除所有扩展ACL权限k:删除默认的ACL权限d:设置默认的ACL权限R:递归设置m:修改、添加已有的ACL权限

例如:

# setfacl -m u:metaphors:rw file

ACL权限查看 getfacl

# getfacl [filename]

如有不当之处,请予指正,谢谢~

你可能感兴趣的文章
JavaEE Bean的两种常用作用域 singleton(单例)和prototype(原型)
查看>>
MySQL 数据库索引
查看>>
JavaEE Spring与MyBatis的整合之传统DAO方式整合(教材学习笔记)
查看>>
JavaEE MyBatis与Spring的整合——基于mapper接口方式开发(教材学习笔记)
查看>>
JavaWeb 使用Cookie实现——显示用户上次访问时间(教材学习笔记)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(五)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(六)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(七)
查看>>
Omap138开发板下以uboot2012.04.01为例分析uboot执行(八)
查看>>
中国大学MOOC—陆军工程大学数据结构MOOC习题集(2018秋)7-3 中位数
查看>>
Java发送邮件 注册成功发送邮件
查看>>
Mybatis的简单使用(增删改查),解决数据库字段名和实体类映射属性名不一致的问题
查看>>
Mybatis配置log4j文件 分页查询(limit,rowBounds)
查看>>
Mysql利用注解进行开发
查看>>
Mybatis一对多查询,多对一查询
查看>>
Spring配置bean.xml文件的头目录模板
查看>>
代理模式之------动态代理
查看>>
Spring实现AOP的三种方式
查看>>
Mybatis-Spring简单的配置和使用,配置事务
查看>>
SpringMVC和Mybatis整合使用的配置文件
查看>>