总结下Linux系统常用的一些命令

随着参与项目和工作经验的增加,越来越懂了之前学校里面老师的一句话:学好Linux系统,掌握常用的命令和脚本的编写是一件非常重要的技能。的确,当自己不再满足于只是做一个纯粹的编码人员的时候,就会越来越多的和服务器打交道,这也是成为架构师必定要踏上的一条道路。写这篇博文记录下自己在学习和应用中经常使用的一些命令,正所谓“学而时习之”,

一、用户篇

我们都知道Linux系统一大特点就是方便的多用户权限管理,不同的登录用户对不同的文件和执行程序有不同的权限,对于服务器维护者而言,设置并维护好系统的用户和组是非常重要的,下面是一些经常用到的用户相关的命令。

1. 增加用户:useradd  [options]  username 

新增用户就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录shell等资源,该命令执行后会在/etc/passwd、/etc/shadow、/etc/group文件中添加一条记录,并在/var/spool/mail文件夹内新建一个以用户名命名的目录,用以存放用户的邮件,执行userdel删除用户并再次创建时提示“Creating mailbox file: File exists”就是因为没有把/var/spool/mail下面的用户目录删除掉的原因。

常用选项为:

useradd  -m --create-home username   eg: useradd -m admin 会在/home/下新建一个admin目录作为用户的登录目录

useradd  -c --comment 注释性描述  username     eg: useradd -c "admin user" admin  创建一个admin用户,注释为"admin user"

useradd  -d --home 用户主目录  username   eg: useradd -d /usr/admin  admin  创建一个用户admin,登录目录为/usr/admin

useradd  -g --gid 组名或组id  username  eg: useradd -g admin admin 创建一个用户admin,并把它加入到admin组中,该组必须已经存在

useradd  -G --groups group1,group2,...groupn  username  eg:useradd -G test,develop 创建一个用户admin,附属组为test,develop

useradd  -s shell文件 username   eg:添加用户的同时指明用户的登录shell

2.删除用户:userdel [options] username

常用选项为:

userdel username 删除用户在系统主的记录,主要是/etc/passwd,/etc/shadow,/etc/group中的内容,但是用户主目录和邮件目录仍然存在

userdel -r username  用户主目录和用户邮件目录都会被删除

userdel -f username  强制删除用户,即使当前用户为登录用户,同时也会删除用户主目录和邮件目录,即使他们被其他用户引用

3.修改用户:usermod [options] username

常用选项为:-c -g -G -m -d -s -u -o等,同useradd表示的意义一样,可以为用户指定新的资源

4.密码管理 passwd [options] username

passwd -l 锁定口令,即禁用账号,仅管理员账号可用
passwd  -u 口令解锁,仅管理员账号可用
passwd  -d 删除账号登录口令。
如果默认用户名,则修改当前用户的口令。

6.用户组操作 

groupadd -g gid groupname  添加组id为gid的用户组  eg: groupadd -g 2000 develop

groupdel groupname  删除用户组,若组内还有用户,则必须先删除组内用户

5.普通用户赋予sudo权限

一般来说使用root用户登录是很不安全的(权限太大),因此常需要新建一些普通用户登录系统进行操作,有些命令是必须具备sudo权限才可以使用的,这时就需要为当前的普通用户授权sudo权限。方法如下:

首先使用su root切换到root用户下,然后修改/etc/sudoers文件,由于系统默认sudoers文件为readonly,因此有两种方法,一种是使用chmod u+w sudoers命令修改文件为可写,编辑之后再执行chmod u-w sudoers去掉可写权限,另一种是直接使用visudo命令来编辑。

找到 root  ALL=(ALL)   ALL一行,在下面插入 

username  ALL=(ALL)  ALL, 表示username 有sudo权限,需要口令验证

%groupname  ALL=(ALL)  ALL,表示groupname用户组下的用户都具有sudo权限,需要口令验证

%groupname  ALL=(ALL)  NOPASSWD:ALL, 表示groupname组下单用户都具有sudo权限,且不需要口令验证

然后保存并退出,再次登录普通用户就OK了。


用户篇先写到这,后面持续再更。

猜你喜欢

转载自blog.csdn.net/cfydaniel/article/details/42487999