每次都去查,总是记不住,最终还是在这里做个笔记吧。
cat /etc/passwd 可以查看所有用户的信息,比如刚才创建的gerrit2用户
gerrit2:x:1002:1002:gerrit2,101,186525810**,186525810**:/home/gerrit2:/bin/bash基本格式:
注意:
1.口令 这里用x 表示
真正的密码放在了/etc/shadow文件,这是shadow文件里面gerrit2的密码:
gerrit2:$6$v7uh0ctV$borVraMjOPhMjYV8YCVcmwylKb84djRm5yVWNbKYHxrcFLLqlSsx.hbcW.Ouk2A05CyChx7zZlRV3wZMuH0hE0:15480:0:99999:7:::已经被加密了,所以比较安全。
2.组标识号对应/etc/group中一行
可以用下面的命令查找:
root@ci:~# cat /etc/group | grep 65534 nogroup:x:65534:
gerrit2:x:1002:
group文件格式参考:http://www.aka.org.cn/Lectures/002/Lecture-2.2.1/340.html
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用户以及用户目录都删除了。
sudo passwd 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
比如下面的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.
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
还有一种
su - jenkins
这样,将从root切换到jenkins帐号,并且进入了jenkins用户的home目录/var/lib/jenkins
如果无法装换,应该是/etc/passwd文件中的bin/bash被设置成了bin/false,改过啦即可。