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

目录

  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:指定新用户使用的shell
u:设置用户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 => user
g => group
o => other
a => 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]

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

Linux用户和文件权限管理的更多相关文章

  1. Linux用户及文件权限管理

    Linux用户及文件权限管理

  2. Linux——用户及文件权限管理

    2019-07-31 用户管理 查看用户 who am i:打开当前伪终端的用户的用户名 pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i , ...

  3. Linux 用户和文件权限管理

    Linux —— 用户权限管理 权限: 为什么需要权限管理?    1.计算机资源有限,我们需要合理的分配计算机资源.    2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重 ...

  4. linux 用户及文件权限管理

    Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同 ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  6. 实验楼学习linux第一章第三节用户及文件权限管理

    用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用 ...

  7. solaris用户与文件权限管理

    此文章已于 20:45:28 2015/3/22 重新发布到 zhuxuekui3 solaris用户与文件权限管理1 类别    「网站分类」Oracle 一.用户与用户组管理 三种用户:超级用户. ...

  8. Lniux 入门:03 用户及文件权限管理

    1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 通过第一节课程的学习,你应该已经知道, ...

  9. linux下的文件权限管理

    权限管理有两个层面 第一层区分用户:文件属主(u), 组用户(g), 其它(o) 第二层区分权限:读(r),写(w),可执行(x) 这两个层次构成文件权限管理的二维结构 u         g     ...

随机推荐

  1. sql处理null值

    IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值. select (case when ...

  2. Beta冲刺前准备

    一.介绍小组新成员,Ta担任的角色. 201421123121 栗海辉 来自Sugar Free 风格:低调中的高调,给你不一样的视觉 擅长的技术:C语言/JAVA 在曾经的团队里面担任主要编程人员, ...

  3. 201521123053《Java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1.List中指定元素的删除(题目4-1) 1.1 实验总结 答:先贴上主要代码: priva ...

  4. 201521123070 《JAVA程序设计》第8周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.泛型简介:泛型程序设计,编写的代码可被不同类型的对象所重用,Java中一个集合可以放任何类 型的对象,因为 ...

  5. Servlet第三篇【request和response简介、response的常见应用】

    response.request对象 Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象.和代表响应的response对象 既然request对象代表ht ...

  6. 在Myeclipse中用Java语言操作mysql数据库

    package OperateMysql; import java.sql.*; public class MysqlTest { public static void main(String[] a ...

  7. mongodb 在windows下面进行分片

    在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对. 一:分片 mongo ...

  8. Ansible系列(六):各种变量定义方式和变量引用

    本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...

  9. Excel开发之旅

    开发环境:Microsoft Visual Studio 2015,Office 2013 开发语言:C# 1.创建工程:文件à新建à项目,选择office 外接程序àExcel 2013和2016 ...

  10. 以下内容对于灵活修改textField中文本以及占位文本属性进行了完整的封装,加入项目中可以节约开发时间。

    textField对占位文本设置属性有限,在项目中需要改变占位文本的属性以及位置,需要自己对控件进行封装 封装方法如下: 在LDTextField.m 文件中: #import <UIKit/U ...