linux 用户操作,Linux用户相关操作

Linux用户相关操作

这篇文章主要记录一下几个问题

登录远程Linux主机

关机重启命令

用户管理增删用户

用户组的概念

最佳实践

远程登录

要实现远程登录,首先需要保障的是Linux下的sshd启动正常。

在windows下我们可以使用xshell5建立会话的方式建立连接,在mac下,我们更多使用命令的方式。

ssh root@192.168.230.128

之后输入密码,即可登录。

关机重启命令

使用shutdown命令

立即关机

shutdown -h now

halt

以上两条命令都可以用来关机

延迟关机 一分钟以后

shutdown -h 1

立即重启

shutdown -r now

reboot

以上两个命令都可以用来重启

同步

sync

在关机或重启之前,我们可以先执行sync命令,将内存中的数据同步到磁盘。

注销

logout

需要强调的事,这条命令只在远程访问时有效。我们可以理解为退出了连接会话。

用户管理

在这之前,我们一直使用的事root用户进行的操作,而在现实生产中,我们是一定要重视安全问题的,因为root用户具有极高的操作权限,如果我们每次都使用root用户去操作,可能会造成生产事故。所以往往我们会为开发人员创建单独的用户,而root用户密码仅仅只掌握在少数人手中。

创建用户

非常简单的命令,如下:

useradd dev1

此时我们就成功创建了除了root用户以外的第一个用户。

这里需要注意的是,当我们观察根目录下的home目录下会生成与用户名同名的文件夹。这也说明,我们创建用户的操作是成功的。

/home/dev1

刚才,我们仅仅创建了用户,如果需要登录到远程,还需要密码。

为用户设置密码

passwd dev1

之后连续输入两次密码,前后须保持输入一致。可能会提示密码过于简单等问题。可以不用管。

此时,我们可以退出会话,使用dev1来连接了。

logout

ssh dev1@192.168.230.128

正常的话,我们就可以用dev1连接到会话了。

删除用户

要实现删除用户,我们肯定得使用root账号了。看以下命令:

//断开dev1建立的会话

logout

ssh root@192.168.230.128

userdel dev1

成功之后,为了验证该用户确实无法再登录远程,我们可以测试

// 断开root

logout

ssh dev1@192.168.230.128

正常的话,远程主机会反馈我们如下信息

Permission denied, please try again.

当我们以后再看到这样的信息,应该要考虑用户是否被删除导致无法登录。

此时,我们应该想到,用户被创建时,同时被创建的同名文件夹是否被删除了呢,我们一探究竟。

不出意外的话,结果应该是,文件夹还存在。也就是说,虽然我们删除了用户,但是那个用户之前创建的文件等信息依然留存。如果我们想连同该用户对应的文件夹删除,我们可以尝试以下命令。

为了方便演示,我们创建dev2用户

useradd dev2

passwd dev2

logout

ssh dev2@192.168.230.128

使用新创建dev2连接会话,查看home目录,dev2目录存在。

其实,我们是有疑惑的,为什么dev2下没有像/root下那么多目录,比如桌面,文档,下载等等。那是因为,dev2没有在远程主机的桌面环境下登录过,所以为了dev2下显示的内容更完整,我们可以尝试在centos桌面环境下登录一次。

cd /home/dev2

ls -al

总用量 140

drwx------. 25 dev2 dev2 4096 4月 6 18:04 .

drwxr-xr-x. 5 root root 4096 4月 6 17:32 ..

drwxrwxr-x. 2 dev2 dev2 4096 4月 6 17:45 .abrt

-rw-------. 1 dev2 dev2 302 4月 6 17:45 .bash_history

-rw-r--r--. 1 dev2 dev2 18 5月 11 2016 .bash_logout

-rw-r--r--. 1 dev2 dev2 176 5月 11 2016 .bash_profile

-rw-r--r--. 1 dev2 dev2 124 5月 11 2016 .bashrc

drwxr-xr-x. 3 dev2 dev2 4096 4月 6 17:45 .cache

drwxr-xr-x. 5 dev2 dev2 4096 4月 6 17:45 .config

drwx------. 3 dev2 dev2 4096 4月 6 17:45 .dbus

-rw-------. 1 dev2 dev2 16 4月 6 17:45 .esd_auth

drwx------. 4 dev2 dev2 4096 4月 6 17:46 .gconf

drwx------. 2 dev2 dev2 4096 4月 6 17:46 .gconfd

drwxr-xr-x. 5 dev2 dev2 4096 4月 6 17:45 .gnome2

drwxrwxr-x. 3 dev2 dev2 4096 4月 6 17:45 .gnote

drwx------. 2 dev2 dev2 4096 4月 6 17:45 .gnupg

-rw-rw-r--. 1 dev2 dev2 185 4月 6 17:45 .gtk-bookmarks

drwx------. 2 dev2 dev2 4096 4月 6 17:45 .gvfs

-rw-------. 1 dev2 dev2 310 4月 6 17:45 .ICEauthority

-rw-r--r--. 1 dev2 dev2 791 4月 6 17:45 .imsettings.log

drwxr-xr-x. 3 dev2 dev2 4096 4月 6 17:45 .local

drwxr-xr-x. 4 dev2 dev2 4096 4月 4 06:56 .mozilla

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 .nautilus

drwx------. 2 dev2 dev2 4096 4月 6 17:45 .pulse

-rw-------. 1 dev2 dev2 256 4月 6 17:45 .pulse-cookie

drwx------. 2 dev2 dev2 4096 4月 6 17:45 .ssh

-rw-------. 1 dev2 dev2 1293 4月 6 17:45 .xsession-errors

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 公共的

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 模板

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 视频

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 图片

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 文档

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 下载

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 音乐

drwxr-xr-x. 2 dev2 dev2 4096 4月 6 17:45 桌面

我们可以看到dev2用户产生的工作内容全在dev2目录下。

我们尝试在桌面下创建一个文件

cd 桌面

echo hello > test.txt //create test.txt file

再次退出使用root连接,尝试删除dev2用户的同时删除dev2目录。

logout

ssh root@192.168.230.128

user del -r dev2

cd /home/dev2

ls -al

总用量 0

需要注意的是,我们在正常删除用户命令的基础上加了-r参数,即可删除文件,但是文件本身不会被删除,删除用户名文件夹下的子项。

用户组

为了方便演示,我们创建dev3和dev4用户。

useradd dev3

passed dev3

useradd dev4

passed dev4

在讲用户组之前,我们先来学习一个命令,非常简单:

id root

uid=0(root) gid=0(root) 组=0(root)

id dev3

uid=502(dev3) gid=502(dev3) 组=502(dev3)

id dev4

uid=503(dev4) gid=503(dev4) 组=503(dev4)

id username可以用来查看用户信息。

这里涉及到了几个专用名词。

uid 指用户id(用户名)

gid 指用户所在组id (组名)

我们看到,我们在创建一个用时,Linux时将用户名当做组名,并将该用户加入改组中。

那么我们如何先创建组,再把用户加入其中呢,步骤如下:

groupadd common

user add -g common common-user1

id common-user1

uid=504(common-user1) gid=504(common) 组=504(common)

解释一下:

groupadd groupname 用来创建一个组

user add -g groupname username 创建用户并指定组

为用户换组

将common-user1迁移到super组。

grouped super

groupmod -n super common-user1

id common-user1

uid=504(common-user1) gid=506(super) 组=506(super)

我们可以看到,common-user1用户所在组从common变成了super。

最佳实践

我们认为,用户操作相关的最佳实践应该遵循如下几条:

每个人使用不同的用户账号登录

当遇到需要高权限才能解决的问题时,可以使用切换用户命令。

假设当前用户为dev3,处理问题权限不够,可以切换为root用户

su - root

// 处理完以后,再回到dev3用户

exit

//dev3 mode

将用户放在不同的组,在实际开发中,可以开发人员一组,负责人一组。酌情处理。

最后

以上是我学习Linux用户相关操作的体会,对这一方面的理解还需要在不断的学习中去加升理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值