0%

linux 管理笔记 1

前言

最近需要负责一些 linux 系统的管理,记录一些常用的命令。

包括创建用户,授予 sudo 权限(或者说管理员),检查具有 sudo 权限的用户,将用户移出组等。

正文

创建用户并授予管理员权限

1
2
sudo adduser username
sudo adduser username sudo # 添加管理员权限

检查具有 sudo 权限的用户

参考链接:https://qastack.cn/server/208347/how-do-i-list-all-users-with-root

1
2
3
4
5
6
7
8
#要查看谁是UID 0:
getent passwd 0

#查看谁在分组中root,wheel adm以及admin:
getent group root wheel adm admin

#列出所有用户及其所属的组:
getent passwd | cut -d : -f 1 | xargs groups

将用户移出 group

1
sudo gpasswd -d username groupname

将用户username 从 groupname 中移除,

使用这种方式可以将用户移出 sudo 特权。

修改登录密码

Ubuntu更改密码步骤:
进入Ubuntu,打开一个终端,输入 sudo su转为root用户。 注意,必须先转为root用户!!!

sudo passwd user(user 是对应的用户名) 。

输入新密码,确认密码。

修改密码成功,挂起,enter进入系统登录界面,输入新密码进入Ubuntu。
————————————————
版权声明:本文为CSDN博主「qq_43176116」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43176116/article/details/88908431

判断是否在 docker 内

方式一:判断根目录下 .dockerenv 文件
docker环境下:ls -alh /.dockerenv , 非docker环境,没有这个.dockerenv文件的

1
2
root@4cb54de415d4:/# ls -alh /.dockerenv 
-rwxr-xr-x 1 root root 0 Sep 6 07:09 /.dockerenv

注:定制化比较高的docker系统也可能没有这个文件

方式二:查询系统进程的cgroup信息
docker 环境下:cat /proc/1/cgroup

1
2
3
4
5
6
7
8
9
10
11
root@4cb54de415d4:/# cat /proc/1/cgroup 
10:devices:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
9:perf_event:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
8:net_cls,net_prio:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
7:cpu,cpuacct:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
6:freezer:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
5:memory:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
4:cpuset:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
3:blkio:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
2:pids:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
1:name=systemd:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730

kvm环境或者物理机环境下:cat /proc/1/cgroup

root@n12-015-133:~# cat /proc/1/cgroup

1
2
3
4
5
6
7
8
9
10
10:cpuset:/
9:freezer:/
8:memory:/init.scope
7:perf_event:/
6:blkio:/init.scope
5:net_cls,net_prio:/
4:cpu,cpuacct:/init.scope
3:pids:/init.scope
2:devices:/init.scope
1:name=systemd:/init.scope

判断响应内容即可,主要看name和devices信息,目前来说最靠谱的方式
————————————————
版权声明:本文为CSDN博主「Ternence_Hsu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ternence_hsu/article/details/100678307

ssh 按上键输出 ^[[A

这种情况比较少,可能是新建用户时出的问题,着急使用可以直接执行 bash,应该就没事了。要确保之后每次登陆都正常可以执行 usermod -s /bin/bash username 。如果还有问题可以参考下面的内容。

错误原因:
是因为添加用户时没有授权对应的目录,仅仅执行了useradd user而没有授权对应的家目录

直接解决办法如下(执行如下命令,以后就登录到终端上就不会出现上面的错误信息):

chown username:username -R /home/user_dir
不过一般是可以避免这种情况的出现,添加用户执行如下命令即可:

useradd username -m (-m 相当于会创建对应的用户家目录)

usermod -s /bin/bash username(指定shell,否则会非常不便于终端操作)
————————————————
版权声明:本文为CSDN博主「Mr番茄蛋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35203425/article/details/106202101