记录一下自己要用到管理实验室Linux的命令,省的以后忘记了还要查
1更改目录所属用户
chgrp 文件Tom 将文件所属于的组改为Tom
chown 文件 Tom 将文件所属的用户改为Tom
useradd haha #创建用户 haha是用户名
passwd haha #为该用户设置密码
cat /etc/passwd #查看用户信息
find / -name “haha“ #在/目录下查找文件名haha的
userdel -r haha #删除用户
2、删除用户
若使用userdel haha 命令删除该用户时,并不能删除该用户的所有信息,只是删除了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的该账户和组的信息。默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)
[root@localhost /]# userdel haha
[root@localhost /]# cat /etc/passwd | grep haha
[root@localhost /]# cat /etc/shadow | grep haha
[root@localhost /]# cat /etc/group | grep haha
[root@localhost /]# cat /etc/gshadow | grep haha
[root@localhost /]# find / -name “haha“
3、为新用户赋文件权限:
方式1:chmod -R 755 目录 —说明:该方式是修改文件本身的权限,让所有用户都有新权限
方式2:chown -R tmpuser 目录 —说明:该方式是直接修改文件的所有者
分组操作:
一、添加分组:
groupadd tmpgroup
二、删除分组:
groupdel tmpgroup
三、将用户加入分组[不离开原来分组]
usermod -a -G tmpgroup tmpuser
四、为新组赋文件权限
chown root:tmpgroup 目录
其中,文档类型有如下表示方法:
d - 目录,例如上表档名为『.gconf』的那一行;
文档,例如上表档名为『install.log』那一行;
l - 连结档(link file);
b - 装置文件里面的可供储存的接口设备(可随机存取装置);
c - 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
权限由rwx三个字幕表示,分别表示为可读、可写、可执行,如果没有该权限,则用“ - ”表示,对于目录来说,必须有x权限,否则无法读取目录内容
如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的
用户和用户组
用户和用户组 /etc/group 存储当前系统中的用户组信息
注意:
1.当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空
2.系统中root分组的组编号一定为0
3.组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始
4.组密码占位符,无一例外,全部用x表示
/etc/gshadow 存储当前系统中用户组的密码信息
注意:
1.如果组密码处为“*” “!”或者为空时候,则该组没有密码
2.如果组管理者为空,则表示该组内所有成员都可以管理该组
/ect/passwd 存储当前系统中所有的用户信息
注意:
在linux中,超级管理员root的用户编号一定为0
/ect/shadow 存储当前系统中所有用户的密码信息
注意:
密码是一个单向加密过的字符串
useradd创建用户可以使用的参数
useradd可以使用的参数包含
-d 设置该用户的home目录
例如:useradd -d /home/helloworld hello //新建hello用户,并且将其home目录设置为/home/helloworld
-u 设置其userid
例如:useradd -u 668 hello //新建一个hello用户,将他的id设置为668
-g 设置其主组
例如:useradd -g root hello //新建一个hello用户,并将其假如root组
-m 生成home目录的文件夹
例如:useradd -m hello //新建一个hello用户,并且在默认位置申城一个hello文件夹(/home/hello),并且将/etc/skel下的文件复制到该目录下
修改用户信息
usermod 参数 用户名
-l //修改新用户名
例如:usermod -l helloworld hello 将hello用户名改为helloworld,但其home目录不改变
-u //修改用户的userid
例如:usermod -u 888 hello 将hello的userid改为888
-d //修改用户的home目录
-g //修改用户的主用户组
-L //锁定用户,使其不能登录
-U //解除锁定
删除用户
userdel 参数 用户名
可使用参数
-r 删除用户的同时将其home目录也删掉
创建用户组
groupadd 组名
修改用户组
groupmod -n 新组名 旧组名 //修改组名
groupmod -g 新组id 旧组id 修改组ID
删除用户组
groupdel 组名
改变文档(目录)的所有者(所有组)
改变文档(目录)的所有者(所有组)
改变文档所有者 - chown命令(change owner),可使用参数 -R使得其子目录也同时修改
改编文档所有组 - chgrp命令 (change group),可使用参数 -R使得其子目录也同时修改
也可以使用
chown username:group 文件名
来同时修改文档或目录的拥有者和所在组
修改文档的执行权限
chmod命令
chmod 参数 文件名
可以使用如下方法直接设置文件的权限
1.直接设置代表权限的数字
chmod 777(对应权限的数字) 文件名
2.给文件添加或减去某些权限
chmod u+w 文件名 给user用户加上w权限
chmod g-r 文件名 将group中的r权限去掉
chmod a+x 文件名 给user、group、other全部加上x权限
查看系统有哪些组
getent group
查看所有用户
compgen -u
查看当前用户属于那些组
groups
查看某个用户属于哪些组
groups {USERNAME}
查看系统有哪些组
getent group
或者
compgen -g
列出某个组下所有的成员
方法一(稍复杂不推荐):
查看sudo下所有成员
awk -F’:’ ‘/sudo/{print $4}’ /etc/group
方法二:
先安装members包
sudo apt-get install members//ubuntu系统
或者
sudo yum members
列出某个组下所有的成员
查看sudo组下的成员
members sudo
参考感谢:
https://www.cnblogs.com/xs104/p/4510114.html
https://blog.csdn.net/ignorewho/article/details/80591015
https://blog.csdn.net/qq_41566366/article/details/116980788