Linux用户权限管理命令

Linux用户权限管理命令,第1张

Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份z一样)用来标识系统的用户账号(用户名)。

文件的用户与用户组分为超级管理员,普通用户和系统用户。

1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。

2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能 *** 作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。

3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。

我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:

创建用户

useradd user1创建用户user1

useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30

设置用户密码

passwd user1设置密码,有设置密码的用户不能用

这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题

这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的passwordrequisite

和passwordsufficient两行注释掉,如下图:

创建用户组

groupadd –g 888 users 创建一个组users,其GID为888

groupadd users 不用g参数,使用默认的组ID

命令 gpasswd为组添加用户

只有root和组管理员能够改变组的成员:

gpasswd –a user1 users 把 user1加入users组

gpasswd –d user1 users 把 user1退出users组

命令groupmod修改组

groupmod –n user2 user1 修改组名user1为user2

groupdel删除组

groupdel users 删除组users

真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。

在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组,当然root用户可以修改任何文件的拥有者及用户组。在Linux中,对于文件的权限(rwx),分为三部分,一部分是该文件的拥有者所拥有的权限,一部分是该文件所在用户组的用户所拥有的权限,另一部分是其他用户所拥有的权限。对于文件的权限请参考《Linux的chmod命令》

文件(含文件夹,下同)的权限,在shell中可以通过chmod命令来完成,关于此请参考《Linux的chmod命令》。在

shell

中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在

Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。

另外,在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。

二、使用chown命令更改文件拥有者

shell

中,可以使用chown命令来改变文件所有者。chown命令是change

owner(改变拥有者)的缩写。需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在

/etc/passwd这个文件中有记录的用户名称才可以。

chown命令的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上

-R的参数即可。

基本语法:

chown

[-R]

账号名称

文件或目录

chown

[-R]

账号名称:用户组名称

文件或目录

参数:

-R

:

进行递归(

recursive

)的持续更改,即连同子目录下的所有文件、目录

都更新成为这个用户组。常常用在更改某一目录的情况。

示例1:

[root@localhost

home]#

touch

testfile

//由

root

用户创建文件

[root@localhost

home]#

ls

testfile

–l

-rw--w--w-

1

root

root

0

Jun

7

19:35

testfile

//文件的拥有者及拥有者级均为

root

[root@localhost

home]#

chown

yangzongde

testfile

//修改文件拥有者为

yangzongde

[root@localhost

home]#

ls

testfile

-l

-rw--w--w-

1

yangzongde

root

0

Jun

7

19:35

testfile

//查看文件拥有者为

yangzongde,但组仍为

root

示例2:

chown

bin

install.log

ls

-l

-rw-r--r--

1

bin

users

68495

Jun

25

08:53

install.log

chown

root:root

install.log

ls

-l

-rw-r--r--

1

root

root

68495

Jun

25

08:53

install.log

三、使用chgrp命令更改文件所属用户组

在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change

group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在

/etc/group里存在,否则就会显示错误。

基本语法:

chgrp

[-R]

用户组名称

dirname/filename

...

参数:

-R

:

进行递归(

recursive

)的持续更改,即连同子目录下的所有文件、目录

都更新成为这个用户组。常常用在更改某一目录的情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8663935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存