Linux篇 | 用户、组和权限(二)

用户和组的管理命令

用户管理命令

  • useradd
  • usermod
  • userdel

    组账号维护命令

  • groupadd
  • groupmod
  • groupdel

    一.用户创建:useradd

    1.创建用户

    默认值设定:/etc/default/useradd(查看命令“useradd -D”)

    注释:
    1.当我们创建用户不使用参数时(例如useradd 用户名),用户的UID、家目录等信息有一个默认值,就存放在/etc/default/useradd文件里。
    2.当我们创建好用户,查看用户家目录会发现里面有一些隐藏文件,这些隐藏文件的模板就存放在/etc/skel文件夹里,并且这些模板也是隐藏文件,查看使用“ls -a /etc/skel”。重要的是,如果我们在/etc/skel文件夹里创建文件(不区别创建的是否是隐藏文件),在新建用户后,查看该用户家目录的隐藏文件,会发现你创建的那个文件。

显示或更改默认设置

创建用户的格式:
useradd [options] LOGIN
>[options]选项参数如下:
>-u UID
>-o 配合-u 选项,不检查UID的唯一性
>-g GID 指明用户所属基本组,可为组名,也可以GID
>-c "COMMENT“ 用户的注释信息
>-d HOME_DIR 以指定的路径(不存在)为家目录
>-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
>-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
>-N 不创建私用组做主组,使用users组做主组
>-r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
>-m 创建家目录,用于系统用户
>-M 不创建家目录,用于非系统用户

创建用户的参数还可以搭配使用
>useradd -d
>useradd –d -s SHELL
>useradd –d –b BASE_DIR
>useradd –d –g GROUP

练习题

1.创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为
"Gentoo Distribution"
2.创建下面的用户、组和组成员关系:
名字为webs 的组
用户nginx,使用webs 作为附加组
用户varnish,使用webs 作为附加组
用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,
mysql密码都是magedu

新建用户的相关文件和命令

  • /etc/default/useradd
  • /etc/skel/*
    上面两个文件在“注释”里已说明
  • /etc/login.defs

    此文件定义了新建用户账户全部的默认设置

  • newusers 批量创建用户,密码不会被同步,所以配合chpasswd批量创建密码

    命令格式:newusers 特定格式的文件
    批量创建用户示例:
    >1.在Linux系统centos7,复制/etc/passwd文件里的用户到新文件user.txt(注意用户格式)
    >2.将文件user.txt传输到另一个Linux系统centos6
    >3.在centos6上批量创建用户:newusers user.txt
    >4.查看是否批量创建成功:getent passwd
    >注意:这些批量创建的用户没有密码口令,所以要借助下面的命令“chpasswd”来批量创建口令。

  • chpasswd 批量修改用户的密码口令,一般配合上面的newusers使用

    单个修改用户密码口令
    >echo 用户名:密码 | chpasswd

    批量修改用户密码口令
    >1.创建一个密码文件passwd.txt(格式:每行“用户名:密码”)
    >2.批量修改密码 cat passwd.txt | chpasswd
    >3.验证(每设置或修改一个东西,都要验证,这样出错后立马就能知道,而且考试如果没有验证步骤直接挂)

2.修改用户属性

一般创建用户后不会经常修改用户的属性,在搭建服务用不同用户测试的时候可能会较多用到。

命令格式:usermod [OPTION] login
>[options]选项参数如下:
>-u UID: 新UID
>-g GID: 新主组
>-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被
覆盖;若保留原有,则要同时使用-a选项
>-s SHELL:新的默认SHELL
>-c ‘COMMENT‘:新的注释信息
>-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,
同时使用-m选项
>-l login_name: 新的名字
>-L: lock指定用户,在/etc/shadow 密码栏的增加"!"号
>-U: unlock指定用户,将 /etc/shadow 密码栏的"!"号拿掉
>-e YYYY-MM-DD: 指明用户账号过期日期
>-f INACTIVE: 设定非活动期限(即不登录多少天就锁住)

3.删除用户

命令格式:userdel [OPTION]... login
>[options]选项参数如下:
>-r: 删除用户家目录
>注意:带“r”删除用户,是删除用户和用户的数据
不带“r”删除用户,只删除用户,用户的数据删除不了。

4.查看用户相关的id信息

经常用来,判断这个用户存在不存在。

命令格式:id [OPTION]... [USER]
>[options]选项参数如下:
>-u: 显示UID
>-g: 显示GID
>-G: 显示用户所属的组的ID
>-n: 显示名称,需配合ugG使用

5.切换用户或以其他用户身份执行命令

切换用户分两种:“部分切换”和“完全切换”,二者不用比较用哪个好,根据不同的需求进行选择。区分二者,可以查看家目录进行区分,我一般喜欢用完全切换。重要的是,切换用户后,想退出,一定要输入“exit”退出,而不是“用切换命令切换到以前的用户”!

命令格式:su [options...] [-] [user [args...]
部分切换:su 用户名
完全切换:su - 用户名

  • 完全切换到管理员root:“su -”和“su - root”
  • root 切换至其他用户无须密码;非root用户切换时需要密码
  • "su -"与“su -l”和“su --login”的效果一样,但一般用"su -",比较方便。

有时候我们切换到root,只是想查看一个普通用户没有权限的文件,可切换过去,看完再切换回来会很麻烦,有一个“- c”的参数可以解决此问题。

示例:普通用户niubin切换root用户查看文件,查看完直接退出
格式:su - root -c "cat 文件路径"

6.设置密码

命令格式:passwd [OPTIONS] UserName
修改指定用户的密码,常用选项如下:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码,这个选项很常用,示例如下:
>echo "用户要设置的密码" | --stdin 用户名

7.修改用户密码策略

命令格式:chage [OPTION]... LOGIN
使用此命令和修改“/etc/shadow”文件一样,但建议使用命令修改,不要修改“/etc/shadow”文件。常用的选项如下:
-d LAST_DAY
-E --expiredate
-I --inactive
-m --mindays
-M --maxdays
-W --warndays
-l 显示密码策略

示例:
chage -d 0 tom 下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom

二.组创建:group

1.用户组的创建

命令格式:groupadd [OPTION]... group_name
常用选项如下:
-g GID 指明GID号;
-r 创建系统组(CentOS 6: ID<500;CentOS 7: ID<1000)

2.修改组的属性

命令格式:groupmod [OPTION]... group
常用选项如下:
-n group_name: 新名字
-g GID: 新的GID

3.删除组

groupdel GROUP
注意:我们删除一个组时可能会报错说删除不了,是因为这个组是一个用户的主组,想要删除这个组,先把这个用户删除在删这个组。(或者把这个用户的主组指定到别的组)

4.更改组的密码(控制辅助组,不是主组)

命令格式:gpasswd [OPTION] GROUP
常用选项如下:
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表

临时切换主组(不常用)

newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码

5.更改和查看组成员(控制辅助组,不是主组)

命令格式:groupmems [options] [action]
常用选项如下:
>-g, --group groupname 更改为指定组 (只有root)

常用参数如下:
>-a, --add username 指定用户加入组
>-d, --delete username 从组中删除用户
>-p, --purge 从组中清除所有成员
>-l, --list 显示组成员列表

groups [OPTION].[USERNAME]... 查看用户所属组列表

传统文件权限

一.文件属性

使用"ls -l 文件名"或"ll 文件名"查看文件的属性,如上图所示。下面我们具体聊聊文件属性格式7个分段的含义:

1.“文件所有者”和“文件所属组”

和表面意思一样,“文件所有者”和“文件所属组”不做多解释。重点需要知道怎么改“文件所有者”和“文件所属组”。

  • chown 设置文件的所有者
  • chgrp 设置文件的属组信息
修改文件的属主(所有者)和属组(所属组)

修改文件的属主:chown
>chown [OPTION]... [OWNER][:[GROUP]] FILE...
>chown [选项] [所有者]:[所属组] 文件 (冒号可以用“.”代替)
>选项有:-R 递归

修改文件的属组:chgrp
>chgrp [OPTION]... GROUP FILE...
>chgrp [选项] [所属组] 文件 (冒号可以用“.”代替)
>选项有:-R 递归

2.文件权限

文件的权限主要针对三类对象进行定义
  • owner 属主, u
  • group 属组, g
  • other 其他, o
每个文件针对每类访问者都定义了三种权限
  • r Readable (读取)
  • w Writable (修改)
  • x eXcutable(执行)

    文件:
    >r 可使用文件查看类工具获取其内容
    >w 可修改其内容
    >x 可以把此文件提请内核启动为一个进程

目录(文件夹):
>r 可以使用ls查看此目录中文件列表
>w 可在此目录中创建文件,也可删除此目录中的文件
>x 可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
>X 只给目录x权限,不给文件x权限

文件的类别

可以看到文件属性最开始的字符是“-”,这个代表文件,“d”代表目录,“”

3.文件权限操作

文件权限操作命令:chmod
文件权限(rwx|X)

文件权限操作分两种:“模式法”和“数字法”

  • 重点:目录里的文件能不能删除,在于“用户对目录”有没有删除的权限,而不是“用户对目录里文件”有没有删除的权限。(删文件是修改了目录的属性如节点编号)
  • 大写“X”权限只能加在目录上,代表的含义是:给此目录和子目录添加“执行”权限,对于子文件,如果原来“属主、属组、其他人”这任意一个有“执行”的权限,那目录添加大写“X”权限后,子文件都有执行的权限;如果子文件原来没有执行权限,那目录添加大写“X”权限后,子文件不会有“执行”权限。
模式法

格式:chmod who opt per file
who:u(属主),g(属组),o(其他人),a(所有人,包含u,g,o)
opt:+(添加),-(删除),=(等于)
per:r(读取),w(修改),x(执行)
>示例:给文件f1.txt的属主添加“rw”的权限
>chmod u+rw f1.txt
>或者chmod u=rw f1.txt

数字法

原理:
>数字法是根据模式法来的。它把有权限的用1表示,没权限的用0表示,然后得出
>3组由0和1组合的数字。把这3组数字看做二进制,接下来我们把二进制转换为
>十进制,得出3个数字,如下面示例:
属主 属组 其它人
> rwx rw- r--
> 111 110 100(有权限的用1表示,没权限的用0表示)
> 7 6 4(转换为十进制)
>由上面总结得出:r=4;rw=6;rwx=7最后就是r=4,w=2,x=1

r = 4
w = 2
x = 1
例如:
640 rw-r-----
755 rwxr-xr-x
0 --------- (0表示什么权限都没有)

命令格式:chmod 数字 文件或文件夹

面试题

  • 提问:用户wang复制一个文件到一个目录,需要什么权限。
    答:用户wang对文件有读取的权限,对目录有写和执行的权限,这两个是最基础的。
  • 提问:用户mysql删除了自己的家目录,怎么恢复?
    答:分三步。
    1. cp -a /etc/skel /home/mysql 复制用户家目录的隐藏文件,每个用户都有,模板是"/etc/skel"文件夹里的隐藏文件。
    2. chown -R mysql:mysql /home/mysql/ 更改用户家目录其里面的文件和文件夹的“属主、属组"
    3. chmod 700 /home/mysql 更改用户mysql的家目录的“属主、属组”
      4.ls -alR /home 查看

3.文件和文件夹的默认权限

1.间接修改

有时候我们发现,“管理员root创建的文件和文件夹”与“普通用户创建的文件和文件夹”的权限不一样。比如说:root新建文件的权限都是“622”,普通用户新建的文件全是“755”。这是因为系统有一个指令“umask”,它间接的影响了新建文件和文件夹的权限。

直接输入umask可看到umask的值。

因为“执行”权限的操作很危险,如果一个病毒脚本拥有了“执行”权限,后果是你运行这个文件就会中病毒。可谁知道它是不是病毒文件呢?所以,系统默认将文件的“执行”权限都去掉了,文件夹如果去掉“执行”权限就进入不了文件夹,所以没被去掉。
而我们新建文件和新建文件夹的权限是怎么来的呢?就是(umask公式):

0777 - umask值 = 新建文件夹权限
0666 - umask值 = 新建文件权限

结论:umask的值越大,新建文件和文件夹的权限就越小,系统就越安全。

修改umask

  • 临时生效,退出后就会失效:umask 数字
  • 永久生效:只对当前用户永久生效。编辑用户家目录的隐藏文件“.bashrc”,添加“umask 数字”,退出重新登录后生效。如不想退出,使用“source 文件路径”可立马生效。
  • 对所有用户永久生效(不建议):修改“/etc/bashrc”,添加“umask 数字”,“source 文件路径”立马生效。但是,不建议修改此文件,会不稳定!!!
2.正确修改umask

上面说的umask公式其实不准确,是有错误的。比如说:

设置umask的值是145,那root新建文件的权限是666-145=521.
属主和其他人都有“执行”权限,这样很危险。
新建文件,查看权限可得出,权限是622,并不是521.
新建文件夹的权限是632.所以这个公式对文件夹是有效的,没问题的。

那新建文件的权限到底是怎么算出的呢?
原理:
假设设置umask的值是145,那么文件权限值的算法过程如下。
第一步:转换十进制为二进制“666转成110110110”,“145转成001100101”
第二步:将“umask的二进制”和“666的二进制”进行对位,“umask的二进制”是0的,“666的二进制”相应的位保持不变,例如是1就是1。“umask的二进制”是1的,“666的二进制”相应的位也是1,那么1变为0;如果不是1是0,那么保留“666的二进制”位。
转换前:
110110110
001100101
转换后:
110010010
第三步:将转换后的二进制,三个位为一组,在转换为十进制,得出结果是622.

简便算法:

权限值= “666 - umask值(结果有奇数,奇数加1;偶数保留)”

总结:

  1. 对目录:权限值 = 777 - umask值;对文件:权限值= “666 - umask值(结果有奇数,奇数加1;偶数保留)”
  2. umask -p 可用于重定向,比如重定向到用户的家目录的“.bashrc”文件。
  3. 用户家目录“.bashrc”文件里,如果有两条设置umask的命令,那么最下面那条生效。会覆盖上面的命令。
  4. 查看umask的值:umask(或者 umask -S )

特殊权限

  • SUID, SGID, Sticky
  • 数字法表示“SUID, SGID, Sticky”是“4,2,1”
  • 三种常用权限:r, w, x --> user, group, other
  • 安全上下文
  • 前提:进程有属主和属组;文件有属主和属组
    (1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有
    执行权限
    (2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
    (3) 进程访问文件时的权限,取决于进程的发起者
    (a) 进程的发起者,同文件的属主:则应用文件属主权限
    (b) 进程的发起者,属于文件属组;则应用文件属组权限
    (c) 应用文件“其它”权限

1.SUID权限

  • SUID作用:作用于二进制可执行的文件的所有者位上
  • SUID功能:执行此文件的用户将临时继承此文件所有者的权限
  • SUID只对二进制可执行程序有效
  • SUID设置在目录上无意义
  • 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有
    执行权限
  • 启动为进程之后,其进程的属主为原程序文件的属主
  • 有SUID权限的文件都是红色的

权限设定:
chmod u+s 文件路径
chmod u-s 文件路径

2.SGID权限

可执行文件上的SGID权限

  • SGID作用:作用于二进制可执行的文件的所属组位上
  • SGID功能:执行此文件的用户将临时继承此文件所属组的权限
  • 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有
    执行权限
  • 启动为进程之后,其进程的属组为原程序文件的属组

权限设定:
chmod g+s 文件路径
chmod g-s 文件路径

目录上的SGID权限

  • SGID作用:作用于目录的所属组位上
  • SGID功能:此目录中新建文件的所属组将自动从此目录继承
  • 默认情况下,用户创建文件时,其属组为此用户所属的主组
  • 一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件
    所属的组为此目录的属组
  • 通常用于创建一个协作目录

权限设定:
chmod g+s 目录路径
chmod g-s 目录路径

3.Sticky

  • sticky作用:作用在目录
  • sticky功能:此目录的文件只能被所有者或root删除
  • sticky设置在文件上无意义
  • sticky只作用在“其它人”位上

设定文件特定属性

因为root账户权限太大,容易误删除。通过设定文件特定属性,约束root账户。

  • “chattr +i 文件路径” 使用此命令,所以用户包括root不能“删除、改名、更改”文件
    注释:“chattr”修改的不是文件的权限,而是文件的特殊属性
  • “chattr +a 文件路径” 只能追加内容,不能删除文件和修改文件里的内容。
  • "lsattr 文件路径" 显示文件特定属性

总结

特殊权限 和 特殊属性 依赖Linux的文件系统,如果换一个文件系统,使用特殊权限和特殊属性的命令将不生效,例如Windows系统的“NTFS32文件系统”

访问控制列表

上面的权限设置(基本权限、特殊权限、特殊属性)都属于“传统权限”,操作起来很麻烦,有的功能还无法实现(例如用root用户创建一个文件,在文件原有属性不变的情况下,让用户wang不能访问,传统的就不行,但ACL可以。),只能控制(属主、属组、其他人)简单的权限。不如ACL强大,下面我们来说明ACL。

  • ACL:Access Control List,实现灵活的权限管理
  • ACL生效顺序:所有者,自定义ACL用户,自定义ACL组,其他人
  • 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
  • CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
  • CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
    tune2fs –o acl /dev/sdb1
    mount –o acl /dev/sdb1 /mnt/test

1.添加ACL

setfacl -m u:用户名:权限 文件或目录
setfacl -m g:组名:权限 文件或目录

添加ACL权限后,查看文件属性会出现+号。并且,添加了ACL权限后,所属组的权限不是所属组了,是ACL中mask的权限,具体解释在下面的“查看ACL”。

2.删除ACL

  • setfacl -x u:用户名 文件或目录
  • setfacl -X 文件或目录
  • 有时候使用“-x”参数删除ACL后,在查看文件或目录会看到“+”号依然存在,证明删除ACL不彻底,那么就可以使用setfacl -b 文件或目录(目录要加-R参数)就可以彻底清除ACL,达到还原文件或目录权限属性的效果。

3.查看ACL

getfacl 文件或目录

示例:

  • mount -o acl /directory因为Centos7之前的ACL不是默认安装,所以用到ACL需要安装。这个命令是“给目录挂载特殊权限ACL”,“-o”参数是挂载特殊权限的意思。
  • getfacl file |directory查看文件或目录的ACL
  • setfacl -m u:wang:rwx file|directory给用户设置ACL权限
  • setfacl -Rm g:sales:rwX directory递归的给目录及其里面的文件设置组的ACL
  • setfacl -M file.acl file|directory将ACL权限设置在文件里,通过调用文件,设置文件或ACL的权限。
  • setfacl -m g:salesgroup:rw file| directory给组设置ACL权限
  • setfacl -m d:u:wang:rx directory参数“-d”是给文件或目录设置默认的ACL权限,之后再次目录下创建文件会继承目录的权限,相当于“继承”的效果
  • setfacl -x u:wang file |directory删除用户ACL的权限
  • setfacl -X file.acl directory参数“-X”是删除“file.txt”文件里的权限,可参考“-M”参数

查看f1.txt的ACL,如下所示:

注意:

设置了ACL后,“ll 文件”(查看文件属性),所属组的权限就不是所属组了,是mask的权限了

"mask"的作用

1.作用:
>限制文件或目录的最好权限,所用用户、组的权限都不能比mask的权限>高

2.适用性:
>比如一个文件给10个用户设置了ACL,我的用户权限高,有的低,后>来感觉不安全,要把10个用户的权限设置小一点,一般就得一个一个的去改,但是>直接设置mask的权限,所有用户不能超过mask权限,就能很快的解决问题,不用>再每一个去设置。

3.更改“mask”权限
>1.setfacl -m mask::权限(rwx) 文件---》两个“:”号之间的是mask原来的>>权限
>2.chmod g=rw 文件 --->设置“文件”的mask为“读写”的权限

4.总结:
>更改所属组的权限就是更改“mask”权限,所以用传统命令"chmod"更改所属组的>>权限后,“mask”权限也会被更改。
>更改文件ACL的权限后,“mask”权限也会更改
>更改“mask”权限后,其他所有的用户和组就不能超过“mask”权限。

4.备份和恢复ACL

1.备份或复制一个文件或目录,想保留原有的权限和属性,包括ACL,使用“-p”、“-a”参数。例如:cp -p 源文件/目录 目标文件/目录
2.主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是
tar等常见的备份工具是不会保留目录和文件的ACL信息
>恢复示例:
>getfacl -R /tmp/dir1 > acl.txt(把/tmp/dir1里的所有文件放到acl.txt文件)
>setfacl -R -b /tmp/dir1(彻底清空/tmp/dir1的ACL权限)
>setfacl -R --set-file=acl.txt /tmp/dir1(使用--set-file=acl.txt把/tmp/dir1的ACL权限恢复)
>setfacl --restore acl.txt(“--set-file=acl.txt”参数和“--restore acl.txt”效果等同)
>getfacl -R /tmp/dir1(查看/tmp/dir1里所有文件的ACL权限)

5.其他ACL命令参数:

setfacl -k 目录 (清除默认的ACL权限,可参考“-d”参数)
setfacl -b 文件 (清除所有ACL权限)
getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2
--set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含
UGO的设置,不能象-m一样只是添加ACL就可以
>示例:

>>setfacl --set u::rw,u:wang:rw,g::r,o::- file1

6.练习题

  • 在/testdir/dir里创建的新文件自动属于webs组,组apps的成员如:
    tomcat能对这些新文件有读写权限,组dbs的成员如:mysql只能对新文
    件有读权限,其它用户(不属于webs,apps,dbs)不能访问这个文件夹
  • 备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中,清除
    /testdir/dir中所有ACL权限,最后还原ACL权限

原文地址:https://blog.51cto.com/13465487/2364600

时间: 2024-10-23 22:54:41

Linux篇 | 用户、组和权限(二)的相关文章

Linux用户,组和权限管理

用户,组,权限 一.了解什么是用户,组和权限 1.对于linux系统来说,简单明了的特点就是多用户,多任务,也就是说一台linux系统的主机上面可以同时允许多个用户登录,当通过多个终端登录时可以同时使用这台linux的系统,然而对于linux习题来说,一切皆文件,别人和自己的工作任务都是以文件的形式存在的,不同的用户之间岂不是没有隐私或者安全而言,其实在linux上不是这样的,我们可以理解linux把每一个用户分配一间屋子,没有钥匙即权限我们是进不去浏览以及修改文件的,但是既然是一间屋子,那当然

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

Linux之acl库的安装与使用(限制Linux某用户的访问权限)

acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行make cd acl make 注意: [因为acl是由c/c++编写的,需要提前安装好gcc, g++] 安装到用户根目录: make packinstall 一般到这儿就能编译安装成功了,在/user/include/ 目录下会有acl-lib目录. 如果是centos系统,可直接安装 yum

Linux给用户添加sudo权限

linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be reported. 这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决: 进入超级用户模式.也就是输入" su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式.(当然,你也可以直接用root用) 添加文件的写权限.也就是输入命令" chmod

linux给用户加入sudo权限

linux给用户加入sudo权限: 有时候,linux以下执行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be reported. 这里,xxx是username称.然后导致无法运行sudo命令,这时候,例如以下解决: 进入超级用户模式. 也就是输入"su -",系统会让你输入超级用户password,输入password后就进入了超级用户模式.(当然.你也能够直接用root用) 加入文件的写权限.也

Linux下用户-组权限配置

cat /etc/group cat /etc/ashadow 一.用户管理 1.添加用户 #useradd 用户名 useradd php100;用cat /etc/passwd查看 分析:php100是创建的用户名 x表示密码占位符 因为passwd文件是每个用户都有权限 所以直接显示是不安全的.密码存在了/etc/shadow文件中 1000表示用户id 1001表示用户所在的组id /home/php100表示家目录 末尾如果是bash表示可以登录系统 如果是nologin表示无法登录操

Linux之用户管理与权限控制(上)

早期Linux系统设计为了能够实现多用户.多进程高效的利用服务器资源,在此种情况下,为了能够保证用户与用户之间的文件不被随意的访问及修改.删除等操作,用户.组的管理能在某种程序上实现管理用户或批量管理用户.由于Linux的设计哲学思想『一切皆文件』,用户对设备的访问就是对文件的访问. 一.用户与组 Linux下有三类用户 1.超级用户: root 具有操作系统的一切权限 UID 值为0 2.普通用户: 普通用户具有操作系统有限的权限, UID值 500+ 3.伪用户: 是为了方便系统管理, 满足

Python学习第四天----Linux之用户与用户组权限

Linux的用户及用户组管理 Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也能帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和用户口令.用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录. 添加用户命令示例:useradd  test_user   即可创建用户test_

用户 组 和权限 以及权限的 分类

关于文件的安全我们要从3A验证 说起 1  Authentication:认证 2  Authorization:授权 3  Accouting|Audition:审计 由于系统文件的用户太多为了便于管理 我们便把系统的用户 进行分类 赋予权限 合理地分配资源 所以今天介绍的是 系统用户 用户组 的一些权限的 分配 修改 和文件的 权限修改 和赋权 以及一些特殊权限的用法 用户的分类 管理员:root 0 普通用户:1-65535 系统用户:1-499(CENTOS6) 1-999 对守护进程获