Linux 用户及权限详解

用户 , 组 ,权限

安全上下文(secure context);

权限:

r,w,x

文件:

r : 可读,可以使用类似cat 等命令查看文件内容。

w : 可写,可以编辑或删除此文件;

x : 可执行,eXcutable, 可以命令提示符下当做命令提交给内核运行;

目录:

r : 可以对此目录执行ls 以列出内部所有文件;

w : 可以在此目录中创建文件;

x : 可以使用cd 切换进此目录,也可以使用ls -l 查看内部文件的详细信息;

rwx:

r--: 只读

r-x: 读和执行

---: 无权限

0 000 --- 无权限

1 001 --x 执行

2 010 -w- 写

3 011 -wx 写和执行

4 100 r-- 只读

5 101 r-x 读和执行

6 110 rw- 读写

7 111 rwx 读写执行

权限的数字写法

rw-r----- : 640

rw-rw---- : 660

用户: UID , etc/passwd

组:GID, etc/group

影子口令 :

用户 : /etc/shadow

组: /etc/gshadow

用户类别:

管理员: 0

普通用户: 1-65535

系统用户:1-499

一般用户:500-60000

用户组类别:

管理员组:

普通组:

系统组:

一般组:

用户组类别:

私有组: 创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户名同名的组

基本组: 用户的默认组

附加组,额外组 : 默认组以外的其他组。

cat /etc/passwd 文件属性解析           :为分隔符号

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:998:User for polkitd:/:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

1 account: 用登录名

2 password : 密码

3 UID:用户ID

4 GID:基本组ID

5 comment: 注释

6 HOME DIR : 家目录

7 SHELL : 用户的默认shell

etc/shadow

account `: 登录名

encrypted password : 加密的密码 MD5

创建时间

加密方法:

对称加密: 加密和解密都用同一个密码。

公钥加密: 每个密码都成对出现,一个为私钥(secret key) 一个为公钥(public key)

单向加密: 散列加密: 提取数据特征码,常用于数据完整性校验

1 雪崩效应

2 定长输出

MD5 : message digest 128位定长输出

SHA1: Secure Hash Algorithm 160 位定长输出

useradd username 添加账户

groupadd groupname 添加用户组

用户管理:

useradd ,userdel,usermod ,passwd,chsh, chfn,finger,id,change

useradd [options] USERNAME

-u : UID >=500

-g : GID(基本组)

-G : GID ... (附加组)

-c :“comment” 注释信息

-d : /路径 指定家目录

-s : /bin/shell 指定shell 路径

-m -k

-M:

-r:添加系统用户

/etc/shells : 指定了当前系统所有安全可用的shell

userdel:

userdel [option] USERNAME 删除用户

-r : 同时删除用户的家目录

id : 查看用户的账号属性信息

-u:

-g:

-G:

-n:

finger : 查看用户账号信息

finger USERNAME

修改用户账号属性:

usermod

-u : UID

-g : GID

-G -a: GID(附加组,不使用-a 会覆盖之前的附加组)

-c:注释

-d -m: -m 移动旧家目录文件至新家目录

-s:

-l:

-L:锁定账号

-U: 解锁账号

chsh(change shell) : 修改用户的默认shell

chfn :修改注释信息

密码管理:

passwd [USERNAME]

--stdin 从标准输入(可以是管道)中读取新密码。

-l:锁定

-u:解锁

-d: 删除用户密码

pwck 检查用户账号完整性

切换用户登录

su (switch user) 用户名

组管理命令:

groupadd,groupdel, groupmod,gpasswd

创建组:

groupadd :

-g:GID

-r:添加为系统组

groupmod:

-g:GID

-n:GroupName

gpasswd : 为组设定密码

newgrp groupname : 登录到新组, -- > exit

chage : 修改用户密码信息

-d : 最近一次的修改时间

-E :过期时间

-I :非活动时间

-m :最短使用时间

-M :最长使用期限

-W : 警告时间

权限管理:

r:

w:

x:

chown,chgrp,chmod,umask

三类用户:

u : 属主

g : 属组

o : other 其他用户

a :所有用户

chown : 改变文件属主(管理员权限)

chown USERNAME file1,file12,....

-R :修改目录及其内部文件的属主(递归修改)

--reference=/path/to/somefile file1, ... 参考某个文件权限修改file1

chown USERNAME:GORUPNAME file1,...

chown USERNAME.GROUPNAME file,...

chgrp Groupname file,... 改变文件属组

-R :

--reference=/path/to/somefile file1, ... 参考某个文件权限修改file1

chmod:修改文件的权限

修改三类用户的权限:

chomod MODE file,....

修改某类用户或某些类用户权限:

u,g,o,a

chmod 用户类别=MODE file,...

修改某类的用户某位或某些位权限

u,g,o,a

chmod 用户类别 +|- MODE file,....

chmod u+x g-r o+w

umask : 遮罩码。表示默认创建的权限设定。

创建文件为: 666-umask

创建目录为: 777-umask

注意: 文件一定不能默认有执行权限

bash : 脚本解释器

站在用户角度谈 SHELL 的类型:

1 登录式shell:

正常通过某终端登录

su - username

su -l username

2 非登录式shell :

su username

图形终端下打开的命令窗口

自动执行的shell 脚本

bash 的配置文件:

全局配置:

/etc/profile, /etc/profile.d/*sh, /etc/bashrc

个人配置:

~/.bash_profile.~/.bashrc

profile 类的文件:

设定环境变量

运行命令或脚本

bashrc类的文件:

设定本地变量

定义命令别名

登录式shell 如何读取配置文件?

/etc/profile --->/etc/profile.d/*.sh ---> ~/.bash_profile ---> ~/.bashrc --->/etc/bashrc

非登录式shell如何读取配置文件?

~/.bashrc ---> /etc/bashrc ---> /etc/profile.d/*.sh

简单设置个root 账号 登录欢迎提示:

root账号下编辑个人配置文件 .bash_profile

nano ~/.bash_profile

最后一行输入:

echo "Hello Administtactor ,Welocme to Login ,It's `date`."

退出账号 重新登录加载配置文件 查看登录后的提示。

可在其中加载脚本,用于初始化运行

linux权限可被登录用户读取,Linux 用户及权限详解相关推荐

  1. linux系统编程之进程(八):守护进程详解及创建,daemon()使用

    linux系统编程之进程(八):守护进程详解及创建,daemon()使用 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等 ...

  2. Linux进程最大socket数,Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

  3. linux修改zip中文件,Linux下修改jar、zip等文件内的文件详解

    Linux下修改jar.zip等文件内的文件详解 Linux下修改jar.zip等文件内的文件详解 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或z ...

  4. linux shell 字符串操作(长度,查找,替换)详解 BASH

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  5. Linux 创建网页服务,Linux使用Node.js建立访问静态网页的服务实例详解

    Linux使用Node.js建立访问静态网页的服务实例详解 一.安装node.js运行所需要的环境,: 二.创建node目录(/node/www),并在目录下创建node.js服务文件server.j ...

  6. linux服务器3306端口,linux系统对外开放3306、8080等端口,防火墙设置详解

    linux系统对外开放3306.8080等端口,防火墙设置详解 发布时间:2020-10-10 23:08:49 来源:脚本之家 阅读:141 作者:julielele 栏目:服务器 我们很多时候在l ...

  7. linux两台服务器传输,Linux两台服务器之间高速数据传输命令:scp应用详解

    Linux两台服务器之间高速数据传输命令:scp应用详解 Linux scp命令用于Linux之间复制文件和目录到另外一台,这个命令在多台服务器之间传输还是非常有用的,速度也是非常快的.比window ...

  8. linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  9. SSO单点登录三种情况的实现方式详解

    SSO单点登录三种情况的实现方式详解 单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子 ...

  10. php中读取大文件实现方法详解

    php中读取大文件实现方法详解 来源:   时间:2013-09-05 19:27:01   阅读数:6186 分享到:0 [导读] 本文章来给各位同学介绍php中读取大文件实现方法详解吧,有需要了解 ...

最新文章

  1. SQLite的事务和锁
  2. python输出姓名年龄_Python格式化输出--%s,%d,%f的代码解析
  3. Github GUI 托管代码教程
  4. 华 为 路 由 器 命 令 大 全
  5. StarkSoft题库管理系统(二)--生成word格式试卷
  6. 设计字体打包_再也不用熬夜设计字体了!525款世界级绝美PS字体包免费送
  7. 西游中算命先生袁守诚泄露了天机,为何却是泾河龙王被砍头?
  8. 正弦函数_傅里叶为什么会想到把函数展开为正弦波
  9. Pytorch和Torchvision版本对应
  10. -1交替c语言代码,排序(1)---------选择排序(C语言实现)(示例代码)
  11. 路由与交换技术(交换机中的冗余链路管理)
  12. GNSS相关开源项目整理
  13. qq邮箱sina邮箱服务器拒绝,为什么有的qq邮箱,新浪这边邮不过去呢?
  14. ctf的flask模板注入config、current_app、url_for和get_flashed_messages(转自浩哥)
  15. power automate功能概述与学习实践(Microsoft Flow)
  16. JavaScript处理json数据(对象,数组,集合)
  17. 在线机器学习算法及其伪代码
  18. 基于51单片机的篮球计分器
  19. 微信小程序实现导航功能
  20. Graphics2D进行后台绘图

热门文章

  1. 基于matlab的网络通信RSRP切换仿真
  2. JavaScript异步编程(1)- ECMAScript 6的Promise对象
  3. 创翼NetKeeper校园网连接时出现118错误
  4. 二维码制作软件----如何让二维码内容换行显示
  5. 基于Python的指数基金量化投资——指数数据获取
  6. Qt 图片 等比例显示、放大、缩小、平移图像 显示
  7. uefi引导固态硬盘ssd装win10(不用U盘)
  8. 华为荣耀路由器虚拟服务器,荣耀路由器怎么设置?
  9. Spring Cloud Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)
  10. mysql中复杂sql语句之多重if嵌套语句