ubuntu下ubuntu 禁止用户登录录shell的默认目录是用户的主目录而不是/bin/bash呢

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
稍有积蓄, 积分 475, 距离下一级还需 25 积分
论坛徽章:0
因为我没有挂载/export/home目录\r\n所以我现在新建个用户目录都在/home下面\r\n但我不想让用户的默认目录在这里,不知道怎么样才可以实现?\r\n\r\n修改passwd文件太烦,一个用户还可以,多个就不行\r\nusermod -d /local好像也不行,提示参数部队。。。\r\n/etc/default下面没有useradd文件,郁闷。。。。\r\n\r\n高手赐教,谢谢
小富即安, 积分 2369, 距离下一级还需 2631 积分
论坛徽章:0
[root@ecore home]#usermod -d /export/home/ecore/ -s /usr/bin/bash ecore\r\n[root@ecore home]#grep ecore /etc/passwd\r\necore:100:1::/export/home/ecore/:/usr/bin/bash\r\n[root@ecore home]#\r\n\r\n\r\n\r\n[root@ecore home]#which useradd\r\n/usr/sbin/useradd\r\n[root@ecore home]#
家境小康, 积分 1983, 距离下一级还需 17 积分
论坛徽章:0
原帖由 geyun616 于
12:45 发表\r\n因为我没有挂载/export/home目录\r\n所以我现在新建个用户目录都在/home下面\r\n但我不想让用户的默认目录在这里,不知道怎么样才可以实现?\r\n\r\n修改passwd文件太烦,一个用户还可以,多个就不行\r\nusermod -d /local好 ... \r\n\r\n\r\n多个用户就不行了?\r\n\r\n如果如你说,都是把 /export/home 改为 /home ,\r\n\r\n为什么不行呢?
白手起家, 积分 69, 距离下一级还需 131 积分
论坛徽章:0
\&\&/export/home 改为 /home&&\&\& 你在哪里改的?
稍有积蓄, 积分 475, 距离下一级还需 25 积分
论坛徽章:0
我想改的是默认创建用户时,用户的home目录。不是创建好了再改。\r\n不知道如何实现?
小富即安, 积分 2369, 距离下一级还需 2631 积分
论坛徽章:0
我也想知道使用useradd user的时候,如何让系统自动帮着在指定的位置建好目录
小富即安, 积分 2369, 距离下一级还需 2631 积分
论坛徽章:0
root@sola10[/]#useradd -D\r\ngroup=other,1&&project=default,3&&basedir=/export/home\r\nskel=/etc/skel&&shell=/bin/sh&&inactive=0\r\nexpire=&&auths=&&profiles=&&roles=&&limitpriv=\r\ndefaultpriv=&&lock_after_retries=\r\nroot@sola10[/]#useradd -D -b /tmp\r\ngroup=other,1&&project=default,3&&basedir=/tmp\r\nskel=/etc/skel&&shell=/bin/sh&&inactive=0\r\nexpire=&&auths=&&profiles=&&roles=&&limitpriv=\r\ndefaultpriv=&&lock_after_retries=\r\nroot@sola10[/]#cd /tmp\r\nroot@sola10[/tmp]#ls\r\ndtdbcache_192.168.7\r\nroot@sola10[/tmp]#useradd -m test\r\n64 块\r\nroot@sola10[/tmp]#ls\r\ndtdbcache_192.168.7&&test\r\nroot@sola10[/tmp]#ls -l\r\n总数 584\r\n-rw-------& &1 root& &&&root& && &月 24日 21:27 dtdbcache_192.168.7\r\ndrwxr-xr-x& &2 test& &&&other& && &&&244 10月 24日 22:39 test\r\nroot@sola10[/tmp]#\r\nroot@sola10[/tmp]#\r\n\r\n可以通过修改basedir的值来改变用户默认主目录位置.\n\n[ 本帖最后由 Ecore 于
22:46 编辑 ]
家境小康, 积分 1500, 距离下一级还需 500 积分
论坛徽章:0
如果改passwd文件\r\n#vi /etc/passwd\r\n\r\n:%s/\\/export\\/home/\\/home/g
小富即安, 积分 2369, 距离下一级还需 2631 积分
论坛徽章:0
wo fuck..怎么就没一个人仔细看问题的.
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处linux 修改用户默认shell(转)
因为使用 useradd 添加用户时, 默认配给用户的是最原始的 sh 而不是常用的 bash, 所以很多命令都不能使用, 下面提供相关的修改方法.
修改用户的 Shell
如果你没有管理员权限, 那么你只能修改自己的 Shell, 输入 chsh 命令.
这时你会获得提醒, 要求输入新的 Shell 应用路径. 如果你要换成 bash, 请输入 /bin/bash 并回车确认.
Enter the new value, or press ENTER for the default
Login Shell [/bin/sh]:
如果你是牛逼的管理员, 那么恭喜你, 除了使用 chsh 命令, 你还可以通过修改配置文件批量修改.
# vi /etc/passwd
打开 /etc/passwd 文件, 你将看到所有用户及其使用的 Shell, 会有很多行类似这样的内容, 每行是一个用户.
zhao.wuz:x:1003:33::/home/zhao.wuz:/bin/sh
这里只需要件 /bin/sh 改成 /bin/bash 即可.
zhao.wuz:x:1003:33::/home/zhao.wuz:/bin/bash
添加用户时指定 Shell
在添加用户时可以通过以下命令指定 Shell.
# useradd -s /bin/bash {用户昵称}
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!关于登陆shell和非登陆shell的区别
问题描述:
实验室有一台用于Linux教学用的机器,为每一个学生在上面建了一个用户,作为上课用的。而我呢,正在做VLSI实验。因为那台机器持久开着,所以我为了方便就在上面也建了一个用户,用于VLSI实验。
Cadence环境是在csh下的。但是管理员给我建的用户默认的是bash环境,我又没有超级用户密码,也不想麻烦管理员。于是我就想了个办法。修改.bashrc文件增加一行/bin/csh。让自启动一个csh,就可以啦。
问题解决:
刚才把问题搞明白啦,原来我在.bashrc文件中还加上了这么一句export SHELL=/bin/csh。这样的话我图形界面登陆后,系统的shell环境变量就已经被设置成啦/bin/csh,因此你启动一个终端shell时都会默认进入csh环境。怪不得ps出来只有csh呢。这样我吧export SHELL=/bin/csh。再重新登陆到图形界面,打开一个终端shell,ps就会显示出bash建立了csh。
问题描述:
还遇到一个问题。csh没有命令自动补齐,只要环境设置好,我就可以回到bash下啦。于是我就想在.cshrc文件中加入一行exit。但是好像并不执行exit。这是为什么呢?没有找到问题的答案。
通过解决这些问题,顺便了解一下登陆shell和非登陆shell的区别【摘】
家目录下的配置文件.bashrc中rc的含义是resource configuration
什么是登陆shell?什么是非登陆shell?
登陆shell是指:(1)用户登陆时,输入用户名和密码后启动的shell;(2)通过带--login参数的命令:bash --login而启动的shell。对于用户来说,登陆shell和非登陆shell的主要区别是:启动shell时所执行的startup文件不同。我在/etc/profile、~/.bash_profile、~/.bashrc三个文件中分别通过echo命令打印出文件名。执行命令如下所示:
bash --login
etc/profile
.bash_profile
上面的结果说明:登陆shell执行startup文件为:/etc/profile、~/.bash_profile、~/.bashrc(这里只是从现象上得出的推论,这种推论是有问题的,稍后讨论),而非登陆shell执行的startup文件仅为:~/.bashrc。
bash作为登陆shell是由/etc/login程序解析/etc/passwd文件而指定的,例如:wangjk:x::wangjiankun,,,:/home/wangjk:/bin/bash,其中红色域指定了用户的登录shell是bash。
事实上,bash作为登陆shell启动时执行的startup文件如下:
/etc/profile
~/.bash_profile,~/.bash_login or ~/.profile, first existing readable file is read
而bash作为非登陆shell启动时读取~/.bashrc。注意,作为登陆shell时bash并不读取~/.bashrc,但是在文件~/.bash_profile中通常都有如下语句来读取~/.bashrc:
~/.bashrc ]; then . ~/. fi
以上讨论的是交互式bash shell,其实shell有两种工作模式,就是:交互式和非交互式,执行脚本时,shell就工作在非交互式模式下。在非交互模式下,bash读取的startup文件由环境变量BASH_ENV来决定,例如,我在~/.test文件中用echo命令打印语句:I test non-interactive shell,在test.sh脚本中打印语句:this file is test.sh,运行输出结果如下:
echo $BASH_ENV
this file is test.sh
export BASH_ENV=~/.test
I test non-interactive shell
this file is test.sh
注意,中间的那个空行表示环境变量BASH_ENV为空,所以第一次运行脚本test.sh时只输出了一句话,在定义了环境变量BASH_ENV为~/.test以后运行脚本test.sh就打印了两句话其中第一句是运行文件~/.test打印出来的。
本文来自CSDN博客,转载请标明出处:
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第03章多用户与多任务管理.pptx 118页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
第03章多用户与多任务管理
你可能关注的文档:
··········
··········
第3章多用户与多任务管理主讲人: 梁如军本章内容要点账户实质账户文件账户设置口令管理权限表示权限设置进程概述进程管理作业控制梁如军()Creative Commons License(BY-NC-SA)本章学习目标 熟悉账户配置文件学会设置和管理口令理解Linux系统的权限掌握设置基本操作权限学会设置特殊权限学会设置ext2/3/4 的文件扩展属性学会设置FACL权限理解进程相关概念掌握如何运行后台进程及注销后继续执行掌握进程管理命令的使用掌握作业控制的命令及快捷键的使用梁如军()Creative Commons License(BY-NC-SA)账户管理的相关概念梁如军()Creative Commons License(BY-NC-SA)账户实质梁如军()Creative Commons License(BY-NC-SA)账户实质上就是一个用户在系统上的标识系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、shell版本、以及X-Window环境的配置等),使每个用户的工作都能独立不受干扰地进行。Linux中的账户包括用户账户组账户用户Linux系统下的用户账户(简称用户)有两种普通用户账户:在系统上的任务是进行普通工作超级用户账户(或管理员账户):在系统上的任务是对普通用户和整个系统进行管理。每个用户都被分配了一个唯一的用户ID号(UID) 超级用户:UID=0,GID=0普通用户:UID>=1000系统用户(伪用户,不可登录):0<UID<1000梁如军()Creative Commons License(BY-NC-SA)用户(续)梁如军()Creative Commons License(BY-NC-SA)用户名和 UID 被保存在 /etc/passwd 这个文件中 当用户登录时,他们被分配了一个主目录和一个运行的程序(通常是 shell) 若无适当权限,用户无法读取、写入或执行彼此的文件组梁如军()Creative Commons License(BY-NC-SA)组是用户的集合。每个组都被分配了一个唯一的组ID号(GID) 组和GID 被保存在 /etc/group 文件中 每个用户都有他们自己的私有组 每个用户都可以被添加到其他组中来获得额外的存取权限 组中的所有用户都可以共享属于该组的文件标准组和私有组标准组标准组可以容纳多个用户若使用标准组,在创建一个新的用户时就应该指定他所属于的组私有组私有组中只有用户自己当在创建一个新用户时, 若没有指定他所属于的组,RHEL/CentOS就建立一个和该用户同名的私有组,且用户被分配到这个私有组中优点:防止新文件归 “公共” 组所有 缺点:可能会鼓励创建 “任何人都可以访问” 的文件梁如军()Creative Commons License(BY-NC-SA)用户和组的关系梁如军()Creative Commons License(BY-NC-SA)组是用户的集合。一个标准组可以容纳多个用户。同一个用户可以同属于多个组,这些组可以是私有组,也可以是标准组。当一个用户同属于多个组时,将这些组分为:主组(初始组):用户登录系统时的组。附加组:登录后可切换的其他组。Red Hat 的账户管理默认启用shadow passwords功能。 /etc/passwd文件对任何用户均可读, 为了增加系统的安全性, 用户的口令通常用shadow passwords保护。经过shadow passwords保护的账户密码和相关设置信息保存在/etc/shadow文件里。 /etc/shadow只对root用户可读。默认使用sha512哈希算法存储用户的口令。一般不设置组口令。因为绝大多数应用程序不使用它。建议尽量使用私有组来提高系统安全性。管理工具由 shadow-utils 软件包提供。不建议管理员直接编辑修改系统账户文件来维护账户。梁如军()Creative Commons License(BY-NC-SA)账户验证信息文件梁如军()Creative Commons License(BY-NC-SA)口令文件 /etc/passwd 文件权限 (-rw-r--r--)影子口令文件 /etc/shadow文件权限 (-r-----
正在加载中,请稍后...ubuntu下chsh命令无法改变默认shell的问题(已解决)
系统:ubuntu 9.04
一linux教材中说:“在登陆后,键入 chsh 并按&Enter&可以改变默认 shell。根据系统的不同,您可能被要求输入您登陆的密码与将要使用的 shell 的名字。请输入将要使用的 shell 的完整路径,比如输入 /bin/tcsh 表示改变到 TC shell。不过这种方式要求您是系统管理员才行,换句话说,您要以 root 用户的身份登录。“
根据教材,我输入"chsh“命令,然后输入口令,输入登录shell,回车之后没有任何提示,也没有进入到 tcsh:
------------------------------------------------
正在更改 username 的 shell
请输入新值,或直接敲回车键以使用默认值
登录 Shell [/bin/tcsh]: /bin/tcsh
-------------------------------------------------
使用 sudo chsh 也是一样:
---------------------------------------------------
~$ sudo chsh
[sudo] password for username:
正在更改 root 的 shell
请输入新值,或直接敲回车键以使用默认值
登录 Shell [/bin/tcsh]: /bin/tcsh
---------------------------------------------------
在终端输入 tcsh 可以进入到 tcsh shell,如下:
-----------------------------------------------------
kxx-desktop:~&
---------------------------------------------------------
chsh 命令是改变登陆shell,需要重启才能看到效果。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 ubuntu设置用户主目录 的文章

 

随机推荐