专栏首页Theo TsaoLinux用户和文件权限管理

Linux用户和文件权限管理

本文包含: 用户管理、用户组管理、基本权限及管理命令、POSIX ACL 权限系统及其管理命令。

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]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ionic3学习笔记(六)存储之使用 SQLite

    Theo Tsao
  • Ionic3学习笔记(七)Storage

    Storage可以很容易的存储键值对和JSON对象。Storage在底层使用多种存储引擎,根据运行平台选择最佳的存储方式。 当运行在Native模式时,Stor...

    Theo Tsao
  • Ionic3学习笔记(十四)使用 Videogular2 实现视频播放以及遇到的一些问题

    videogular2 GitHub 地址:https://github.com/videogular/videogular2

    Theo Tsao
  • 快速学习Linux-权限管理

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • Linux——Linux系统编程之用户、用户组、权限的概念与操作总结

    我们在初次接触Linux时,总会听一些老研发提到一些用户组、权限等问题,有时也会碰到某个文件无法打开、无法编辑的“怪事”,然后一些老研发就会说是权限的事,chm...

    Winter_world
  • 【重磅】灵长类动物脸部识别算法被破译,大脑黑箱或根本不存在

    【新智元导读】发表在 Cell 的一项研究揭示了人脸识别的具体神经元活动过程。对猕猴的实验表明,对脸部的识别是由大脑中 200 多个不同神经元共同编码完成的,每...

    新智元
  • Python3.7安装mysqlclient

    MysqlClient 是 Python 操作 MySql 的一个驱动程序,是 MySQL-python 的另外一个分支,目前MySQL-python 只支持到...

    小柒2012
  • Python3.7安装mysqlclient

    MysqlClient 是 Python 操作 MySql 的一个驱动程序,是 MySQL-python 的另外一个分支,目前MySQL-python 只支持到...

    小柒2012
  • FAutoTest:一个免费的H5、小程序自动化测试框架

    FAutoTest是腾讯开源UI自动化测试框架。目前已公开使用,业务涉及腾讯视频、QQ空间、腾讯彩票业务、充值业务、腾讯百科、医疗云等;

    Altumn
  • 图说jdk1.8新特性(4)--- stream

    SecondWorld

扫码关注云+社区

领取腾讯云代金券