Linux账号和权限管理

Linux账号:

用户账户:

超级用户root,在系统具有最高权限
普通用户由root或其他管理员创建的用户,默认只具有低权限
程序用户用于给应用程序运行的低权限用户,一般不允许登录系统

组账户:

基本组用户加入的第一个组
附加组用户额外加入的除了基本组以外的组

用户账户的ID和组账户ID :

UID用户账户ID
GID组账户ID

UID/GID范围:

root的UID和GID都固定为0
程序用户默认的UID/GID范围centos7以前为 1~499;从centos7开始为 1~999
普通用户默认的UID/GID范围centos7以前为 500~60000;从centos7开始为 1000~60000

 用户账号文件、用户密码文件 :

用户账号文件        /etc/passwd           有7个字段
用户名:x密码占位符:UID:GID:用户说明:家目录:登录shell
允许登录系统/bin/bash    不允许登录系统/sbin/nologin /bin/false

[root@localhost ~]# cat /etc/passwd | wc -l   
45
               //查看用户账号文件夹/etc/passwd 用户文件有多少行

用户密码文件              /etc/shadow          有9个字段
用户名:密码字符串:上一次修改密码的时间:密码最短有限期:密码最长有限期:密码过期提前告警的时间:密码过期禁用用户的时间:账号失效的时间:空

密码最短有限期:默认为0不限制        

密码最长有限期:默认为99999永不过期

账号失效的时间:从1970.1.1开始算起

密码过期提前告警的时间:默认为7 

创建用户: 

                useradd 用户名
                adduser 用户名
                                               -u 指定UID
                                               -g 基本组名或GID
                                               -G 附加组名或GID
                                               -d 指定家目录
                                               -s 指定登录shell
                                               -M 不建立家目录,不可与-d同时使用
                                               -e YYYY-MM-DD 指定账号失效日期

Last login: Fri Apr 12 22:49:45 2024
[root@localhost ~]# useradd cywl    //创建用户cywl
[root@localhost ~]# vim /etc passwd  //配置文件/etc/passwd

[root@localhost ~]# which useradd
/usr/sbin/useradd
[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]# 
 //adduser  用户名和  useradd是一样的

[root@localhost ~]# man 5 passwd  
//查看passwd文件的格式和内容说明  //man 5 是用来查看配置文件的帮助命令



PASSWD(5)                 File formats                 PASSWD(5)

NAME 名称
       passwd - 密码文件

描述
       Passwd       是个文本文件,      它包含了一个系统帐户列表,
       给出每个帐户一些有用的信息,比如用户  ID,组  ID,  家目录,
       shell,等.           通常它也包含了每个用户经过加密的密码.
       它通常应该是可读的(许多命令,工具程序,象          ls(1)
       用它做用户                                             Id
       到用户名称的映射),但是只允许超级用户有写方式权限.

       在过去美好的日子里,这种一般的读许可没有什么大问题.
       每个人都能读到加密了的密码,因为硬件太慢以至于不能解开一个
       精选的密码,另外,这基本假定是为友好的使用团体使用的.
       现在,许多人运行一些版本的影子密码套件,它们在
       /etc/passwd     的密码域里是      *,而不再是加密的口令,
       加密的口令放在 /etc/shadow 中,那个文件只有超级用户能读.

       不管是否使用了影子密码,许多系统管理员使用一个星号在加密的
密码字段
       以确保用户不能鉴别他(她)自己的密码. (见下面的注意)
 Manual page passwd(5) line 1 (press h for help or q to q

id  用户名   //查看查看uid gid 组名

[root@localhost ~]# id cywl  //查看uid gid 组名
uid=1001(cywl) gid=1001(cywl) 组=1001(cywl)

[root@localhost home]# useradd bb -u 2022 -M -s /sbin/nologin  
        //创建用户bb -u指定uid 2022 -M不建立家目录 -s不允许登录系统
[root@localhost home]# vim /etc/passwd

 

验证/home/目录下没有bb用户家目录 

[root@localhost home]# cd /home/ 
[root@localhost home]# ls
cywl  test
[root@localhost home]# 
[root@localhost ~]# useradd zy -d /opt/tt -g bb
  //创建用户zy 指定家目录是/opt/下新建tt 并和bb基本组
[root@localhost ~]# 

 


修改用户密码:

                      passwd [用户名]
                                                  -d 清空用户密码
                                                   -l 锁定/禁用用户
                                                   -u 解锁用户
                                                   -S 查看锁定状态

 echo 'XXXX' | passwd --stdin 用户名
 echo 用户名:密码 | chpasswd


[root@localhost ~]# useradd gmm  //创建用户gmm
[root@localhost ~]# cd /opt
[root@localhost opt]# passwd gmm   //修改gmm的密码
更改用户 gmm 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost opt]# 
[root@localhost opt]# vim /etc/shadow  //配置文件 /etc/shadow

   

-d 清空用户密码 

[root@localhost ~]# passwd -d gmm  //清空gmm的密码
清除用户的密码 gmm。
passwd: 操作成功
[root@localhost ~]# 
[root@localhost ~]# cd /opt   //切换opt目录
[root@localhost opt]# vim /etc/shadow      //配置文件/etc/shadow

   -l 锁定/禁用用户        -S 查看锁定状态 

[root@localhost opt]# 
[root@localhost opt]# passwd -l gmm  //锁定用户gmm
锁定用户 gmm 的密码 。
passwd: 操作成功
[root@localhost opt]# passwd -S gmm   //查看用户gmm锁定状态
gmm LK 2024-04-13 0 99999 7 -1 (密码已被锁定。)
[root@localhost opt]# 

-u 解锁用户   

[root@localhost opt]# passwd -u gmm    //解锁用户gmm
解锁用户 gmm 的密码。
passwd: 操作成功
[root@localhost opt]# passwd -S gmm     //查看gmm的锁定状态
gmm PS 2024-04-13 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

解锁空密码账户会 警告    如果想解锁  passwd -u -f  [用户名] 

 快捷设置密码   echo 'XXXX' | passwd --stdin 用户名   // --stdin是代表键盘输入

                         echo 用户名:密码 | chpasswd

[root@localhost opt]# echo abc1234 | passwd --stdin gmm  //输出abc234 被管道符号|捕获  交给passwd修改账号密码 密码要键盘输入 所有--stdin模拟键盘输入
更改用户 gmm 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost opt]# echo gmm:abc1234 | chpasswd

  

修改已存在的用户:

                             usermod 用户名 -l 新用户名 修改用户名
                                                        -L 锁定/禁用用户
                                                        -U 解锁用户
                                                        -u 指定UID
                                                        -g 基本组名或GID
                                                        -G 附加组名或GID
                                                        -d 指定家目录
                                                        -s 指定登录shell

                                                        -e YYYY-MM-DD 指定账号失效日期

  

[root@localhost opt]# usermod gmm -l mm  // 修改用户名gmm——>mm
[root@localhost opt]# usermod mm -L      //锁定/禁用用户mm   
[root@localhost opt]# usermod mm -U      //  解锁用户mm
[root@localhost opt]# usermod mm -u 1314 -g 1001  //修改用户mm的uid1314 gid1001
[root@localhost opt]#
[root@localhost opt]# 

[root@localhost ~]# usermod mm -G kfc    //mm用户附加组名kfc
[root@localhost ~]# id mm                 //查看mmuid gid 组和附加组
uid=1314(mm) gid=1001(cywl) 组=1001(cywl),2025(kfc)

[root@localhost ~]# usermod -s /bin/bash bb    //指定登录用户为bb shell改为bash
[root@localhost ~]# vim /etc/passwd

[root@localhost ~]# echo mm:123456 | chpasswd     //输出密码123456 到mm
[root@localhost ~]# usermod mm -e 2024-12-31      //修改mm账号账号失效日期
[root@localhost ~]# vim /etc/shadow
[root@localhost ~]# 

删除用户:

userdel  [-r]  用户名                              #-r代表删除用户时,家目录也会一起删除

[root@localhost home]# userdel sy1   //删除用户sy1
[root@localhost home]# ls            //查看,用户sy1家目录还存在
cywl  gmm  sy1  test
[root@localhost home]# rm -rf sy1     //删除sy1家目录
[root@localhost home]# ls
cywl  gmm  test                        //sy1家目录不存在
[root@localhost home]# 


[root@localhost home]# userdel -r sy3 //删除用户sy3同时删除用户家目录
[root@localhost home]# ls
cywl  gmm  sy2  sy4  test
[root@localhost home]# 

系统/用户环境初始化配置文件:

系统环境初始化配置文件/etc/profile            /etc/bashrc 对所有用户有效
用户环境初始化配置文件~/.bash_profile       ~/.bashrc       ~/.bash_logout只对当前用户有效

/etc/profile       ~/.bash_profile          #设置用户每次登录时要执行的命令
/etc/bashrc      ~/.bashrc                   #设置切换shell环境时(包括登录系统时)要执行的命令
~/.bash_logout                                  # 设置退出登录或shell环境时执行的命令

组账号文件:

 /etc/group 有4个字段

 组账号名:x占位符:GID号:组账号成员

[root@localhost ~]# vim /etc/group    //查看当前系统中的组
[root@localhost ~]# cat /etc/group | wc -l    //统计系统中有多少组
78

添加组账号:

groupadd  [-g GID]  组名

[root@localhost ~]# groupadd xy102 -g 1314   //添加组账号xy102 -g 1314
[root@localhost ~]# 

管理组账号的成员:

 gpasswd 组名 -a 用户名                         #添加组成员
                        -d 用户名                         #删除组成员
                        -M 用户1,用户2,…           #重新定义组成员列表

[root@localhost ~]# gpasswd xy102 -a cywl  //cywl 加入到 xy102组
正在将用户“cywl”加入到“xy102”组中
[root@localhost ~]# 
[root@localhost ~]# vim /etc/group    //查看当前组



 

[root@localhost ~]# 
[root@localhost ~]# gpasswd xy102 -d sy2    //sy2从xy102组中删除
正在将用户“sy2”从“xy102”组中删除
[root@localhost ~]# vim /etc/group          //查看当前组
  

[root@localhost ~]# gpasswd xy102 -M zy,bb     //重新定义组xy102成员zy,bb
此操作会自动清空之前组成员
[root@localhost ~]# vim /etc/group

删除组账号:

groupdel 组名

[root@localhost ~]# 
[root@localhost ~]# groupdel xy101     //删除组101
[root@localhost ~]# vim /etc/group

 

查询用户的组信息:

groups 用户名  

id 用户名   //id比groups更全面

[root@localhost ~]# groups zy //查询用户的组信息
zy : bb xy102
[root@localhost ~]# id zy     //查询用户的组信息
uid=2023(zy) gid=2022(bb) 组=2022(bb),1314(xy102)
[root@localhost ~]# 

   

查询登录系统的用户:

w       who    users

[root@localhost ~]# w
 17:22:47 up  5:04,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               10:13   ?xdm?  58.20s  0.15s /usr/libexec/gnome-session-binary --session gnome-classic
root     pts/1    20.0.0.1         15:12   23:19   0.05s  0.01s vim /etc/passwd
root     pts/2    20.0.0.1         16:04    7.00s  0.10s  0.02s w
[root@localhost ~]# who
root     :0           2024-04-13 10:13 (:0)
root     pts/1        2024-04-13 15:12 (20.0.0.1)
root     pts/2        2024-04-13 16:04 (20.0.0.1)
[root@localhost ~]#  users
root root root
[root@localhost ~]# 

文件权限 :

字符表示r  读w  写x  执行文件/切换目录-  (没有权限)
数字表示4210
[root@localhost ~]# ll /etc/passwd   
-rw-r--r--. 1 root root 2486 4月  13 16:25 /etc/passwd
[root@localhost ~]# mkdir /data     //新建目录date
[root@localhost etc]# cd /data/     //切换date目录
[root@localhost data]# touch sy1
[root@localhost data]# touch sy2
[root@localhost data]# touch sy3
[root@localhost data]# ll           //查看
总用量 0
-rw-r--r--. 1 root root 0 4月  13 17:28 sy1
-rw-r--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 

设置权限:

 chmod [-R]  rmx 文件/目录                       #-R表示递归修改目录及其所有子目录和文件权限
chmod  ugo     +rwx 文件/目录                       #添加权限
                         -                                              #删除权限
                         =                                             #重新定义权限

ugo是文件所有者,文件所有组,其他用户

[root@localhost data]# chmod -R 777 sy1   //设置sy1权限
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 4月  13 17:28 sy1
-rw-r--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3

[root@localhost data]# chmod +621 sy2  添加权限
[root@localhost data]# 
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 4月  13 17:28 sy1
-rw-rw-r-x. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 
[root@localhost data]# chmod -004 sy2   删除sy2权限
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 4月  13 17:28 sy1
-rw-rw----. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 
[root@localhost data]# chmod =744 sy2   //重新定义权限
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 4月  13 17:28 sy1
-rwxr--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 

 设置归属:

chown  [-R]     属主    文件/目录
                       :属组
                       属主:属组
                       属主.属组(:可以用.来表示,效果一样)

[root@localhost data]# chown -R cywl:cywl sy1   属主cywl 属组cywl
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 cywl cywl 0 4月  13 17:28 sy1
-rwxr--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 
[root@localhost data]# chown -R zy sy1          属主zy
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 zy   cywl 0 4月  13 17:28 sy1
-rwxr--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 
[root@localhost data]# chown -R cywl.sy4 sy1     属主cywl   属组sy4
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 cywl sy4  0 4月  13 17:28 sy1
-rwxr--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
[root@localhost data]# 

设置默认权限:

umask nnn
查询umask的值 umask
文件的最大默认权限为 6               目录的最大默认为 7
新建的文件/目录的默认权限 = 最大默认权限 - umask值

[root@localhost data]# umask 022   设置默认权限022
[root@localhost data]# touch sy5      新建文件夹sy5
[root@localhost data]# ll
总用量 0
-rwxrwxrwx. 1 cywl sy4  0 4月  13 17:28 sy1
-rwxr--r--. 1 root root 0 4月  13 17:28 sy2
-rw-r--r--. 1 root root 0 4月  13 17:28 sy3
-rw-r--r--. 1 root root 0 4月  13 18:07 sy5
[root@localhost data]# 


  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值