Linux用户管理命令

每次都去查,总是记不住,最终还是在这里做个笔记吧。

用户管理

查看用户

id命令

$ id dean
uid=1000(dean) gid=1000(dean) groups=1000(dean),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),121(lpadmin),132(sambashare)

/etc/passwd文件

cat /etc/passwd 可以查看所有用户的信息,比如刚才创建的gerrit2用户

gerrit2:x:1002:1002:gerrit2,101,186525810**,186525810**:/home/gerrit2:/bin/bash
基本格式:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell,中间用:隔开

注意:

口令 这里用x 表示

真正的密码放在了/etc/shadow文件,这是shadow文件里面gerrit2的密码:

gerrit2:$6$v7uh0ctV$borVraMjOPhMjYV8YCVcmwylKb84djRm5yVWNbKYHxrcFLLqlSsx.hbcW.Ouk2A05CyChx7zZlRV3wZMuH0hE0:15480:0:99999:7:::
已经被加密了,所以比较安全

添加用户

useradd和adduser都能添加用户,区别是:

1.adduser会提示设置密码,而useradd不会。

2.adduser会创建用户目录,比如/home/freebird  freebird是用户,useradd不会

3.adduser会创建用户组,默认和用户名相同

4.adduser会询问全名,房间号码,电话号码等用户信息,useradd不会

下面是用adduser创建的例子:

root@ubuntu1204-dell:~# adduser gerrit2
Adding user `gerrit2' ...
Adding new group `gerrit2' (1002) ...
Adding new user `gerrit2' (1002) with group `gerrit2' ...
Creating home directory `/home/gerrit2' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for gerrit2
Enter the new value, or press ENTER for the default
	Full Name []: gerrit2
	Room Number []: 101
	Work Phone []: 186525810**
	Home Phone []: 186525810**
	Other []: 
Is the information correct? [Y/n]

所以,adduser更加方便,优先使用。

删除用户

userdel -r gerrit

该命令将gerrit用户以及用户目录都删除了。

修改uid/gid

usermod 和groupmod就是用来干这个的
usermod  -u   555 ftp_rw && groupmod  -g  555 ftp_rw 

修改root密码

sudo passwd root
然后按照提示输入两次密码

如果之前root没有密码,一旦通过·这种方式设置了密码,就可以用root登录系统了。


禁用root

sudo passwd -l root

创建系统帐号

sudo adduser --home /home/glassfish --system --shell /bin/bash glassfish
上面这个命令使用了--system参数。这个参数意味着创建系统帐号,也就是不用于交互登录的帐号。

默认情况下,adduser此时不会创建/home/glassfish目录,因此如果需要该目录,就要用参数显式指出 --home /home/glassfish

同样,默认情况下系统帐号使用/bin/false作为shell,我这里通过--shell /bin/bash显式指出应该是/bin/bash

也不会自动创建与用户名相同的用户组,需要之后执行groupadd命令单独创建。


用户组管理

查看用户组

cat /etc/group


将用户添加到某个组

adduser your_user groupname

还是adduser,很方便啊。结果是组文件中改组出现用户名:

vboxusers:x:126:chenshu


添加到root组用命令:

adduser jenkins root

从某组中删除用户

deluser <username> <groupname>


添加用户组

groupadd your_group


删除用户组

delgroup your_group


不在sudoers中

比如下面的redmine用户用sudo执行命令时遇到问题:

redmine@bi:~/redmine-2.5.1$ sudo bundle install --without development test  
[sudo] password for redmine: 
redmine is not in the sudoers file.  This incident will be reported.

解决方法是在root用户下用visudo编辑文件,加入一行:

redmine ALL=(ALL) ALL

文件权限管理

更改文件拥有者

chown 意思是change owner

用法是

chown username:groupname filepath

或者

chown -R username:groupname folderpath

修改文件权限

用chmod命令

以某用户身份执行命令

比如在gitlab安装时经常用到的命令:

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

这里 sudo -u git -H 就是用git账号的身份,在git的Home目录下/home/git下运行 'exec ...' 命令


还有一种

su - jenkins

这样,将从root切换到jenkins帐号,并且进入了jenkins用户的home目录/var/lib/jenkins

如果无法装换,应该是/etc/passwd文件中的bin/bash被设置成了bin/false,改过啦即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值