Linux用户及权限管理

用户管理

多用户多任务的操作系统

用户类型

管理员用户 root

普通用户

系统用户/程序用户

用户相关的文件:

/etc/passwd 用户信息

格式:

用户名:x:UID:GID:说明信息:SHELL

UID:

1000---60000

0---999 系统用户

SHELL:

/bin/bash 默认

/sbin/nologin 系统用户

/etc/shadow 用户密码信息

用户:

基本组

附加组 用户userA -----> 用户组userA;    caiwu, shichang, jishu, yanfa

1、创建用户

# useradd [option] 用户名称

option选项:

1) -u UID 指定用户的uid

[root@node01 ~]# useradd -u 2000 user2

[root@node01 ~]# id user2

uid=2000(user2) gid=2000(user2) 组=2000(user2)

[root@node01 ~]#

2) 指定用户的基本组、附加组

-g gid/组名称

-G gid/组名称,...

[root@node01 ~]# groupadd caiwu

[root@node01 ~]# useradd -g user1 -G caiwu user3

[root@node01 ~]#

[root@node01 ~]# id user3

uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu)

3) 指定用户shell名称

-s shell名称

-M 不创建宿主目录

[root@node01 ~]# useradd -s /sbin/nologin -M apache

4) 创建系统用户

-r

[root@node01 ~]# useradd -r mysql

5) 指定用户的宿主目录

[root@node01 ~]# useradd -d /tmp/hadoop hadoop

2、切换用户

# su - 用户名称

3、查看用户id信息

[root@node01 ~]# id user1

uid=1001(user1) gid=1001(user1) 组=1001(user1)

[root@node01 ~]# id user3

uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu)

[root@node01 ~]# id -u user3

2001

[root@node01 ~]# id -g user3

1001

[root@node01 ~]# id -G user3

1001 2001

[root@node01 ~]# id -u -n user3

user3

[root@node01 ~]# id -g -n user3

user1

[root@node01 ~]# id -G -n user3

user1 caiwu

[root@node01 ~]#

4、设置用户密码

# passwd [option] [用户名称]

[root@node01 ~]# passwd user1

1) 查看用户密码状态

[root@node01 ~]# passwd -S user1

user1 PS 2017-04-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

2) 锁定用户密码(不能登录)

[root@node01 ~]# passwd -l user1

锁定用户 user1 的密码 。

passwd: 操作成功

[root@node01 ~]# passwd -S user1

user1 LK 2017-04-11 0 99999 7 -1 (密码已被锁定。)

3) 解锁用户密码

[root@node01 ~]# passwd -u user1

解锁用户 user1 的密码。

passwd: 操作成功

[root@node01 ~]# passwd -S user1

user1 PS 2017-04-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

[root@node01 ~]#

4) 强制用户密码过期

[root@node01 ~]# passwd -e user1

正在终止用户 user1 的密码。

passwd: 操作成功

5、修改用户信息

# usermod [option] 用户名称

-u UID

-g 组名称

-G 组名称

-s shell名称

[root@node01 ~]# usermod -aG caiwu user3

[root@node01 ~]# id user3

uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu),2004(shichang)

6、删除用户

# userdel [option] 用户名称

[root@node01 ~]# userdel user1

[root@node01 ~]# userdel -r user2 >>>同时删除用户的宿主目录

用户组管理

1、创建用户组

# groupadd 用户组名称

2、删除用户组

# groupdel 用户组名称

[root@node01 ~]# groupadd jishu

[root@node01 ~]# useradd tom

[root@node01 ~]# useradd mike

[root@node01 ~]# useradd jerry

[root@node01 ~]# usermod -G jishu tom

[root@node01 ~]# usermod -G jishu jerry

[root@node01 ~]# usermod -G jishu mike

[root@node01 ~]# grep "jishu" /etc/group

jishu:x:2005:tom,jerry,mike

[root@node01 ~]# gpasswd -d tom jishu

正在将用户“tom”从“jishu”组中删除

[root@node01 ~]# grep "jishu" /etc/group

jishu:x:2005:jerry,mike

[root@node01 ~]#

用户操作环境配置文件:

从/etc/skel目录复制而来

[root@node01 ~]# ls -a /home/userA/

.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

.bashrc 打开新终端 /etc/bashrc

.bash_profile 用户登录系统 /etc/profile

.bash_logout 注销系统

示例:设置命令别名

# alias 命令别名='命令'

针对单个用户设置别名:

[root@node01 ~]# vim /home/userA/.bashrc

alias ipshow='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

[root@node01 ~]# source /home/userA/.bashrc

针对所有用户设置别名:

[root@node01 ~]# vim /etc/bashrc

alias ipshow='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

[root@node01 ~]# source /etc/bashrc

文件目录权限管理

常规权限:

r read 读取 4

w write 写入 2

x execute 执行 1

文件:

r 查看文件内容(cat/more/less/head/tail/grep)

w 编辑文件内容(vim)

x shell/python脚本

目录:

r 查看目录下的文件(ls /tmp)

w 修改目录下的文件(新建、删除、mv)

x 切换目录(cd)

查看文件权限

[root@node01 ~]# ls -l /etc/fstab

-rw-r--r--. 1 root root 465 7月  28 2016 /etc/fstab

查看目录权限

[root@node01 ~]# ls -ld /etc/

drwxr-xr-x. 136 root root 8192 4月  11 13:48 /etc/

设置文件目录权限

1) chmod 修改权限

# chmod {augo}{+-=}{rwx} 文件名称

a all 所有

u user 属主用户

g group   属组

o other 其他

[root@node01 ~]# chmod a+x /test/1.txt

[root@node01 ~]# chmod g=rw /test/3.txt

# chmod nnn 文件名称

[root@node01 ~]# chmod 600 /test/4.txt

2) 修改文件的属主、属组

# chown 用户名称.用户组名称  文件名称

[root@node01 ~]# chown user1.caiwu /test/1.txt

[root@node01 ~]# chown user1 /test/2.txt

[root@node01 ~]# chown root.caiwu /test/4.txt

仅修改属组:

# chgrp 用户组名称 文件名称

[root@node01 ~]# chgrp caiwu /test/3.txt

方法2) facl ---- 文件访问控制列表

设置权限:

针对单个用户设置权限

# setfacl -m u:用户名:权限 文件名称

[root@node01 ~]# setfacl -m u:user4:r /test/3.txt

[root@node01 ~]# getfacl /test/3.txt

getfacl: Removing leading '/' from absolute path names

# file: test/3.txt

# owner: user1

# group: user3

user::rw-

user:user4:r--

group::rwx

mask::rwx

other::r-x

针对单个用户组设置权限

# setfacl -m g:用户组名称:权限 文件名称

删除facl权限

针对单个用户删除权限

# setfacl -x u:用户名  文件名称

[root@node01 ~]# setfacl -x u:user4 /test/3.txt

针对单个用户组删除权限

# setfacl -x g:用户组名称 文件名称

特殊权限:

suid 4

sgid 2

sticky bit 1 # chmod 644 file01 # chmod 6644 file02   # chmod 2700

1、suid

作用:普通用户在执行命令期间,会临时获取到命令属主用户对操作系统的权限

[root@node01 ~]# ls -l /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

设置suid权限

# chmod u+s 文件名称

2、sgid

针对目录设置

作用:目录拥有sgid权限后,在目录下新创建的文件会继承目录的属组信息

设置sgid权限

# chmod g+s 目录名称

[root@node01 ~]# ls -ldh /linux/

drwxr-sr-x. 2 root caiwu 18 4月  11 15:37 /linux/

3、sticky bit

针对目录设置

作用:

只有目录下文件的属主用户、目录属主用户及root可删除该文件

[root@node01 ~]# ls -ldh /tmp/

drwxrwxrwt. 8 root root 4.0K 4月  11 15:45 /tmp/

设置sticky bit权限

# chmod o+t 目录名称

chmod, chown, chgrp, setfacl

共同选项:-R

转载于:https://blog.51cto.com/lyw168/1957697

linux用户和文件目录管理相关推荐

  1. linux的安装组和管理组的区别吗,Linux用户和组管理

    Linux用户和组管理 安装上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发起此进程的用户的权限: 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建 ...

  2. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令

    导读 这篇文章主要介绍了 用户和组管理常见 ,总结整理了linux用户和组管理相关原理.操作 与使用注意事项,需要的朋友可以参考下. 1.用户隶属于用户组的 2.用户与用户组配置文件 1)用户组配置文 ...

  3. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  4. linux组的管理命令,linux 用户和组管理命令(示例代码)

    Linux 用户和组管理 组管理 groupadd命令:添加组 groupadd 选项 group_name -g GID :指定GID;默认是上一个组的GIDS+1 -r 创建系统组: groupm ...

  5. 有关linux用户和用户组管理的知识详解

    Linux作为多用户多任务的分时操作系统,所有要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们 ...

  6. 【Linux】Linux用户和权限管理

    一.Linux用户和权限管理 用户 权限 命令 管理员用户 只有一个,UID=0的用户就是管理员用户,一般情况,默认它的用户名是root,家目录是/root root     :x   :0:  0: ...

  7. linux的用户及权限管理,Linux 用户及权限管理.doc

    ? ? ? ? ? ? ? ? Linux 用户及权限管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux 是一个多用户的操作系统,引入用户,可 ...

  8. 在linux中关于组的命令,linux 用户和组管理相关的命令

    linux 用户和组管理相关的命令 用户管理 useradd建立用户帐号 语 法:useradd [options] LOGIN 参 数:-u UID: [UID_MIN, UID_MAX]定义在/e ...

  9. linux下用户和组的管理,linux用户和组管理常见命令

    本文总结了一些linux用户和组管理常见命令.供大家参考,具体如下: 1.用户隶属于用户组的. 2.用户与用户组配置文件 1)用户组配置文件 /etc/group 第一列:用户组的组名 第二列:组密码 ...

最新文章

  1. android native堆内存泄露,Android Native内存泄露检测
  2. 学python还是go会php_现在想再学习一门编程语言,应该选择go还是python?
  3. mysql的status状态说明
  4. js阻止ajax继续请求,js 拦截全局 ajax 请求
  5. php实现跑马灯闪亮,易达CMS实现跑马灯特效!
  6. 前端开发中如何将文件夹中的图片变为背景图_Web中的图像技术全面总结,长文干货!...
  7. c++ 输出string_来讲讲Java中String 类的知识点
  8. win10用不了php_WIN10用不了
  9. ext2文件系统学习(一)
  10. java添加录音,大家说说java程序里怎么插入视频和音频啊
  11. python下载及安装教程
  12. HTML学习教程之终极篇
  13. Django学习笔记之form组件的局部钩子和全局钩子
  14. Python代码对接抖音去水印提取API接口、TikTok去水印解析接口的源码
  15. oracle 怎么做日期计算,oracle日期计算
  16. 计算机位数怎么看win10,怎么查看Win10是32位还是64位操作系统?
  17. SpringMVC类型转换遇到的问题
  18. 网管实战(4):网关地址与子网掩码
  19. 51951-04-3,Hydroxy-PEG2-CH2CO2H sodium salt羟基可以进一步衍生或替换为其他反应性官能团
  20. 恋爱话术表白头像漫画制作微信小程序

热门文章

  1. 小知识~LocalDB在IIS上如何成功配置
  2. (二)Cacti监控
  3. shell批量添加用户
  4. XML专题:使用NSXMLParser解析xml文件
  5. Apache Hadoop 2.7如何支持读写OSS
  6. CentOS7上配置ELK
  7. 【Java学习笔记之二十五】初步认知Java内部类
  8. 静态成员函数不能采用const修饰的原因
  9. wingide 显示中文 及 配色方案
  10. 孟子曰:道之所在,虽千万人吾往矣!