linux账号和权限管理

Posted 还行少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux账号和权限管理相关的知识,希望对你有一定的参考价值。

Linux中的用户分类

root超级用户,类似Windows中的adminstrator用户,拥有一切权限
程序用户用于维持系统或某个程序的正常运行,一般不允许登录到系统
普通用户一般只在用户自己的宿主目录有完全权限

用户账号文件

/etc/passwd

[root@localhost /]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

字段1 用户账号的名称
字段2 用户密码占位符“x”
字段3 用户账号的UID号
字段4 所属基本组账号的GID号
字段5 用户全名
字段6 宿主目录
字段7 登录shell信息

/etc/shadow

[root@localhost /]# head -n 1 /etc/shadow
root:$6$mrWvcUrW$3rOnzboEF/VjXKD//k5Gk6QZVMlDcmce8DAB8R9eAEbZwlNLyN8XC0kBNYNe6GJmHt8XAqfetQ52joD/Y3vzM1:18739:0:99999:7:::

字段1 用户账号的名称
字段2 加密的密码字串信息
字段3 上次修改密码的时间
字段4 密码的最短有效天数,默认值为0
字段5 密码的最长有效天数,默认值为99999
字段6 提前多少天警告用户口令将过期,默认值为7
字段7 在密码过期之后多少天禁用此用户
字段8 账号失效时间,默认为空
字段9 保留字段(未使用)

用户管理

添加用户 useradd

[root@localhost /]# useradd zhangsan
[root@localhost /]# tail -n 1 /etc/passwd
zhangsan:x:1002:1002::/home/zhangsan:/bin/bash
[root@localhost /]# 

-u:指定宿主UID
-d: 指定宿主目录
-e :指定账户失效时间
-g :指定用户基本组
-G:指定用户附加组
-M:不建立宿主目录
-s :指定用户登录shell

删除用户 userdel (选项-r 表示连用户宿主目录一起删除)

[root@localhost /]# userdel -r zhangsan
[root@localhost /]# tail -n 1 /etc/passwd
nginx:x:987:981:Nginx web server:/var/lib/nginx:/sbin/nologin
[root@localhost /]# 

密码管理 passwd
创建密码 passwd 用户名

[root@localhost /]# useradd zhangsan
[root@localhost /]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost /]# 

组账号文件

/etc/group

[root@localhost ~]# head -n 1 /etc/group
root:x:0:

/etc/gshadow

[root@localhost ~]#  head -n 1 /etc/gshadow
root:::

组管理

创建组 groupadd

[root@localhost ~]# groupadd test
[root@localhost ~]#  tail -n 1 /etc/group
test:x:1001:
[root@localhost ~]# 

指定GID创建组 group -g

[root@localhost ~]# groupadd -g 1005 test1
[root@localhost ~]#  tail -n 1 /etc/group
test1:x:1005:
[root@localhost ~]#  tail -n 2 /etc/group
test:x:1001:
test1:x:1005:
[root@localhost ~]# 

向组内添加用户 gpasswd -a

[root@localhost ~]# gpasswd -a tset test1
正在将用户“tset”加入到“test1”组中
[root@localhost ~]# tail -n 1 /etc/group
tset:x:1006:
[root@localhost ~]# 

将用户添加到组内(只有添加的用户) gpasswd -M

[root@localhost ~]# useradd zhangsan
[root@localhost ~]# useradd lisi
[root@localhost ~]# groupadd test
[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:
[root@localhost ~]# gpasswd -a zhangsan test
正在将用户“zhangsan”加入到“test”组中
[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:zhangsan
[root@localhost ~]# gpasswd -M lisi test
[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:lisi
[root@localhost ~]# gpasswd -M lisi,zhangsan test
[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:lisi,zhangsan
[root@localhost ~]# 

将用户从组中删除 gpasswd -d

[root@localhost ~]# gpasswd -d zhangsan test
正在将用户“zhangsan”从“test”组中删除
[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:lisi
[root@localhost ~]# 

将组更名 groupmod -n

[root@localhost ~]# tail -n 1 /etc/group
test:x:1003:lisi
[root@localhost ~]# groupmod -n test1 test
[root@localhost ~]# tail -n 1 /etc/group
test1:x:1003:lisi
[root@localhost ~]# 

删除组 groupdel

[root@localhost ~]# groupdel test1
[root@localhost ~]# tail -n 1 /etc/group
lisi:x:1002:
[root@localhost ~]# 

查看用户属组 groups

[root@localhost ~]# groups lisi
lisi : lisi

查看用户身份标识 id

[root@localhost ~]# id lisi
uid=1002(lisi) gid=1002(lisi)=1002(lisi)
[root@localhost ~]# 

权限管理

linux中将权限分为 可读(r,4),可写(w,2),可执行(x,1)
目录默认权限755
文件默认权限644

[root@localhost ~]# ll 1
-rw-r--r--. 1 root root 0 5月  1 14:12 1

修改文件权限 chmod

给文件添加可执行权限 chmod +x

[root@localhost ~]# chmod +x 1
[root@localhost ~]# ll 1
-rwxr-xr-x. 1 root root 0 5月  10 14:12 1

赋予文件可读可写可执行权限 chmod 777

[root@localhost ~]# chmod 777 1
[root@localhost ~]# ll
总用量 8
-rwxrwxrwx. 1 root root    0 5月  10 14:12 1

递归赋予权限 chmod -R

[root@localhost ~]# mkdir -p 1/2/3
[root@localhost ~]# chmod -R 777 1
[root@localhost ~]# ll -R 1
1:
总用量 0
drwxrwxrwx. 3 root root 15 5月  10 14:29 2

1/2:
总用量 0
drwxrwxrwx. 2 root root 6 5月  10 14:29 3

1/2/3:
总用量 0
[root@localhost ~]# 

修改文件属主或属组 chown

修改文件属主

[root@localhost ~]# ll 1
-rw-r--r--. 1 root root 0 5月  10 14:31 1
[root@localhost ~]# chown zhangsan 1
[root@localhost ~]# ll 1
-rw-r--r--. 1 zhangsan root 0 5月  10 14:31 1

修改文件属组

[root@localhost ~]# chown :zhangsan 1
[root@localhost ~]# ll 1
-rw-r--r--. 1 zhangsan zhangsan 0 5月  10 14:31 1
[root@localhost ~]# 

修改文件属主和属组

[root@localhost ~]# chown root:root 1
[root@localhost ~]# ll 1
-rw-r--r--. 1 root root 0 5月  10 14:31 1
[root@localhost ~]# 

递归修改文件属主和属组

[root@localhost ~]# mkdir -p 1/2/3
[root@localhost ~]# chown -R zhangsan:zhangsan 1
[root@localhost ~]# ll -R 1
1:
总用量 0
drwxr-xr-x. 3 zhangsan zhangsan 15 5月  10 14:34 2

1/2:
总用量 0
drwxr-xr-x. 2 zhangsan zhangsan 6 5月  10 14:34 3

1/2/3:
总用量 0
[root@localhost ~]# 

以上是关于linux账号和权限管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的账号和权限管理(理论讲解部分)

Linux账号和权限管理

linux 账号权限管理

Linux账号权限管理

linux-账号与权限管理--用户账号和组账号权限及归属

Linux账号权限管理