- How do you rename root?
- 5 Answers 5
- Как переименовать root’а?
- Re: Как переименовать root’а?
- Re: Re: Как переименовать root’а?
- Re: Re: Re: Как переименовать root’а?
- Re: Как переименовать root’а?
- Re: Re: Как переименовать root’а?
- Re: Re: Как переименовать root’а?
- Re: Re: Re: Как переименовать root’а?
- Re: Как переименовать root’а?
- Re: Как переименовать root’а?
- Re: Re: Как переименовать root’а?
- Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
- Re: Как переименовать root’а??
How do you rename root?
Not that it’s a very good idea to change it, but for fun. According to this post, there are still some problems even after changing entries in /etc/passwd , /etc/shadow , and /etc/sudoers . Any suggestions?
7 years later, I’m wondering if you went ahead with it and what sort of BadStuff happened because of it. ^_^
5 Answers 5
Theoretically, changing it in /etc/passwd and /etc/shadow would be all you need to ‘rename’ root. The problem occurs because pretty much every single piece of Unix software in existence assumes that the username ‘root’ exists and that it is the superuser — mail aliases, various daemons, cron.
If you’re really hell bent on trying it, find /etc -type f -exec grep -l root <> + should be a good start at finding a list of every config file you’ll probably need to change — but like you already said, this is a really bad idea in almost every conceivable situation.
EDIT Another thought — if you haven’t already (which you should have), make sure that /etc/aliases contains an entry for root and a username that exists or an email address that evaluates correctly. A lot of automated systemwide tasks ( cron for instance) send their output by email to root , which is traditionally aliased to the systems administrator(s) responsible for that system’s operations.
is it? i thought most of the apps go for UID and not the name.i think ideally, no application should assume «root= UID 0»
@yxkb: You’re right no application should assume that. But I’d really like to recieve 1$ for every application or script that does! 🙂
Indeed. Let’s think of all the times we’ve all personally written chown root … or similar in a shell script.
All this fear mongering, saying «Don’t do it!» is ridiculous. At one time, yeah, it probably did break lots of badly written scripts, but I suspect those are not so common any longer; at least not in the standard distributions.
We’ve been told to rename the root account on a subset of linux servers. So, after attempting to research how to go about doing this correctly, I, instead found many, many posts saying «Don’t do it!» with lots of dire warnings of «bad stuff» happening if you choose to do this. But, I have yet to find any with concrete examples of the «bad stuff» that could happen.
So, let me back up and explain where I am, and how we got here. We’re building a PCI compliant environment, and one of the tools that helps us meet those «requirements» is telling us we need to rename the root and administrator and guest accounts to something else. For those uneducated about PCI, you have the option of either following the guidelines or documenting why you either can’t or choose not to follow that guideline, and what mitigating strategy you have to keep the systems safe. So, I imagine most places document why they aren’t going to rename their root accounts, however, our group has decided that, if we can rename the windows administrator accounts without problem, were going to rename the linux root accounts as well.
I am well versed in the «security through obscurity» arguments; I know just changing the root account name doesn’t actually improve security by a lot, root should be disabled at SSH, etc. I know, that’s not the point, I’m not interested in hearing more. I’m also not interested in more «the sky will fall» warnings. I’m looking for statements like this: «>this bad thing< will happen with >this standard package< (unless you >do this<)".
So far I have 3 CentOS (RHEL) systems that apparently have no issues with renaming the root account. Here’s what I did: I changed the account name in /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow. Then grepped for the name root in /etc/ and modified the postfix aliases file so that root was an alias to our new account name, call it rojotoro. (Something similar should be done for other email systems). I also found that I needed to change some configurations for logrotate when describing who should own the files it would create automatically. And that has been all I have changed thus far.
I’ve looked at many init.d scripts, but haven’t changed anything, and everything appears to start just fine at boot. I have to specify the new account when using sudo: «sudo -u rojotoro vim /etc/passwd» as an example, but I didn’t actually need to change anything within the sudoers file. I expected maybe some issues with selinux which we have on and enforcing, but thus far I’ve not needed to touch that system.
I can also see that mkdev or mkfs scripts may need to be adjusted, but I don’t plan on using those, so I haven’t looked at them with the scrutiny they deserve.
If it truly is this easy to change with no ill effects on an selinux enabled system, why the continuation of all the fear mongering?
Как переименовать root’а?
Нужно, чтобы в системе не было пользователя root. Вообще не было, но естественно, администратор имелся, но под другим именем. Как это сделать наиболее корректным способом? Читал когда-то описание но забыл.
Re: Как переименовать root’а?
Если никаких особых наворотов типа LDAP и пр. не используешь, то замени имя в /etc/shadow.
Re: Re: Как переименовать root’а?
LDAP’а нет. Но интересно стало — что с ним не так?
Re: Re: Re: Как переименовать root’а?
С кем, с LDAP’ом? Ну, я LDAPе поднимал, поэтому не могу дать точных инструкций при его наличии, а так, думаю, всё то же. Хотя, возможно появление проблем в неготорых прогах и, особенно, в скриптах, в которых написано что-нибудь типа «chown root:root filename». В общем, переименование root’а is not recommended.
Re: Как переименовать root’а?
Смысл? Суперпользователь имеет uid==0 и gid==0. И по этим признакам однозначно вычисляется. Хоть горшком назови, но /etc/passwd доступен для чтения всем, так что grep «:0:0:» /etc/passwd и все «руты» как на ладони. Закрывать же /etc/passwd на чтение нельзя.
А способ был указан (поправить /etc/passwd и /etc/shadow). Это если нет всяких ldap или TCB (примочка имени ALT Linux).
Re: Re: Как переименовать root’а?
> TCB (примочка имени ALT Linux).
ну, давайте не передергивать факты, TCB — все-таки не «имени ALT Linux» а, скорее, Solar Designer’a, http://www.openwall.com/tcb/
Re: Re: Как переименовать root’а?
> /etc/passwd доступен для чтения всем, так что grep «:0:0:» /etc/passwd
А если в /etc/passwd будет root, а в /etc/shadow как-то по-другому? Ничего не сломается? 🙂
Re: Re: Re: Как переименовать root’а?
Сломается. Допустим, мы поменяли в /etc/shadow root на vasya. Что делать программе /bin/login? Откуда она должна узнать, какой у васи uid и gid? Где его домашняя дира и какой шел он юзает? Эта инфа есть в /etc/passwd. Но в /etc/passwd нет васи.
На самом деле все еще интереснее. Сначала /bin/login лезет в /etc/passwd. И если не обнаруживает там логин юзера, то пишет Login incorrect. Если обнаруживает, то смотрит в поле «пароль». Если оно пустое, значит пароля нет, и в /etc/shadow лезть незачем. Если там ‘x’, значит пароль в /etc/shadow. Если же «*», значит логин запрещен.
Re: Как переименовать root’а?
Делюсь личным опытом ! лет 5 назад проводил такой эксперимент по переименованию рута ! Тогда потерпел неудачу . Столкнулся с тем, что существуют не только скрипты опирающиеся на root но и были прогрммы скомпилированые и опиравшиеся на root Многие скажут можно поменять в сырцах ! Да можно, но в моем случае овчинка не стоила выделки !
Re: Как переименовать root’а?
А не логично ли сделать рута нелогинным, а перед этим настроить sudo на беспарольное подчинение real_administrator-у?
1. Нельзя залогиниться рутом, следовательно, меньше шансов запороть систему (пока набираешь sudo, успеваешь задуматься: а не ступил ли я?)
2. У взхоббита будет больше головной боли, а значит возможно он сам ступИт, что опять же приятно.
3. Никакие зависимости не страдают.
4. Наконец, если ну совсем уж надо в рута, то sudo sh и вперед (у меня обычно sudo mc, все-таки удалять из него безопаснее, опечататься сложнее).
5. 3-4 года назад в слаке сидел рутом, 1-2 года назад под юзером и su из терминала, сейчас почти исключительно sudo — и я не могу назвать это регрессом.
P.S. Я вообще-то не знаю, для какой конкретно цели root-а переименовывают, но если для вящей безопасности то вроде все правильно сказал.
Re: Re: Как переименовать root’а?
Интерес был, скорее академический, точнее с заделом на будущее. Спасибо за рекомендации. Хотя, наверное, использовать все время sudo вместо su может утомить. Но где-нибудь на серваке оно правильнее.
Как переименовать root’а??
Как поменять имя администратора?? ‘root’ — мне ненравится чисто по личным причинам.
Re: Как переименовать root’а??
> мне ненравится чисто по личным причинам.
Хочешь поговорить об этом?
Re: Как переименовать root’а??
Уже выбрал имя? Например — baron, как в beos5?
Re: Как переименовать root’а??
Re: Как переименовать root’а??
>’root’ — мне ненравится чисто по личным причинам.
Подрисуй к нему усики и рожки.
Потом зайди под root’ом и пользователю с наиболее благозвучным именем присвой PID = 0, a root’у его или любой больше 500 и посмотри что получится.
Re: Как переименовать root’а??
Re: Как переименовать root’а??
мда, нельзя нормально ответить, без детского дурачества?
Re: Как переименовать root’а??
Такими вопросами только дети, страдающие безделием, и задаются..
Остальным пофиг, root там, toor или самодержец
Re: Как переименовать root’а??
man 5 passwd
man 5 group
Там всё написано. Правишь эти файлы — и всё ок 🙂
Re: Как переименовать root’а??
>нельзя нормально ответить, без детского дурачества?
А почитать самому основы, понять, что от имени root’а запускаются важнейшие процессы и т.п.? Понять, что это придется сделать не только в одном файле? Что имя может быть и в бинарных файлах? Что для обеспечения 100% работоспособности нужно править исходники ВСЕГО дистрибутива? И исходники позднее добавляемых программ?
Так что тебе объяснить? Что такое find? Или как написать скрипт который заменит это слово во всех исходниках? Или как потом это откомпилировать?
Re: Как переименовать root’а??
Зря смеётесь. При отсутствии root злоумышленник при удалённой атаке должен ещё отыскать имя суперадминистратора, а не только пароль к нему. Ещё один уровень безопасности, если root на каждой машине — разный. Или прикол, когда злоумышленник, заполучив root, получает права nobody.
Re: Как переименовать root’а??
>Ещё один уровень безопасности, если root на каждой машине — разный.
Это защита от тебя. ID суперпользователя всегда = 0.