CentOS_note_2

本贴最后更新于 2780 天前,其中的信息可能已经时移俗易

Linux 用户

每一个用户都有一个 userid,root 用户的 id 为 0(root 不一定是 root,0 才是 root)

一般的用户 id 在 500 以上,限制在 2 的 32 次方以下


 /etc/passwd  * 保存用户的信息

 /etc/shadow  * 保存用户的密码(加密)

 /etc/group   * 保存组信息

查看登录的用户

whoami

who

w

创建一个用户

useradd [yourname]

查看/etc/passwd 就可以看见新创建的用户

背后创建的步骤

  1. 添加用户信息至/etc/passwd

  2. 设了密码的话(passwd [username])就添加密码信息至/etc/shadow

  3. 创建一个新的家目录到/home/下

  4. 复制/etc/skel 下的文件到用户家目录下

  5. 新建一个组,名字和用户名相同

skel 中存放的都是用户刚建立的初始文件。所以如果在这里面放自定义的文件,之后每一个新创建的用户都会有这个文件

修改及删除用户信息

usermod

-L 还可以锁定用户使其不能登录

userdel

-r 带着个参数可以连同家目录一起删除

关于组的创建和修改类似用户的操作。

权限

r, w, x 三种权限

对于目录来说,必须拥有 x 权限,否则就无法查看其内容,目录单有 r 权限没有意义。

chown 如果是文件夹,-R 参数可以递归修改文件夹以及内部的所有文件的所属,否则只修改文件夹不改文件。

chgrp 同上

chmod 改权限

关于默认权限

每一个文件或者目录创建初都会有一个默认权限,使用 umask 属性(如 022)来确定。

于是每一个目录的权限:777-umask; 每一个文件的权限:666-umask。

umask [number] 修改值

特殊权限

suid :指定文件以所属用户身份执行,而不看操作用户。

例如:在 linux 中用户的信息保存在 passwd 的文件里,而其中密码和有效期等隐秘信息都是映射到另一个 shadow 文件中,以防止信息暴露。但是这时就会存在问题,如果某一个用户需要修改自己的密码,总不能去 shadow 直接改啊,或者每次改密码都要找 root 用户,太麻烦,于是系统给了 passwd 一个 suid 权限,允许用户在使用 passwd 命令改自己的密码的时候,是以 root 的身份去改(passwd 文件属于 root 用户),从而映射到 shadow 文件内,而且同时用户是不能动其他用户的东西的。

sgid : 在目录中,创建的所有新文件的所属组均和该目录的所属组相同

sticky : 可以删除目录中自己拥有的具有写写权限的文件,而限制他删除其他用户拥有的文件

例如: 两个用户的文件保存在一个目录下,这个时候因为需要给目录写的权限,因为两个用户都要传文件,但是又不希望对方用户删除我方用户拥有的文件(毕竟目录对 other 有了写权限基本就是什么人什么都可以改)。所以使用这个特殊权限可以解决这个问题,你们还是可以在一个文件夹下面,但是别人不能删你的东西(总会有恶作剧和仇恨值...)。

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖
  • 权限
    24 引用 • 67 回帖

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...