LINUX账号操作

  1. 查看当前所有用户组

cat /etc/group

得到

   haldaemon:x:68:haldaemon
   mail:x:12:mail,postfix
   www:x:501:

分别表示 group_name:passwd:GID:user_list #GID 用户组ID,密码由于移动到 /etc/gshadow了所以只会有x

  1. 查看当前所有用户

cat /etc/passwd

得到

root:x:0:0:root:/root:/bin/bashwww:x:501:501::/home/www:/bin/bash

分别表示 username:password:UID:GID:说明栏:home目录:SHELL #UID 0为root,1~499系统账号,500~65535可登入账号

  1. whoami 当前登录用户
   finger luca #查看相关的账号登陆信息
   
   id www #查看相关账号的组名等
   
   uid=501(www) gid=501(www) groups=501(www)

who查看当前在线用户

last查看系统登陆的账号列表信息

lastlog查看每个账号最后一次登陆的信息

  1. 用户新增管理
   useradd luca #新增一个luca账号,包括在/etc/passwd,shadow,groups和/home目录下建立文件夹。这时新建的用户的用户组属于同名的新建的用户组
   useradd -g mysql mysql #-g后接已建好的群组名,把新增的用户加入某群组
   useradd -r apache #-r后接系统预设账号,这时其UID不会超过500且不会建立home子目录
   useradd -D #查看useradd参考档
   
   
   
   passwd #修改当前用户的密码
   passwd luca #修改luca的账号密码,当前第一次建立luca账号后,需要passwd来建立密码才可用
   echo "abc543CC" | passwd --stdin luca #使用管道加入密码
   passwd -l luca #把luca的账号暂时lock
   passwd -u luca #unlock luca的账号

此外还有usermod,userdel进行操作

   userdel luca #删掉luca账号
   userdel -r luca #连同luca的home目录一起删掉
  1. 群组管理
   groupadd www #添加www群组
   groupadd -r apache #添加一个系统群组

此外还有groupmod,groupdel等功能

  1. 用户的默认群组

一个用户可以同时存在多个群组中,在/etc/passwd中用户却只有一个GID,就是他的初始群组

登陆后使用groups命令可以查看当前用的群组,第一个就是当前的有效群组。

当以此账号新建目录时,该目录归属的群组就是有效群组

比如当前的用户同时归属users,root

要使有效群组变为root,则需使用

newgrp root

此时root变成了有效群组。

在使用newgrp的时候其实是使用了新shell,可以使用exit退出当前新shell

  1. 改变档案所在组
   chgrp root tmp #给tmp改成root组
   chgrp -R root ./source #给source文件夹所有文件改为root组
  1. 改变档案所属用户
   chown www tmp #给tmp文件改为www所属
   chown -R www ./source #给source文件夹所有文件赋予www用户
   chown -R www:www ./source #给source文件夹遍历赋予www用户www组
  1. chmod

r:4 w:2 x:1 数字含义

u g o a 分别代表user,group,other,all

   chmod u=rwx,og=rx .bashrc #给文件的user赋予rwx,og赋予rx权限
   chmod a+w .bashrc #给文件赋予所有人w权限
   chmod a-x .bashrc #给所有人去掉执行权限
   chmod -R 777 ./data #给data目录遍历赋予777权限

← 相似图片检测的实现  利用SSH实现无密码登陆 →